From 0e9f2aac743bddac334ec0df9b3175a9a0cc2bec Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Wed, 7 Nov 2012 21:23:20 +0000 Subject: [PATCH 001/186] Create a threadpool API for Asterisk. A common theme for a lot of feature development has been that a thread pool would be useful. In this branch, I plan to implement a generic thread pool whose policies can be controlled by listeners who react to activity in the pool. This will more-or-less be a C implementation of the thread pool implemented in Asterisk SCF. The first victim^W entity to use the thread pool will be the PBX. It currently allocates a new thread for each new call and tears it down when the call is completed. Using a thread pool could be useful for systems that have a steady amount of traffic on them. This may, just *may*, also find use in the new chan_sip that is being developed. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376024 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From f28061145f16d834d0ecee4d8c5bb605d957d7f8 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Wed, 7 Nov 2012 21:28:16 +0000 Subject: [PATCH 002/186] Get that automerge rollin' git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376025 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From f69513b85b064ff1ff784b178035b37762cd047d Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 8 Nov 2012 18:19:49 +0000 Subject: [PATCH 003/186] Merged revisions 376049 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376049 | rmudgett | 2012-11-08 11:38:31 -0600 (Thu, 08 Nov 2012) | 41 lines Add MALLOC_DEBUG enhancements. * Makes malloc() behave like calloc(). It will return a memory block filled with 0x55. A nonzero value. * Makes free() fill the released memory block and boundary fence's with 0xdeaddead. Any pointer use after free is going to have a pointer pointing to 0xdeaddead. The 0xdeaddead pointer is usually an invalid memory address so a crash is expected. * Puts the freed memory block into a circular array so it is not reused immediately. * When the circular array rotates out a memory block to the heap it checks that the memory has not been altered from 0xdeaddead. * Made the astmm_log message wording better. * Made crash if the DO_CRASH menuselect option is enabled and something is found. * Fixed a potential alignment issue on 64 bit systems. struct ast_region.data[] should now be aligned correctly for all platforms. * Extracted region_check_fences() from __ast_free_region() and handle_memory_show(). * Updated handle_memory_show() CLI usage help. Review: https://reviewboard.asterisk.org/r/2182/ ........ Merged revisions 376029 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376030 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376048 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376054 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/astmm.h | 3 +- include/asterisk/utils.h | 29 +-- main/asterisk.c | 10 +- main/astmm.c | 515 ++++++++++++++++++++++++++++++--------- main/utils.c | 32 +++ 5 files changed, 456 insertions(+), 133 deletions(-) diff --git a/include/asterisk/astmm.h b/include/asterisk/astmm.h index a812ed79a6..c2a717550e 100644 --- a/include/asterisk/astmm.h +++ b/include/asterisk/astmm.h @@ -65,7 +65,8 @@ int __ast_asprintf(const char *file, int lineno, const char *func, char **strp, __attribute__((format(printf, 5, 6))); int __ast_vasprintf(char **strp, const char *format, va_list ap, const char *file, int lineno, const char *func) __attribute__((format(printf, 2, 0))); -void __ast_mm_init(void); +void __ast_mm_init_phase_1(void); +void __ast_mm_init_phase_2(void); /* Provide our own definitions */ diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index e28e33267c..7830b85fc5 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -729,32 +729,27 @@ int ast_parse_digest(const char *digest, struct ast_http_digest *d, int request, #ifdef AST_DEVMODE +void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function); #define ast_assert(a) _ast_assert(a, # a, __FILE__, __LINE__, __PRETTY_FUNCTION__) -static void force_inline _ast_assert(int condition, const char *condition_str, - const char *file, int line, const char *function) +static void force_inline _ast_assert(int condition, const char *condition_str, const char *file, int line, const char *function) { if (__builtin_expect(!condition, 1)) { - /* Attempt to put it into the logger, but hope that at least someone saw the - * message on stderr ... */ - ast_log(__LOG_ERROR, file, line, function, "FRACK!, Failed assertion %s (%d)\n", - condition_str, condition); - fprintf(stderr, "FRACK!, Failed assertion %s (%d) at line %d in %s of %s\n", - condition_str, condition, line, function, file); - /* Give the logger a chance to get the message out, just in case we abort(), or - * Asterisk crashes due to whatever problem just happened after we exit ast_assert(). */ - usleep(1); -#ifdef DO_CRASH - abort(); - /* Just in case abort() doesn't work or something else super silly, - * and for Qwell's amusement. */ - *((int*)0)=0; -#endif + __ast_assert_failed(condition, condition_str, file, line, function); } } #else #define ast_assert(a) #endif +/*! + * \brief Force a crash if DO_CRASH is defined. + * + * \note If DO_CRASH is not defined then the function returns. + * + * \return Nothing + */ +void ast_do_crash(void); + #include "asterisk/strings.h" /*! diff --git a/main/asterisk.c b/main/asterisk.c index 80643b15a9..b9e45d01df 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -3545,6 +3545,10 @@ int main(int argc, char *argv[]) int moduleresult; /*!< Result from the module load subsystem */ struct rlimit l; +#if defined(__AST_DEBUG_MALLOC) + __ast_mm_init_phase_1(); +#endif /* defined(__AST_DEBUG_MALLOC) */ + /* Remember original args for restart */ if (argc > ARRAY_LEN(_argv) - 1) { fprintf(stderr, "Truncating argument size to %d\n", (int)ARRAY_LEN(_argv) - 1); @@ -4231,9 +4235,9 @@ int main(int argc, char *argv[]) pthread_sigmask(SIG_UNBLOCK, &sigs, NULL); -#ifdef __AST_DEBUG_MALLOC - __ast_mm_init(); -#endif +#if defined(__AST_DEBUG_MALLOC) + __ast_mm_init_phase_2(); +#endif /* defined(__AST_DEBUG_MALLOC) */ ast_lastreloadtime = ast_startuptime = ast_tvnow(); ast_cli_register_multiple(cli_asterisk, ARRAY_LEN(cli_asterisk)); diff --git a/main/astmm.c b/main/astmm.c index e469d60ad1..983fb2324e 100644 --- a/main/astmm.c +++ b/main/astmm.c @@ -1,7 +1,7 @@ /* * Asterisk -- An open source telephony toolkit. * - * Copyright (C) 1999 - 2006, Digium, Inc. + * Copyright (C) 1999 - 2012, Digium, Inc. * * Mark Spencer * @@ -21,6 +21,7 @@ * \brief Memory Management * * \author Mark Spencer + * \author Richard Mudgett */ /*** MODULEINFO @@ -29,7 +30,7 @@ #include "asterisk.h" -#ifdef __AST_DEBUG_MALLOC +#if defined(__AST_DEBUG_MALLOC) ASTERISK_FILE_VERSION(__FILE__, "$Revision$") @@ -64,36 +65,63 @@ enum func_type { #undef vasprintf #undef asprintf -#define FENCE_MAGIC 0xdeadbeef +#define FENCE_MAGIC 0xdeadbeef /*!< Allocated memory high/low fence overwrite check. */ +#define FREED_MAGIC 0xdeaddead /*!< Freed memory wipe filler. */ +#define MALLOC_FILLER 0x55 /*!< Malloced memory filler. Must not be zero. */ static FILE *mmlog; -/* NOTE: Be EXTREMELY careful with modifying this structure; the total size of this structure - must result in 'automatic' alignment so that the 'fence' field lands exactly at the end of - the structure in memory (and thus immediately before the allocated region the fence is - supposed to be used to monitor). In other words, we cannot allow the compiler to insert - any padding between this structure and anything following it, so add up the sizes of all the - fields and compare to sizeof(struct ast_region)... if they don't match, then the compiler - is padding the structure and either the fields need to be rearranged to eliminate internal - padding, or a dummy field will need to be inserted before the 'fence' field to push it to - the end of the actual space it will consume. Note that this must be checked for both 32-bit - and 64-bit platforms, as the sizes of pointers and 'size_t' differ on these platforms. -*/ - -static struct ast_region { +struct ast_region { struct ast_region *next; size_t len; - char file[64]; - char func[40]; + unsigned int cache; /* region was allocated as part of a cache pool */ unsigned int lineno; enum func_type which; - unsigned int cache; /* region was allocated as part of a cache pool */ - unsigned int fence; - unsigned char data[0]; -} *regions[SOME_PRIME]; + char file[64]; + char func[40]; -#define HASH(a) \ - (((unsigned long)(a)) % SOME_PRIME) + /*! + * \brief Lower guard fence. + * + * \note Must be right before data[]. + * + * \note Padding between fence and data[] is irrelevent because + * data[] is used to fill in the lower fence check value and not + * the fence member. The fence member is to ensure that there + * is space reserved for the fence check value. + */ + unsigned int fence; + /*! + * \brief Location of the requested malloc block to return. + * + * \note Must have the same alignment that malloc returns. + * i.e., It is suitably aligned for any kind of varible. + */ + unsigned char data[0] __attribute__((aligned)); +}; + +/*! Hash table of lists of active allocated memory regions. */ +static struct ast_region *regions[SOME_PRIME]; + +/*! Number of freed regions to keep around to delay actually freeing them. */ +#define FREED_MAX_COUNT 1500 + +/*! Maximum size of a minnow block */ +#define MINNOWS_MAX_SIZE 50 + +struct ast_freed_regions { + /*! Memory regions that have been freed. */ + struct ast_region *regions[FREED_MAX_COUNT]; + /*! Next index into freed regions[] to use. */ + int index; +}; + +/*! Large memory blocks that have been freed. */ +static struct ast_freed_regions whales; +/*! Small memory blocks that have been freed. */ +static struct ast_freed_regions minnows; + +#define HASH(a) (((unsigned long)(a)) % ARRAY_LEN(regions)) /*! Tracking this mutex will cause infinite recursion, as the mutex tracking * code allocates memory */ @@ -108,95 +136,265 @@ AST_MUTEX_DEFINE_STATIC_NOTRACKING(reglock); } \ } while (0) -static inline void *__ast_alloc_region(size_t size, const enum func_type which, const char *file, int lineno, const char *func, unsigned int cache) +/*! + * \internal + * + * \note If DO_CRASH is not defined then the function returns. + * + * \return Nothing + */ +static void my_do_crash(void) +{ + /* + * Give the logger a chance to get the message out, just in case + * we abort(), or Asterisk crashes due to whatever problem just + * happened. + */ + usleep(1); + ast_do_crash(); +} + +static void *__ast_alloc_region(size_t size, const enum func_type which, const char *file, int lineno, const char *func, unsigned int cache) { struct ast_region *reg; - void *ptr = NULL; unsigned int *fence; int hash; if (!(reg = malloc(size + sizeof(*reg) + sizeof(*fence)))) { - astmm_log("Memory Allocation Failure - '%d' bytes in function %s " - "at line %d of %s\n", (int) size, func, lineno, file); + astmm_log("Memory Allocation Failure - '%d' bytes at %s %s() line %d\n", + (int) size, file, func, lineno); return NULL; } + reg->len = size; + reg->cache = cache; + reg->lineno = lineno; + reg->which = which; ast_copy_string(reg->file, file, sizeof(reg->file)); ast_copy_string(reg->func, func, sizeof(reg->func)); - reg->lineno = lineno; - reg->len = size; - reg->which = which; - reg->cache = cache; - ptr = reg->data; - hash = HASH(ptr); - reg->fence = FENCE_MAGIC; - fence = (ptr + reg->len); + + /* + * Init lower fence. + * + * We use the bytes just preceeding reg->data and not reg->fence + * because there is likely to be padding between reg->fence and + * reg->data for reg->data alignment. + */ + fence = (unsigned int *) (reg->data - sizeof(*fence)); + *fence = FENCE_MAGIC; + + /* Init higher fence. */ + fence = (unsigned int *) (reg->data + reg->len); put_unaligned_uint32(fence, FENCE_MAGIC); + hash = HASH(reg->data); ast_mutex_lock(®lock); reg->next = regions[hash]; regions[hash] = reg; ast_mutex_unlock(®lock); - return ptr; + return reg->data; } -static inline size_t __ast_sizeof_region(void *ptr) +/*! + * \internal + * \brief Wipe the region payload data with a known value. + * + * \param reg Region block to be wiped. + * + * \return Nothing + */ +static void region_data_wipe(struct ast_region *reg) { - int hash = HASH(ptr); - struct ast_region *reg; - size_t len = 0; + void *end; + unsigned int *pos; - ast_mutex_lock(®lock); - for (reg = regions[hash]; reg; reg = reg->next) { - if (reg->data == ptr) { - len = reg->len; + /* + * Wipe the lower fence, the payload, and whatever amount of the + * higher fence that falls into alignment with the payload. + */ + end = reg->data + reg->len; + for (pos = ®->fence; (void *) pos <= end; ++pos) { + *pos = FREED_MAGIC; + } +} + +/*! + * \internal + * \brief Check the region payload data for memory corruption. + * + * \param reg Region block to be checked. + * + * \return Nothing + */ +static void region_data_check(struct ast_region *reg) +{ + void *end; + unsigned int *pos; + + /* + * Check the lower fence, the payload, and whatever amount of + * the higher fence that falls into alignment with the payload. + */ + end = reg->data + reg->len; + for (pos = ®->fence; (void *) pos <= end; ++pos) { + if (*pos != FREED_MAGIC) { + astmm_log("WARNING: Memory corrupted after free of %p allocated at %s %s() line %d\n", + reg->data, reg->file, reg->func, reg->lineno); + my_do_crash(); break; } } - ast_mutex_unlock(®lock); - - return len; } -static void __ast_free_region(void *ptr, const char *file, int lineno, const char *func) +/*! + * \internal + * \brief Flush the circular array of freed regions. + * + * \param freed Already freed region blocks storage. + * + * \return Nothing + */ +static void freed_regions_flush(struct ast_freed_regions *freed) +{ + int idx; + struct ast_region *old; + + ast_mutex_lock(®lock); + for (idx = 0; idx < ARRAY_LEN(freed->regions); ++idx) { + old = freed->regions[idx]; + freed->regions[idx] = NULL; + if (old) { + region_data_check(old); + free(old); + } + } + freed->index = 0; + ast_mutex_unlock(®lock); +} + +/*! + * \internal + * \brief Delay freeing a region block. + * + * \param freed Already freed region blocks storage. + * \param reg Region block to be freed. + * + * \return Nothing + */ +static void region_free(struct ast_freed_regions *freed, struct ast_region *reg) +{ + struct ast_region *old; + + region_data_wipe(reg); + + ast_mutex_lock(®lock); + old = freed->regions[freed->index]; + freed->regions[freed->index] = reg; + + ++freed->index; + if (ARRAY_LEN(freed->regions) <= freed->index) { + freed->index = 0; + } + ast_mutex_unlock(®lock); + + if (old) { + region_data_check(old); + free(old); + } +} + +/*! + * \internal + * \brief Remove a region from the active regions. + * + * \param ptr Region payload data pointer. + * + * \retval region on success. + * \retval NULL if not found. + */ +static struct ast_region *region_remove(void *ptr) { int hash; - struct ast_region *reg, *prev = NULL; - unsigned int *fence; - - if (!ptr) - return; + struct ast_region *reg; + struct ast_region *prev = NULL; hash = HASH(ptr); ast_mutex_lock(®lock); for (reg = regions[hash]; reg; reg = reg->next) { if (reg->data == ptr) { - if (prev) + if (prev) { prev->next = reg->next; - else + } else { regions[hash] = reg->next; + } break; } prev = reg; } ast_mutex_unlock(®lock); + return reg; +} + +/*! + * \internal + * \brief Check the fences of a region. + * + * \param reg Region block to check. + * + * \return Nothing + */ +static void region_check_fences(struct ast_region *reg) +{ + unsigned int *fence; + + /* + * We use the bytes just preceeding reg->data and not reg->fence + * because there is likely to be padding between reg->fence and + * reg->data for reg->data alignment. + */ + fence = (unsigned int *) (reg->data - sizeof(*fence)); + if (*fence != FENCE_MAGIC) { + astmm_log("WARNING: Low fence violation of %p allocated at %s %s() line %d\n", + reg->data, reg->file, reg->func, reg->lineno); + my_do_crash(); + } + fence = (unsigned int *) (reg->data + reg->len); + if (get_unaligned_uint32(fence) != FENCE_MAGIC) { + astmm_log("WARNING: High fence violation of %p allocated at %s %s() line %d\n", + reg->data, reg->file, reg->func, reg->lineno); + my_do_crash(); + } +} + +static void __ast_free_region(void *ptr, const char *file, int lineno, const char *func) +{ + struct ast_region *reg; + + if (!ptr) { + return; + } + + reg = region_remove(ptr); if (reg) { - fence = (unsigned int *)(reg->data + reg->len); - if (reg->fence != FENCE_MAGIC) { - astmm_log("WARNING: Low fence violation at %p, in %s of %s, " - "line %d\n", reg->data, reg->func, reg->file, reg->lineno); + region_check_fences(reg); + + if (reg->len <= MINNOWS_MAX_SIZE) { + region_free(&minnows, reg); + } else { + region_free(&whales, reg); } - if (get_unaligned_uint32(fence) != FENCE_MAGIC) { - astmm_log("WARNING: High fence violation at %p, in %s of %s, " - "line %d\n", reg->data, reg->func, reg->file, reg->lineno); - } - free(reg); } else { - astmm_log("WARNING: Freeing unused memory at %p, in %s of %s, line %d\n", - ptr, func, file, lineno); + /* + * This memory region is not registered. It could be because of + * a double free or the memory block was not allocated by the + * malloc debug code. + */ + astmm_log("WARNING: Freeing unregistered memory %p by %s %s() line %d\n", + ptr, file, func, lineno); + my_do_crash(); } } @@ -204,8 +402,10 @@ void *__ast_calloc(size_t nmemb, size_t size, const char *file, int lineno, cons { void *ptr; - if ((ptr = __ast_alloc_region(size * nmemb, FUNC_CALLOC, file, lineno, func, 0))) + ptr = __ast_alloc_region(size * nmemb, FUNC_CALLOC, file, lineno, func, 0); + if (ptr) { memset(ptr, 0, size * nmemb); + } return ptr; } @@ -214,15 +414,25 @@ void *__ast_calloc_cache(size_t nmemb, size_t size, const char *file, int lineno { void *ptr; - if ((ptr = __ast_alloc_region(size * nmemb, FUNC_CALLOC, file, lineno, func, 1))) + ptr = __ast_alloc_region(size * nmemb, FUNC_CALLOC, file, lineno, func, 1); + if (ptr) { memset(ptr, 0, size * nmemb); + } return ptr; } void *__ast_malloc(size_t size, const char *file, int lineno, const char *func) { - return __ast_alloc_region(size, FUNC_MALLOC, file, lineno, func, 0); + void *ptr; + + ptr = __ast_alloc_region(size, FUNC_MALLOC, file, lineno, func, 0); + if (ptr) { + /* Make sure that the malloced memory is not zero. */ + memset(ptr, MALLOC_FILLER, size); + } + + return ptr; } void __ast_free(void *ptr, const char *file, int lineno, const char *func) @@ -230,28 +440,71 @@ void __ast_free(void *ptr, const char *file, int lineno, const char *func) __ast_free_region(ptr, file, lineno, func); } +/*! + * \note reglock must be locked before calling. + */ +static struct ast_region *region_find(void *ptr) +{ + int hash; + struct ast_region *reg; + + hash = HASH(ptr); + for (reg = regions[hash]; reg; reg = reg->next) { + if (reg->data == ptr) { + break; + } + } + + return reg; +} + void *__ast_realloc(void *ptr, size_t size, const char *file, int lineno, const char *func) { - void *tmp; - size_t len = 0; + size_t len; + struct ast_region *found; + void *new_mem; - if (ptr && !(len = __ast_sizeof_region(ptr))) { - astmm_log("WARNING: Realloc of unalloced memory at %p, in %s of %s, " - "line %d\n", ptr, func, file, lineno); - return NULL; - } - - if (!(tmp = __ast_alloc_region(size, FUNC_REALLOC, file, lineno, func, 0))) - return NULL; - - if (len > size) - len = size; if (ptr) { - memcpy(tmp, ptr, len); - __ast_free_region(ptr, file, lineno, func); + ast_mutex_lock(®lock); + found = region_find(ptr); + if (!found) { + ast_mutex_unlock(®lock); + astmm_log("WARNING: Realloc of unregistered memory %p by %s %s() line %d\n", + ptr, file, func, lineno); + my_do_crash(); + return NULL; + } + len = found->len; + ast_mutex_unlock(®lock); + } else { + found = NULL; + len = 0; } - return tmp; + if (!size) { + __ast_free_region(ptr, file, lineno, func); + return NULL; + } + + new_mem = __ast_alloc_region(size, FUNC_REALLOC, file, lineno, func, 0); + if (new_mem) { + if (found) { + /* Copy the old data to the new malloced memory. */ + if (size <= len) { + memcpy(new_mem, ptr, size); + } else { + memcpy(new_mem, ptr, len); + /* Make sure that the added memory is not zero. */ + memset(new_mem + len, MALLOC_FILLER, size - len); + } + __ast_free_region(ptr, file, lineno, func); + } else { + /* Make sure that the malloced memory is not zero. */ + memset(new_mem, MALLOC_FILLER, size); + } + } + + return new_mem; } char *__ast_strdup(const char *s, const char *file, int lineno, const char *func) @@ -335,15 +588,16 @@ static char *handle_memory_show(struct ast_cli_entry *e, int cmd, struct ast_cli unsigned int len = 0; unsigned int cache_len = 0; unsigned int count = 0; - unsigned int *fence; switch (cmd) { case CLI_INIT: e->command = "memory show allocations"; e->usage = - "Usage: memory show allocations []\n" - " Dumps a list of all segments of allocated memory, optionally\n" - " limited to those from a specific file\n"; + "Usage: memory show allocations [|anomolies]\n" + " Dumps a list of segments of allocated memory.\n" + " Defaults to listing all memory allocations.\n" + " - Restricts output to memory allocated by the file.\n" + " anomolies - Only check for fence violations.\n"; return NULL; case CLI_GENERATE: return NULL; @@ -354,19 +608,10 @@ static char *handle_memory_show(struct ast_cli_entry *e, int cmd, struct ast_cli fn = a->argv[3]; ast_mutex_lock(®lock); - for (x = 0; x < SOME_PRIME; x++) { + for (x = 0; x < ARRAY_LEN(regions); x++) { for (reg = regions[x]; reg; reg = reg->next) { if (!fn || !strcasecmp(fn, reg->file) || !strcasecmp(fn, "anomolies")) { - fence = (unsigned int *)(reg->data + reg->len); - if (reg->fence != FENCE_MAGIC) { - astmm_log("WARNING: Low fence violation at %p, " - "in %s of %s, line %d\n", reg->data, - reg->func, reg->file, reg->lineno); - } - if (get_unaligned_uint32(fence) != FENCE_MAGIC) { - astmm_log("WARNING: High fence violation at %p, in %s of %s, " - "line %d\n", reg->data, reg->func, reg->file, reg->lineno); - } + region_check_fences(reg); } if (!fn || !strcasecmp(fn, reg->file)) { ast_cli(a->fd, "%10d bytes allocated%s in %20s at line %5d of %s\n", @@ -411,7 +656,7 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct e->usage = "Usage: memory show summary []\n" " Summarizes heap memory allocations by file, or optionally\n" - "by function, if a file is specified\n"; + " by function, if a file is specified.\n"; return NULL; case CLI_GENERATE: return NULL; @@ -421,7 +666,7 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct fn = a->argv[3]; ast_mutex_lock(®lock); - for (x = 0; x < SOME_PRIME; x++) { + for (x = 0; x < ARRAY_LEN(regions); x++) { for (reg = regions[x]; reg; reg = reg->next) { if (fn && strcasecmp(fn, reg->file)) continue; @@ -483,14 +728,55 @@ static struct ast_cli_entry cli_memory[] = { AST_CLI_DEFINE(handle_memory_show_summary, "Summarize outstanding memory allocations"), }; -void __ast_mm_init(void) +/*! + * \internal + * \return Nothing + */ +static void mm_atexit_final(void) +{ + FILE *log; + + /* Flush all delayed memory free circular arrays. */ + freed_regions_flush(&whales); + freed_regions_flush(&minnows); + + /* Close the log file. */ + log = mmlog; + mmlog = NULL; + if (log) { + fclose(log); + } +} + +/*! + * \brief Initialize malloc debug phase 1. + * + * \note Must be called first thing in main(). + * + * \return Nothing + */ +void __ast_mm_init_phase_1(void) +{ + atexit(mm_atexit_final); +} + +/*! + * \internal + * \return Nothing + */ +static void mm_atexit_ast(void) +{ + ast_cli_unregister_multiple(cli_memory, ARRAY_LEN(cli_memory)); +} + +/*! + * \brief Initialize malloc debug phase 2. + * + * \return Nothing + */ +void __ast_mm_init_phase_2(void) { char filename[PATH_MAX]; - size_t pad = sizeof(struct ast_region) - offsetof(struct ast_region, data); - - if (pad) { - ast_log(LOG_ERROR, "struct ast_region has %d bytes of padding! This must be eliminated for low-fence checking to work properly!\n", (int) pad); - } ast_cli_register_multiple(cli_memory, ARRAY_LEN(cli_memory)); @@ -498,10 +784,15 @@ void __ast_mm_init(void) ast_verb(1, "Asterisk Malloc Debugger Started (see %s))\n", filename); - if ((mmlog = fopen(filename, "a+"))) { - fprintf(mmlog, "%ld - New session\n", (long)time(NULL)); + mmlog = fopen(filename, "a+"); + if (mmlog) { + fprintf(mmlog, "%ld - New session\n", (long) time(NULL)); fflush(mmlog); + } else { + ast_log(LOG_ERROR, "Could not open malloc debug log file: %s\n", filename); } + + ast_register_atexit(mm_atexit_ast); } -#endif +#endif /* defined(__AST_DEBUG_MALLOC) */ diff --git a/main/utils.c b/main/utils.c index 3476729ced..d1736e93e0 100644 --- a/main/utils.c +++ b/main/utils.c @@ -2219,3 +2219,35 @@ char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size) return NULL; } +void ast_do_crash(void) +{ +#if defined(DO_CRASH) + abort(); + /* + * Just in case abort() doesn't work or something else super + * silly, and for Qwell's amusement. + */ + *((int *) 0) = 0; +#endif /* defined(DO_CRASH) */ +} + +#if defined(AST_DEVMODE) +void __ast_assert_failed(int condition, const char *condition_str, const char *file, int line, const char *function) +{ + /* + * Attempt to put it into the logger, but hope that at least + * someone saw the message on stderr ... + */ + ast_log(__LOG_ERROR, file, line, function, "FRACK!, Failed assertion %s (%d)\n", + condition_str, condition); + fprintf(stderr, "FRACK!, Failed assertion %s (%d) at line %d in %s of %s\n", + condition_str, condition, line, function, file); + /* + * Give the logger a chance to get the message out, just in case + * we abort(), or Asterisk crashes due to whatever problem just + * happened after we exit ast_assert(). + */ + usleep(1); + ast_do_crash(); +} +#endif /* defined(AST_DEVMODE) */ From bf369f2018a0288b32ab0f15ff1e555e1f5a60ab Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 8 Nov 2012 21:19:33 +0000 Subject: [PATCH 004/186] Merged revisions 376061 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376061 | rmudgett | 2012-11-08 15:12:35 -0600 (Thu, 08 Nov 2012) | 22 lines chan_dahdi/SS7: Made reject incoming call for an in-alarm or blocked channel. If a SS7 call comes in requesting a CIC that is in-alarm, the call is accepted and connects if the extension exists in the dialplan. The call does not have any audio. * Made release the call immediately with circuit congestion cause. (closes issue ASTERISK-20204) Reported by: Tuan Le Patches: jira_asterisk_20204_v1.8.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376059 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376060 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376069 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/sig_ss7.c | 51 ++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/channels/sig_ss7.c b/channels/sig_ss7.c index 7958871234..d5a92c332c 100644 --- a/channels/sig_ss7.c +++ b/channels/sig_ss7.c @@ -291,6 +291,24 @@ static void sig_ss7_handle_link_exception(struct sig_ss7_linkset *linkset, int w } } +/*! + * \internal + * \brief Determine if a private channel structure is available. + * + * \param pvt Channel to determine if available. + * + * \return TRUE if the channel is available. + */ +static int sig_ss7_is_chan_available(struct sig_ss7_chan *pvt) +{ + if (!pvt->inalarm && !pvt->owner && !pvt->ss7call + && pvt->call_level == SIG_SS7_CALL_LEVEL_IDLE + && !pvt->locallyblocked && !pvt->remotelyblocked) { + return 1; + } + return 0; +} + /*! * \internal * \brief Obtain the sig_ss7 owner channel lock if the owner exists. @@ -589,7 +607,7 @@ static void ss7_start_call(struct sig_ss7_chan *p, struct sig_ss7_linkset *links ast_log(LOG_WARNING, "Unable to start PBX on CIC %d\n", p->cic); ast_mutex_lock(&linkset->lock); sig_ss7_lock_private(p); - isup_rel(linkset->ss7, p->ss7call, -1); + isup_rel(linkset->ss7, p->ss7call, AST_CAUSE_SWITCH_CONGESTION); p->call_level = SIG_SS7_CALL_LEVEL_IDLE; p->alreadyhungup = 1; ast_callid_threadstorage_auto_clean(callid, callid_created); @@ -975,12 +993,12 @@ void *ss7_linkset(void *data) * We have not sent our IAM yet and we never will at this point. */ p->alreadyhungup = 1; - isup_rel(ss7, e->iam.call, -1); + isup_rel(ss7, e->iam.call, AST_CAUSE_NORMAL_CIRCUIT_CONGESTION); } p->call_level = SIG_SS7_CALL_LEVEL_GLARE; if (p->owner) { - ss7_queue_pvt_cause_data(p->owner, "SS7 ISUP_EVENT_IAM (glare)", AST_CAUSE_NORMAL_CLEARING); - ast_channel_hangupcause_set(p->owner, AST_CAUSE_NORMAL_CLEARING); + ss7_queue_pvt_cause_data(p->owner, "SS7 ISUP_EVENT_IAM (glare)", AST_CAUSE_NORMAL_CIRCUIT_CONGESTION); + ast_channel_hangupcause_set(p->owner, AST_CAUSE_NORMAL_CIRCUIT_CONGESTION); ast_softhangup_nolock(p->owner, AST_SOFTHANGUP_DEV); ast_channel_unlock(p->owner); } @@ -993,6 +1011,13 @@ void *ss7_linkset(void *data) */ ast_assert(!p->owner); + if (!sig_ss7_is_chan_available(p)) { + /* Circuit is likely blocked or in alarm. */ + isup_rel(ss7, e->iam.call, AST_CAUSE_NORMAL_CIRCUIT_CONGESTION); + sig_ss7_unlock_private(p); + break; + } + /* Mark channel as in use so no outgoing call will steal it. */ p->call_level = SIG_SS7_CALL_LEVEL_ALLOCATED; p->ss7call = e->iam.call; @@ -1443,24 +1468,6 @@ int sig_ss7_add_sigchan(struct sig_ss7_linkset *linkset, int which, int ss7type, return 0; } -/*! - * \internal - * \brief Determine if a private channel structure is available. - * - * \param pvt Channel to determine if available. - * - * \return TRUE if the channel is available. - */ -static int sig_ss7_is_chan_available(struct sig_ss7_chan *pvt) -{ - if (!pvt->inalarm && !pvt->owner && !pvt->ss7call - && pvt->call_level == SIG_SS7_CALL_LEVEL_IDLE - && !pvt->locallyblocked && !pvt->remotelyblocked) { - return 1; - } - return 0; -} - /*! * \brief Determine if the specified channel is available for an outgoing call. * \since 1.8 From 7c6c20bfc642345f7d2276f1fa89fff4fe90edaf Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 8 Nov 2012 22:19:40 +0000 Subject: [PATCH 005/186] Merged revisions 376092 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376092 | mmichelson | 2012-11-08 16:10:29 -0600 (Thu, 08 Nov 2012) | 18 lines Fix a "set but not used" warning on newer gccs. Turns out the "helpful" setting of ms and res in this macro is completely useless after the timeout antipattern fix. If you're a new guy looking to write code, don't write a macro like this one. ........ Merged revisions 376087 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376088 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376089 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376099 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_fax.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/res/res_fax.c b/res/res_fax.c index 32225d32d8..5ed7107d2a 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -1215,7 +1215,6 @@ static void set_channel_variables(struct ast_channel *chan, struct ast_fax_sessi #define GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, errorstr, reason) \ do { \ GENERIC_FAX_EXEC_SET_VARS(fax, chan, errorstr, reason); \ - res = ms = -1; \ } while (0) #define GENERIC_FAX_EXEC_ERROR(fax, chan, errorstr, reason) \ @@ -1327,7 +1326,7 @@ static int generic_fax_exec(struct ast_channel *chan, struct ast_fax_session_det { int ms; int timeout = RES_FAX_TIMEOUT; - int res, chancount; + int chancount; unsigned int expected_frametype = -1; union ast_frame_subclass expected_framesubclass = { .integer = -1 }; unsigned int t38negotiated = (ast_channel_get_t38_state(chan) == T38_STATE_NEGOTIATED); From 77725bf293f470b6697b94472eafb457be83ef14 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 8 Nov 2012 23:27:16 +0000 Subject: [PATCH 006/186] Move taskprocessors to use a listener model. Taskprocessors are now divided into two units: the task queue and their listeners. When a task is added to the queue, the listener is notified and can take whatever action is desired. This means that taskprocessors are no longer confined to having their tasks executed within a single thread. A default taskprocessor listener has been added that mirrors the old taskprocessor behavior. I've tested it by running Asterisk and placing calls. It appears to work as expected. I'm going to do some cleaning up first and then write some unit tests to be sure everything works as expected. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376118 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 33 ++++ main/taskprocessor.c | 294 ++++++++++++++++++++----------- 2 files changed, 228 insertions(+), 99 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 0f1876e7af..df66f59f07 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -60,6 +60,21 @@ enum ast_tps_options { TPS_REF_IF_EXISTS = (1 << 0), }; +struct ast_taskprocessor_listener; + +struct ast_taskprocessor_listener_callbacks { + /*! Indicates a task was pushed to the processor */ + void (*task_pushed)(struct ast_taskprocessor_listener *listener, int was_empty); + /*! Indicates the task processor has become empty */ + void (*emptied)(struct ast_taskprocessor_listener *listener); +}; + +struct ast_taskprocessor_listener { + struct ast_taskprocessor_listener_callbacks *callbacks; + struct ast_taskprocessor *tps; + void *private_data; +}; + /*! * \brief Get a reference to a taskprocessor with the specified name and create the taskprocessor if necessary * @@ -74,6 +89,16 @@ enum ast_tps_options { */ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_options create); +/*! + * \brief Create a taskprocessor with a custom listener + * + * \param name The name of the taskprocessor to create + * \param listener The listener for operations on this taskprocessor + * \retval NULL Failure + * \reval non-NULL success + */ +struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *name, struct ast_taskprocessor_listener *listener); + /*! * \brief Unreference the specified taskprocessor and its reference count will decrement. * @@ -96,6 +121,14 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps); */ int ast_taskprocessor_push(struct ast_taskprocessor *tps, int (*task_exe)(void *datap), void *datap); +/*! + * \brief Pop a task off the taskprocessor and execute it. + * \param tps The taskprocessor from which to execute. + * \retval 0 There is no further work to be done. + * \retval 1 Tasks still remain in the taskprocessor queue. + */ +int ast_taskprocessor_execute(struct ast_taskprocessor *tps); + /*! * \brief Return the name of the taskprocessor singleton * \since 1.6.1 diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 912f891b17..b433ca908c 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -83,6 +83,7 @@ struct ast_taskprocessor { AST_LIST_HEAD_NOLOCK(tps_queue, tps_task) tps_queue; /*! \brief Taskprocessor singleton list entry */ AST_LIST_ENTRY(ast_taskprocessor) list; + struct ast_taskprocessor_listener *listener; }; #define TPS_MAX_BUCKETS 7 /*! \brief tps_singletons is the astobj2 container for taskprocessor singletons */ @@ -122,6 +123,83 @@ static struct ast_cli_entry taskprocessor_clis[] = { AST_CLI_DEFINE(cli_tps_report, "List instantiated task processors and statistics"), }; +struct default_taskprocessor_listener_pvt { + pthread_t poll_thread; + ast_mutex_t lock; + ast_cond_t cond; + int wake_up; + int dead; +}; + +static void default_tps_wake_up(struct default_taskprocessor_listener_pvt *pvt, int should_die) +{ + SCOPED_MUTEX(lock, &pvt->lock); + pvt->wake_up = 1; + pvt->dead = should_die; + ast_cond_signal(&pvt->cond); +} + +static void default_listener_destroy(void *obj) +{ + struct ast_taskprocessor_listener *listener = obj; + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; + + default_tps_wake_up(pvt, 1); + pthread_join(pvt->poll_thread, NULL); + pvt->poll_thread = AST_PTHREADT_NULL; + ast_mutex_destroy(&pvt->lock); + ast_cond_destroy(&pvt->cond); + ast_free(pvt); + + ao2_ref(listener->tps, -1); + listener->tps = NULL; +} + +static int default_tps_idle(struct default_taskprocessor_listener_pvt *pvt) +{ + SCOPED_MUTEX(lock, &pvt->lock); + while (!pvt->wake_up) { + ast_cond_wait(&pvt->cond, lock); + } + pvt->wake_up = 0; + return pvt->dead; +} + +/* this is the task processing worker function */ +static void *tps_processing_function(void *data) +{ + struct ast_taskprocessor_listener *listener = data; + struct ast_taskprocessor *tps = listener->tps; + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; + int dead = 0; + + while (!dead) { + if (!ast_taskprocessor_execute(tps)) { + dead = default_tps_idle(pvt); + } + } + return NULL; +} + +static void default_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) +{ + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; + + if (was_empty) { + default_tps_wake_up(pvt, 0); + } +} + +static void default_emptied(struct ast_taskprocessor_listener *listener) +{ + /* No-op */ +} + +static struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { + .task_pushed = default_task_pushed, + .emptied = default_emptied, +}; + /*! \internal \brief Clean up resources on Asterisk shutdown */ static void tps_shutdown(void) { @@ -286,75 +364,22 @@ static char *cli_tps_report(struct ast_cli_entry *e, int cmd, struct ast_cli_arg return CLI_SUCCESS; } -/* this is the task processing worker function */ -static void *tps_processing_function(void *data) -{ - struct ast_taskprocessor *i = data; - struct tps_task *t; - int size; - - if (!i) { - ast_log(LOG_ERROR, "cannot start thread_function loop without a ast_taskprocessor structure.\n"); - return NULL; - } - - while (i->poll_thread_run) { - ast_mutex_lock(&i->taskprocessor_lock); - if (!i->poll_thread_run) { - ast_mutex_unlock(&i->taskprocessor_lock); - break; - } - if (!(size = tps_taskprocessor_depth(i))) { - ast_cond_wait(&i->poll_cond, &i->taskprocessor_lock); - if (!i->poll_thread_run) { - ast_mutex_unlock(&i->taskprocessor_lock); - break; - } - } - ast_mutex_unlock(&i->taskprocessor_lock); - /* stuff is in the queue */ - if (!(t = tps_taskprocessor_pop(i))) { - ast_log(LOG_ERROR, "Wtf?? %d tasks in the queue, but we're popping blanks!\n", size); - continue; - } - if (!t->execute) { - ast_log(LOG_WARNING, "Task is missing a function to execute!\n"); - tps_task_free(t); - continue; - } - t->execute(t->datap); - - ast_mutex_lock(&i->taskprocessor_lock); - if (i->stats) { - i->stats->_tasks_processed_count++; - if (size > i->stats->max_qsize) { - i->stats->max_qsize = size; - } - } - ast_mutex_unlock(&i->taskprocessor_lock); - - tps_task_free(t); - } - while ((t = tps_taskprocessor_pop(i))) { - tps_task_free(t); - } - return NULL; -} - /* hash callback for astobj2 */ static int tps_hash_cb(const void *obj, const int flags) { const struct ast_taskprocessor *tps = obj; + const char *name = flags & OBJ_KEY ? obj : tps->name; - return ast_str_case_hash(tps->name); + return ast_str_case_hash(name); } /* compare callback for astobj2 */ static int tps_cmp_cb(void *obj, void *arg, int flags) { struct ast_taskprocessor *lhs = obj, *rhs = arg; + const char *rhsname = flags & OBJ_KEY ? arg : rhs->name; - return !strcasecmp(lhs->name, rhs->name) ? CMP_MATCH | CMP_STOP : 0; + return !strcasecmp(lhs->name, rhsname) ? CMP_MATCH | CMP_STOP : 0; } /* destroy the taskprocessor */ @@ -368,20 +393,21 @@ static void tps_taskprocessor_destroy(void *tps) } ast_debug(1, "destroying taskprocessor '%s'\n", t->name); /* kill it */ - ast_mutex_lock(&t->taskprocessor_lock); - t->poll_thread_run = 0; - ast_cond_signal(&t->poll_cond); - ast_mutex_unlock(&t->taskprocessor_lock); - pthread_join(t->poll_thread, NULL); - t->poll_thread = AST_PTHREADT_NULL; ast_mutex_destroy(&t->taskprocessor_lock); - ast_cond_destroy(&t->poll_cond); /* free it */ if (t->stats) { ast_free(t->stats); t->stats = NULL; } ast_free((char *) t->name); + if (t->listener) { + /* This code should not be reached since the listener + * should have been destroyed before the taskprocessor could + * be destroyed + */ + ao2_ref(t->listener, -1); + t->listener = NULL; + } } /* pop the front task and return it */ @@ -416,80 +442,120 @@ const char *ast_taskprocessor_name(struct ast_taskprocessor *tps) return tps->name; } +static struct ast_taskprocessor_listener *default_listener_alloc(void) +{ + struct ast_taskprocessor_listener *listener; + struct default_taskprocessor_listener_pvt *pvt; + + listener = ao2_alloc(sizeof(*listener), default_listener_destroy); + if (!listener) { + return NULL; + } + pvt = ast_calloc(1, sizeof(*pvt)); + if (!pvt) { + ao2_ref(listener, -1); + return NULL; + } + listener->callbacks = &default_listener_callbacks; + listener->private_data = pvt; + ast_cond_init(&pvt->cond, NULL); + ast_mutex_init(&pvt->lock); + pvt->poll_thread = AST_PTHREADT_NULL; + if (ast_pthread_create(&pvt->poll_thread, NULL, tps_processing_function, listener) < 0) { + ao2_ref(listener, -1); + return NULL; + } + return listener; +} + /* Provide a reference to a taskprocessor. Create the taskprocessor if necessary, but don't * create the taskprocessor if we were told via ast_tps_options to return a reference only * if it already exists */ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_options create) { - struct ast_taskprocessor *p, tmp_tps = { - .name = name, - }; + struct ast_taskprocessor *p; + struct ast_taskprocessor_listener *listener; if (ast_strlen_zero(name)) { ast_log(LOG_ERROR, "requesting a nameless taskprocessor!!!\n"); return NULL; } - ao2_lock(tps_singletons); - p = ao2_find(tps_singletons, &tmp_tps, OBJ_POINTER); + p = ao2_find(tps_singletons, name, OBJ_KEY); if (p) { ao2_unlock(tps_singletons); return p; } if (create & TPS_REF_IF_EXISTS) { /* calling function does not want a new taskprocessor to be created if it doesn't already exist */ - ao2_unlock(tps_singletons); return NULL; } - /* create a new taskprocessor */ - if (!(p = ao2_alloc(sizeof(*p), tps_taskprocessor_destroy))) { - ao2_unlock(tps_singletons); + /* Create a new taskprocessor. Start by creating a default listener */ + listener = default_listener_alloc(); + + p = ast_taskprocessor_create_with_listener(name, listener); + ao2_ref(listener, -1); + return p; + +} + +struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *name, struct ast_taskprocessor_listener *listener) +{ + RAII_VAR(struct ast_taskprocessor *, p, + ao2_alloc(sizeof(*p), tps_taskprocessor_destroy), + ao2_cleanup); + + if (!p) { ast_log(LOG_WARNING, "failed to create taskprocessor '%s'\n", name); return NULL; } - ast_cond_init(&p->poll_cond, NULL); - ast_mutex_init(&p->taskprocessor_lock); - if (!(p->stats = ast_calloc(1, sizeof(*p->stats)))) { - ao2_unlock(tps_singletons); ast_log(LOG_WARNING, "failed to create taskprocessor stats for '%s'\n", name); - ao2_ref(p, -1); return NULL; } if (!(p->name = ast_strdup(name))) { - ao2_unlock(tps_singletons); - ao2_ref(p, -1); - return NULL; - } - p->poll_thread_run = 1; - p->poll_thread = AST_PTHREADT_NULL; - if (ast_pthread_create(&p->poll_thread, NULL, tps_processing_function, p) < 0) { - ao2_unlock(tps_singletons); - ast_log(LOG_ERROR, "Taskprocessor '%s' failed to create the processing thread.\n", p->name); ao2_ref(p, -1); return NULL; } + + ao2_ref(listener, +1); + p->listener = listener; + + ao2_ref(p, +1); + listener->tps = p; + if (!(ao2_link(tps_singletons, p))) { - ao2_unlock(tps_singletons); ast_log(LOG_ERROR, "Failed to add taskprocessor '%s' to container\n", p->name); - ao2_ref(p, -1); return NULL; } - ao2_unlock(tps_singletons); + + /* RAII_VAR will decrement the refcount at the end of the function. + * Since we want to pass back a reference to p, we bump the refcount + */ + ao2_ref(p, +1); return p; } /* decrement the taskprocessor reference count and unlink from the container if necessary */ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) { - if (tps) { - ao2_lock(tps_singletons); - ao2_unlink(tps_singletons, tps); - if (ao2_ref(tps, -1) > 1) { - ao2_link(tps_singletons, tps); - } - ao2_unlock(tps_singletons); + struct ast_taskprocessor_listener *listener; + if (!tps) { + return NULL; } + + if (ao2_ref(tps, -1) > 3) { + return NULL; + } + /* If we're down to 3 references, then those must be: + * 1. The reference we just got rid of + * 2. The container + * 3. The listener + */ + ao2_unlink(tps_singletons, tps); + listener = tps->listener; + tps->listener = NULL; + ao2_ref(listener, -1); return NULL; } @@ -497,6 +563,7 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) int ast_taskprocessor_push(struct ast_taskprocessor *tps, int (*task_exe)(void *datap), void *datap) { struct tps_task *t; + int previous_size; if (!tps || !task_exe) { ast_log(LOG_ERROR, "%s is missing!!\n", (tps) ? "task callback" : "taskprocessor"); @@ -508,9 +575,38 @@ int ast_taskprocessor_push(struct ast_taskprocessor *tps, int (*task_exe)(void * } ast_mutex_lock(&tps->taskprocessor_lock); AST_LIST_INSERT_TAIL(&tps->tps_queue, t, list); - tps->tps_queue_size++; - ast_cond_signal(&tps->poll_cond); + previous_size = tps->tps_queue_size++; ast_mutex_unlock(&tps->taskprocessor_lock); + tps->listener->callbacks->task_pushed(tps->listener, previous_size ? 0 : 1); return 0; } +int ast_taskprocessor_execute(struct ast_taskprocessor *tps) +{ + struct tps_task *t; + int size; + + if (!(t = tps_taskprocessor_pop(tps))) { + return 0; + } + + t->execute(t->datap); + + tps_task_free(t); + + ast_mutex_lock(&tps->taskprocessor_lock); + size = tps_taskprocessor_depth(tps); + if (tps->stats) { + tps->stats->_tasks_processed_count++; + if (size > tps->stats->max_qsize) { + tps->stats->max_qsize = size; + } + } + ast_mutex_unlock(&tps->taskprocessor_lock); + + if (size == 0) { + tps->listener->callbacks->emptied(tps->listener); + return 0; + } + return 1; +} From 902a2d8919b2790aa2775d29662c02c2e9e6cf56 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 8 Nov 2012 23:35:10 +0000 Subject: [PATCH 007/186] Get rid of taskprocessor fields no longer necessary. This includes changing the taskprocessor to use its builtin ao2_lock instead of having a separate mutex. It can do this now since there is no longer an ast_cond_t associated with the taskprocessor. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376119 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/taskprocessor.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/main/taskprocessor.c b/main/taskprocessor.c index b433ca908c..bd94103d25 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -67,14 +67,6 @@ struct tps_taskprocessor_stats { struct ast_taskprocessor { /*! \brief Friendly name of the taskprocessor */ const char *name; - /*! \brief Thread poll condition */ - ast_cond_t poll_cond; - /*! \brief Taskprocessor thread */ - pthread_t poll_thread; - /*! \brief Taskprocessor lock */ - ast_mutex_t taskprocessor_lock; - /*! \brief Taskprocesor thread run flag */ - unsigned char poll_thread_run; /*! \brief Taskprocessor statistics */ struct tps_taskprocessor_stats *stats; /*! \brief Taskprocessor current queue size */ @@ -392,8 +384,6 @@ static void tps_taskprocessor_destroy(void *tps) return; } ast_debug(1, "destroying taskprocessor '%s'\n", t->name); - /* kill it */ - ast_mutex_destroy(&t->taskprocessor_lock); /* free it */ if (t->stats) { ast_free(t->stats); @@ -419,11 +409,11 @@ static struct tps_task *tps_taskprocessor_pop(struct ast_taskprocessor *tps) ast_log(LOG_ERROR, "missing taskprocessor\n"); return NULL; } - ast_mutex_lock(&tps->taskprocessor_lock); + ao2_lock(tps); if ((task = AST_LIST_REMOVE_HEAD(&tps->tps_queue, list))) { tps->tps_queue_size--; } - ast_mutex_unlock(&tps->taskprocessor_lock); + ao2_unlock(tps); return task; } @@ -573,10 +563,10 @@ int ast_taskprocessor_push(struct ast_taskprocessor *tps, int (*task_exe)(void * ast_log(LOG_ERROR, "failed to allocate task! Can't push to '%s'\n", tps->name); return -1; } - ast_mutex_lock(&tps->taskprocessor_lock); + ao2_lock(tps); AST_LIST_INSERT_TAIL(&tps->tps_queue, t, list); previous_size = tps->tps_queue_size++; - ast_mutex_unlock(&tps->taskprocessor_lock); + ao2_unlock(tps); tps->listener->callbacks->task_pushed(tps->listener, previous_size ? 0 : 1); return 0; } @@ -594,7 +584,7 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps) tps_task_free(t); - ast_mutex_lock(&tps->taskprocessor_lock); + ao2_lock(tps); size = tps_taskprocessor_depth(tps); if (tps->stats) { tps->stats->_tasks_processed_count++; @@ -602,7 +592,7 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps) tps->stats->max_qsize = size; } } - ast_mutex_unlock(&tps->taskprocessor_lock); + ao2_unlock(tps); if (size == 0) { tps->listener->callbacks->emptied(tps->listener); From 6fc8d830f8474a73436bceaa4f6f131dabd6ff8f Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 9 Nov 2012 19:42:47 +0000 Subject: [PATCH 008/186] Add a basic taskprocessor test. This just queues a task and ensures that the task gets executed by the default taskprocessor listener. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376120 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 113 +++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 tests/test_taskprocessor.c diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c new file mode 100644 index 0000000000..91dd816a3e --- /dev/null +++ b/tests/test_taskprocessor.c @@ -0,0 +1,113 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! + * \file + * \brief taskprocessor unit tests + * + * \author Mark Michelson + * + */ + +/*** MODULEINFO + TEST_FRAMEWORK + core + ***/ + +#include "asterisk.h" + +#include "asterisk/test.h" +#include "asterisk/taskprocessor.h" +#include "asterisk/module.h" + +struct task_data { + ast_cond_t cond; + ast_mutex_t lock; + int task_complete; +}; + +static int task(void *data) +{ + struct task_data *task_data = data; + SCOPED_MUTEX(lock, &task_data->lock); + task_data->task_complete = 1; + ast_cond_signal(&task_data->cond); + return 0; +} + +AST_TEST_DEFINE(default_taskprocessor) +{ + struct ast_taskprocessor *tps; + struct task_data task_data; + enum ast_test_result_state res = AST_TEST_PASS; + + switch (cmd) { + case TEST_INIT: + info->name = "default_taskprocessor"; + info->category = "/main/taskprocessor/"; + info->summary = "Test of default taskproccesor"; + info->description = + "Ensures that queued tasks are executed."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + tps = ast_taskprocessor_get("test", TPS_REF_DEFAULT); + + if (!tps) { + ast_test_status_update(test, "Unable to create test taskprocessor\n"); + return AST_TEST_FAIL; + } + + ast_cond_init(&task_data.cond, NULL); + ast_mutex_init(&task_data.lock); + task_data.task_complete = 0; + + ast_taskprocessor_push(tps, task, &task_data); + ast_mutex_lock(&task_data.lock); + while (!task_data.task_complete) { + ast_cond_wait(&task_data.cond, &task_data.lock); + } + + if (!task_data.task_complete) { + ast_test_status_update(test, "Queued task did not execute!\n"); + res = AST_TEST_FAIL; + goto test_end; + } + +test_end: + tps = ast_taskprocessor_unreference(tps); + ast_mutex_destroy(&task_data.lock); + ast_cond_destroy(&task_data.cond); + return res; +} + +static int unload_module(void) +{ + ast_test_unregister(default_taskprocessor); + return 0; +} + +static int load_module(void) +{ + ast_test_register(default_taskprocessor); + return AST_MODULE_LOAD_SUCCESS; +} + +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "taskprocessor test module"); From d5716ecae2238c9e96576870c2146606ab46bc6c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 9 Nov 2012 22:28:10 +0000 Subject: [PATCH 009/186] Genericize the allocation and destruction of taskprocessor listeners. The goal of this is to take the responsibility away from individual listeners to be sure to properly unref the taskprocessor. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376121 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 7 +++ main/astobj2.c | 1 + main/taskprocessor.c | 79 +++++++++++++++++++++----------- 3 files changed, 61 insertions(+), 26 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index df66f59f07..a92e1f31c2 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -63,10 +63,14 @@ enum ast_tps_options { struct ast_taskprocessor_listener; struct ast_taskprocessor_listener_callbacks { + /*! Allocate the listener's private data */ + void *(*alloc)(struct ast_taskprocessor_listener *listener); /*! Indicates a task was pushed to the processor */ void (*task_pushed)(struct ast_taskprocessor_listener *listener, int was_empty); /*! Indicates the task processor has become empty */ void (*emptied)(struct ast_taskprocessor_listener *listener); + /*! Destroy the listener's private data */ + void (*destroy)(void *private_data); }; struct ast_taskprocessor_listener { @@ -75,6 +79,9 @@ struct ast_taskprocessor_listener { void *private_data; }; +struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(struct ast_taskprocessor *tps, + struct ast_taskprocessor_listener_callbacks *callbacks); + /*! * \brief Get a reference to a taskprocessor with the specified name and create the taskprocessor if necessary * diff --git a/main/astobj2.c b/main/astobj2.c index 082dfc0384..b36cee837e 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -431,6 +431,7 @@ static int internal_ao2_ref(void *user_data, int delta, const char *file, int li int ret; if (obj == NULL) { + ast_backtrace(); ast_assert(0); return -1; } diff --git a/main/taskprocessor.c b/main/taskprocessor.c index bd94103d25..4ca01f9ca2 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -131,17 +131,11 @@ static void default_tps_wake_up(struct default_taskprocessor_listener_pvt *pvt, ast_cond_signal(&pvt->cond); } -static void default_listener_destroy(void *obj) +static void listener_destroy(void *obj) { struct ast_taskprocessor_listener *listener = obj; - struct default_taskprocessor_listener_pvt *pvt = listener->private_data; - default_tps_wake_up(pvt, 1); - pthread_join(pvt->poll_thread, NULL); - pvt->poll_thread = AST_PTHREADT_NULL; - ast_mutex_destroy(&pvt->lock); - ast_cond_destroy(&pvt->cond); - ast_free(pvt); + listener->callbacks->destroy(listener->private_data); ao2_ref(listener->tps, -1); listener->tps = NULL; @@ -173,6 +167,35 @@ static void *tps_processing_function(void *data) return NULL; } +static void *default_listener_alloc(struct ast_taskprocessor_listener *listener) +{ + struct default_taskprocessor_listener_pvt *pvt; + + pvt = ast_calloc(1, sizeof(*pvt)); + if (!pvt) { + return NULL; + } + ast_cond_init(&pvt->cond, NULL); + ast_mutex_init(&pvt->lock); + pvt->poll_thread = AST_PTHREADT_NULL; + if (ast_pthread_create(&pvt->poll_thread, NULL, tps_processing_function, listener) < 0) { + return NULL; + } + return pvt; +} + +static void default_listener_destroy(void *obj) +{ + struct default_taskprocessor_listener_pvt *pvt = obj; + + default_tps_wake_up(pvt, 1); + pthread_join(pvt->poll_thread, NULL); + pvt->poll_thread = AST_PTHREADT_NULL; + ast_mutex_destroy(&pvt->lock); + ast_cond_destroy(&pvt->cond); + ast_free(pvt); +} + static void default_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) { struct default_taskprocessor_listener_pvt *pvt = listener->private_data; @@ -188,8 +211,10 @@ static void default_emptied(struct ast_taskprocessor_listener *listener) } static struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { + .alloc = default_listener_alloc, .task_pushed = default_task_pushed, .emptied = default_emptied, + .destroy = default_listener_destroy, }; /*! \internal \brief Clean up resources on Asterisk shutdown */ @@ -432,29 +457,22 @@ const char *ast_taskprocessor_name(struct ast_taskprocessor *tps) return tps->name; } -static struct ast_taskprocessor_listener *default_listener_alloc(void) +struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(struct ast_taskprocessor *tps, + struct ast_taskprocessor_listener_callbacks *callbacks) { - struct ast_taskprocessor_listener *listener; - struct default_taskprocessor_listener_pvt *pvt; - - listener = ao2_alloc(sizeof(*listener), default_listener_destroy); + RAII_VAR(struct ast_taskprocessor_listener *, listener, + ao2_alloc(sizeof(*listener), listener_destroy), ao2_cleanup); + if (!listener) { return NULL; } - pvt = ast_calloc(1, sizeof(*pvt)); - if (!pvt) { - ao2_ref(listener, -1); - return NULL; - } - listener->callbacks = &default_listener_callbacks; - listener->private_data = pvt; - ast_cond_init(&pvt->cond, NULL); - ast_mutex_init(&pvt->lock); - pvt->poll_thread = AST_PTHREADT_NULL; - if (ast_pthread_create(&pvt->poll_thread, NULL, tps_processing_function, listener) < 0) { - ao2_ref(listener, -1); + listener->callbacks = callbacks; + listener->private_data = listener->callbacks->alloc(listener); + if (!listener->private_data) { return NULL; } + + ao2_ref(listener, +1); return listener; } @@ -480,9 +498,18 @@ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_o return NULL; } /* Create a new taskprocessor. Start by creating a default listener */ - listener = default_listener_alloc(); + listener = ast_taskprocessor_listener_alloc(p, &default_listener_callbacks); + if (!listener) { + return NULL; + } p = ast_taskprocessor_create_with_listener(name, listener); + if (!p) { + ao2_ref(listener, -1); + return NULL; + } + + /* Unref listener here since the taskprocessor has gained a reference to the listener */ ao2_ref(listener, -1); return p; From a4a48d927468dc52ed7f58d51bbf69cfa15580c8 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 9 Nov 2012 22:49:25 +0000 Subject: [PATCH 010/186] Add doxygen and constify some things. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376123 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 60 ++++++++++++++++++++++++++++---- main/taskprocessor.c | 7 ++-- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index a92e1f31c2..5ea14907a1 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -63,24 +63,70 @@ enum ast_tps_options { struct ast_taskprocessor_listener; struct ast_taskprocessor_listener_callbacks { - /*! Allocate the listener's private data */ + /*! + * \brief Allocate the listener's private data + * + * It is not necessary to assign the private data to the listener. + * + * \param listener The listener to which the private data belongs + * \retval NULL Error while attempting to initialize private data + * \retval non-NULL Allocated private data + */ void *(*alloc)(struct ast_taskprocessor_listener *listener); - /*! Indicates a task was pushed to the processor */ + /*! + * \brief Indicates a task was pushed to the processor + * + * \param listener The listener + * \param was_empty If non-zero, the taskprocessor was empty prior to the task being pushed + */ void (*task_pushed)(struct ast_taskprocessor_listener *listener, int was_empty); - /*! Indicates the task processor has become empty */ + /*! + * \brief Indicates the task processor has become empty + * + * \param listener The listener + */ void (*emptied)(struct ast_taskprocessor_listener *listener); - /*! Destroy the listener's private data */ + /*! + * \brief Destroy the listener's private data + * + * It is required that you free the private data in this callback + * in addition to the private data's individual fields. + * + * \param private_data The listener's private data + */ void (*destroy)(void *private_data); }; +/*! + * \brief A listener for taskprocessors + * + * When a taskprocessor's state changes, the listener + * is notified of the change. This allows for tasks + * to be addressed in whatever way is appropriate for + * the module using the taskprocessor. + */ struct ast_taskprocessor_listener { - struct ast_taskprocessor_listener_callbacks *callbacks; + /*! The callbacks the taskprocessor calls into to notify of state changes */ + const struct ast_taskprocessor_listener_callbacks *callbacks; + /*! The taskprocessor that the listener is listening to */ struct ast_taskprocessor *tps; + /*! Data private to the listener */ void *private_data; }; -struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(struct ast_taskprocessor *tps, - struct ast_taskprocessor_listener_callbacks *callbacks); +/*! + * Allocate a taskprocessor listener + * + * This will result in the listener being allocated with the specified + * callbacks. The listener's alloc() callback will be called to allocate + * private data for the listener. The private data will be assigned to the + * listener when the listener's alloc() function returns. + * + * \param callbacks The callbacks to assign to the listener + * \retval NULL Failure + * \retval non-NULL The newly allocated taskprocessor listener + */ +struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct ast_taskprocessor_listener_callbacks *callbacks); /*! * \brief Get a reference to a taskprocessor with the specified name and create the taskprocessor if necessary diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 4ca01f9ca2..00c9485843 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -210,7 +210,7 @@ static void default_emptied(struct ast_taskprocessor_listener *listener) /* No-op */ } -static struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { +static const struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { .alloc = default_listener_alloc, .task_pushed = default_task_pushed, .emptied = default_emptied, @@ -457,8 +457,7 @@ const char *ast_taskprocessor_name(struct ast_taskprocessor *tps) return tps->name; } -struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(struct ast_taskprocessor *tps, - struct ast_taskprocessor_listener_callbacks *callbacks) +struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct ast_taskprocessor_listener_callbacks *callbacks) { RAII_VAR(struct ast_taskprocessor_listener *, listener, ao2_alloc(sizeof(*listener), listener_destroy), ao2_cleanup); @@ -498,7 +497,7 @@ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_o return NULL; } /* Create a new taskprocessor. Start by creating a default listener */ - listener = ast_taskprocessor_listener_alloc(p, &default_listener_callbacks); + listener = ast_taskprocessor_listener_alloc(&default_listener_callbacks); if (!listener) { return NULL; } From 7d84963667c9c1eff2dd8da44b4fc76fd8890f7c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 9 Nov 2012 23:23:32 +0000 Subject: [PATCH 011/186] Add a test that ensures that taskprocessor listener callbacks are properly called. The new test is a bit raw in that it uses magic numbers, but that can be improved upon easily. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376124 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index 91dd816a3e..d33b45b7ae 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -34,6 +34,7 @@ #include "asterisk/test.h" #include "asterisk/taskprocessor.h" #include "asterisk/module.h" +#include "asterisk/astobj2.h" struct task_data { ast_cond_t cond; @@ -98,15 +99,119 @@ test_end: return res; } +struct test_listener_pvt { + int num_pushed; + int num_emptied; +}; + +static void *test_alloc(struct ast_taskprocessor_listener *listener) +{ + struct test_listener_pvt *pvt; + + pvt = ast_calloc(1, sizeof(*pvt)); + return pvt; +} + +static void test_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) +{ + struct test_listener_pvt *pvt = listener->private_data; + ++pvt->num_pushed; +} + +static void test_emptied(struct ast_taskprocessor_listener *listener) +{ + struct test_listener_pvt *pvt = listener->private_data; + ++pvt->num_emptied; +} + +static void test_destroy(void *private_data) +{ + struct test_listener_pvt *pvt = private_data; + ast_free(pvt); +} + +static const struct ast_taskprocessor_listener_callbacks test_callbacks = { + .alloc = test_alloc, + .task_pushed = test_task_pushed, + .emptied = test_emptied, + .destroy = test_destroy, +}; + +static int listener_test_task(void *ignore) +{ + return 0; +} + +AST_TEST_DEFINE(taskprocessor_listener) +{ + struct ast_taskprocessor *tps; + struct ast_taskprocessor_listener *listener; + struct test_listener_pvt *pvt; + enum ast_test_result_state res = AST_TEST_PASS; + + switch (cmd) { + case TEST_INIT: + info->name = "taskprocessor_listener"; + info->category = "/main/taskprocessor/"; + info->summary = "Test of taskproccesor listeners"; + info->description = + "Ensures that listener callbacks are called when expected."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_taskprocessor_listener_alloc(&test_callbacks); + if (!listener) { + ast_test_status_update(test, "Unable to allocate test taskprocessor listener\n"); + return AST_TEST_FAIL; + } + + tps = ast_taskprocessor_create_with_listener("test_listener", listener); + if (!tps) { + ast_test_status_update(test, "Unable to allocate test taskprocessor\n"); + res = AST_TEST_FAIL; + goto test_exit; + } + + ast_taskprocessor_push(tps, listener_test_task, NULL); + ast_taskprocessor_push(tps, listener_test_task, NULL); + + ast_taskprocessor_execute(tps); + ast_taskprocessor_execute(tps); + + pvt = listener->private_data; + if (pvt->num_pushed != 2) { + ast_test_status_update(test, "Unexpected number of tasks pushed. Expected %d but got %d\n", + 2, pvt->num_pushed); + res = AST_TEST_FAIL; + goto test_exit; + } + + if (pvt->num_emptied != 1) { + ast_test_status_update(test, "Unexpected number of empties. Expected %d but got %d\n", + 1, pvt->num_emptied); + res = AST_TEST_FAIL; + goto test_exit; + } + +test_exit: + ao2_ref(listener, -1); + ast_taskprocessor_unreference(tps); + return res; +} + static int unload_module(void) { ast_test_unregister(default_taskprocessor); + ast_test_unregister(taskprocessor_listener); return 0; } static int load_module(void) { ast_test_register(default_taskprocessor); + ast_test_register(taskprocessor_listener); return AST_MODULE_LOAD_SUCCESS; } From 0874e3c825ece4331103441398b4d2db09b72a32 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sun, 11 Nov 2012 17:20:20 +0000 Subject: [PATCH 012/186] Merged revisions 376131 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376131 | file | 2012-11-11 11:15:47 -0600 (Sun, 11 Nov 2012) | 16 lines Remove a fixed size limitation for producing SDP and change how ICE support is disabled by default. With ICE support enabled in chan_sip and a large number of interfaces on the system it was possible for the produced SDP to be truncated due to some fixed size buffers. These buffers have now been changed so they will dynamically grow as needed. ICE support is now also enabled by default in res_rtp_asterisk to provide a smoother experience for chan_motif users where it is required. To maintain the previous behavior in chan_sip it is no longer enabled by default there. (closes issue ASTERISK-20643) Reported by: coopvr ........ Merged revisions 376130 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376136 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 15 ++++++--------- configs/sip.conf.sample | 5 +++-- res/res_rtp_asterisk.c | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9059669f06..c939df955b 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12927,9 +12927,9 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int struct ast_str *m_video = ast_str_alloca(256); /* Media declaration line for video */ struct ast_str *m_text = ast_str_alloca(256); /* Media declaration line for text */ struct ast_str *m_modem = ast_str_alloca(256); /* Media declaration line for modem */ - struct ast_str *a_audio = ast_str_alloca(1024); /* Attributes for audio */ - struct ast_str *a_video = ast_str_alloca(1024); /* Attributes for video */ - struct ast_str *a_text = ast_str_alloca(1024); /* Attributes for text */ + struct ast_str *a_audio = ast_str_create(256); /* Attributes for audio */ + struct ast_str *a_video = ast_str_create(256); /* Attributes for video */ + struct ast_str *a_text = ast_str_create(256); /* Attributes for text */ struct ast_str *a_modem = ast_str_alloca(1024); /* Attributes for modem */ const char *a_crypto = NULL; const char *v_a_crypto = NULL; @@ -13193,11 +13193,6 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int add_dtls_to_sdp(p->rtp, &a_audio); } - - if (m_audio->len - m_audio->used < 2 || m_video->len - m_video->used < 2 || - m_text->len - m_text->used < 2 || a_text->len - a_text->used < 2 || - a_audio->len - a_audio->used < 2 || a_video->len - a_video->used < 2) - ast_log(LOG_WARNING, "SIP SDP may be truncated due to undersized buffer!!\n"); } if (add_t38) { @@ -13376,6 +13371,9 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int ast_debug(3, "Done building SDP. Settling with this capability: %s\n", ast_getformatname_multiple(buf, SIPBUFSIZE, tmpcap)); add_sdp_cleanup: + ast_free(a_text); + ast_free(a_video); + ast_free(a_audio); alreadysent = ast_format_cap_destroy(alreadysent); tmpcap = ast_format_cap_destroy(tmpcap); @@ -31227,7 +31225,6 @@ static int reload_config(enum channelreloadreason reason) ast_set_flag(&global_flags[0], SIP_DTMF_RFC2833); /*!< Default DTMF setting: RFC2833 */ ast_set_flag(&global_flags[0], SIP_DIRECT_MEDIA); /*!< Allow re-invites */ ast_set_flag(&global_flags[2], SIP_PAGE3_NAT_AUTO_RPORT); /*!< Default to nat=auto_force_rport */ - ast_set_flag(&global_flags[2], SIP_PAGE3_ICE_SUPPORT); /*!< Default to enabling ICE support */ ast_copy_string(default_engine, DEFAULT_ENGINE, sizeof(default_engine)); ast_copy_string(default_parkinglot, DEFAULT_PARKINGLOT, sizeof(default_parkinglot)); diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index 3d6db9798e..bbd2af8df4 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -919,10 +919,11 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; ; subscribe_network_change_event = yes ; on by default ; -; ICE/STUN/TURN usage can be disabled globally or on a per-peer basis using the icesupport +; ICE/STUN/TURN usage can be enabled globally or on a per-peer basis using the icesupport ; configuration option. When set to yes ICE support is enabled. When set to no it is disabled. +; It is disabled by default. ; -; icesupport = no +; icesupport = yes ;----------------------------------- MEDIA HANDLING -------------------------------- ; By default, Asterisk tries to re-invite media streams to an optimal path. If there's diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 45df0f9238..7179d592a4 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -111,7 +111,7 @@ enum strict_rtp_state { }; #define DEFAULT_STRICT_RTP STRICT_RTP_CLOSED -#define DEFAULT_ICESUPPORT 0 +#define DEFAULT_ICESUPPORT 1 extern struct ast_srtp_res *res_srtp; extern struct ast_srtp_policy_res *res_srtp_policy; From 426e8d145437b44e5e8ba0adbde19eae94d906e1 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 12 Nov 2012 00:36:16 +0000 Subject: [PATCH 013/186] Refine the taskprocessor listener test a bit more. This makes it easier to follow and tests more thoroughly. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376140 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 60 ++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index d33b45b7ae..eebf3d0b32 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -102,6 +102,7 @@ test_end: struct test_listener_pvt { int num_pushed; int num_emptied; + int num_was_empty; }; static void *test_alloc(struct ast_taskprocessor_listener *listener) @@ -116,6 +117,9 @@ static void test_task_pushed(struct ast_taskprocessor_listener *listener, int wa { struct test_listener_pvt *pvt = listener->private_data; ++pvt->num_pushed; + if (was_empty) { + ++pvt->num_was_empty; + } } static void test_emptied(struct ast_taskprocessor_listener *listener) @@ -142,6 +146,29 @@ static int listener_test_task(void *ignore) return 0; } +static int check_stats(struct ast_test *test, const struct test_listener_pvt *pvt, int num_pushed, int num_emptied, int num_was_empty) +{ + if (pvt->num_pushed != num_pushed) { + ast_test_status_update(test, "Unexpected number of tasks pushed. Expected %d but got %d\n", + num_pushed, pvt->num_pushed); + return -1; + } + + if (pvt->num_emptied != num_emptied) { + ast_test_status_update(test, "Unexpected number of empties. Expected %d but got %d\n", + num_emptied, pvt->num_emptied); + return -1; + } + + if (pvt->num_was_empty != num_was_empty) { + ast_test_status_update(test, "Unexpected number of empties. Expected %d but got %d\n", + num_was_empty, pvt->num_emptied); + return -1; + } + + return 0; +} + AST_TEST_DEFINE(taskprocessor_listener) { struct ast_taskprocessor *tps; @@ -174,23 +201,32 @@ AST_TEST_DEFINE(taskprocessor_listener) goto test_exit; } - ast_taskprocessor_push(tps, listener_test_task, NULL); - ast_taskprocessor_push(tps, listener_test_task, NULL); - - ast_taskprocessor_execute(tps); - ast_taskprocessor_execute(tps); - pvt = listener->private_data; - if (pvt->num_pushed != 2) { - ast_test_status_update(test, "Unexpected number of tasks pushed. Expected %d but got %d\n", - 2, pvt->num_pushed); + + ast_taskprocessor_push(tps, listener_test_task, NULL); + + if (check_stats(test, pvt, 1, 0, 1) < 0) { res = AST_TEST_FAIL; goto test_exit; } - if (pvt->num_emptied != 1) { - ast_test_status_update(test, "Unexpected number of empties. Expected %d but got %d\n", - 1, pvt->num_emptied); + ast_taskprocessor_push(tps, listener_test_task, NULL); + + if (check_stats(test, pvt, 2, 0, 1) < 0) { + res = AST_TEST_FAIL; + goto test_exit; + } + + ast_taskprocessor_execute(tps); + + if (check_stats(test, pvt, 2, 0, 1) < 0) { + res = AST_TEST_FAIL; + goto test_exit; + } + + ast_taskprocessor_execute(tps); + + if (check_stats(test, pvt, 2, 1, 1) < 0) { res = AST_TEST_FAIL; goto test_exit; } From 69ae9ff20d866ad02cc86e9b08da85ee2b15390b Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 12 Nov 2012 21:20:14 +0000 Subject: [PATCH 014/186] Merged revisions 376148,376169 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376148 | elguero | 2012-11-12 14:18:47 -0600 (Mon, 12 Nov 2012) | 26 lines Fix Dynamic Hints Variable Substition - Underscore Problem When adding a dynamic hint, if an extension contains an underscore no variable subsitution is being performed. This patch changes from checking if the extension contains an underscore to checking if the extension begins with an underscore. (closes issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by: Steven T. Wheeler, Michael L. Young Patches: asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2188/ ........ Merged revisions 376142 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376143 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376144 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r376169 | file | 2012-11-12 14:46:51 -0600 (Mon, 12 Nov 2012) | 20 lines Properly check if the "Context" and "Extension" headers are empty in a ShowDialPlan action. The code which handles the ShowDialPlan action wrongly assumed that a non-NULL return value from the function which retrieves headers from an action indicates that the header has a value. This is incorrect and the contents must be checked to see if they are blank. (closes issue ASTERISK-20628) Reported by: jkroon Patches: asterisk-showdialplan-incorrect-error.patch uploaded by jkroon ........ Merged revisions 376166 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376167 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376168 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376176 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/pbx.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/main/pbx.c b/main/pbx.c index ba66fcac57..19b284c83f 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -7891,17 +7891,17 @@ static int manager_show_dialplan(struct mansession *s, const struct message *m) manager_show_dialplan_helper(s, m, idtext, context, exten, &counters, NULL); - if (context && !counters.context_existence) { + if (!ast_strlen_zero(context) && !counters.context_existence) { char errorbuf[BUFSIZ]; snprintf(errorbuf, sizeof(errorbuf), "Did not find context %s", context); astman_send_error(s, m, errorbuf); return 0; } - if (exten && !counters.extension_existence) { + if (!ast_strlen_zero(exten) && !counters.extension_existence) { char errorbuf[BUFSIZ]; - if (context) + if (!ast_strlen_zero(context)) snprintf(errorbuf, sizeof(errorbuf), "Did not find extension %s@%s", exten, context); else snprintf(errorbuf, sizeof(errorbuf), "Did not find extension %s in any context", exten); @@ -7909,6 +7909,10 @@ static int manager_show_dialplan(struct mansession *s, const struct message *m) return 0; } + if (!counters.total_items) { + manager_dpsendack(s, m); + } + astman_append(s, "Event: ShowDialPlanComplete\r\n" "EventList: Complete\r\n" "ListItems: %d\r\n" @@ -9566,7 +9570,7 @@ static int ast_add_extension2_lockopt(struct ast_context *con, } /* If we are adding a hint evalulate in variables and global variables */ - if (priority == PRIORITY_HINT && strstr(application, "${") && !strstr(extension, "_")) { + if (priority == PRIORITY_HINT && strstr(application, "${") && extension[0] != '_') { struct ast_channel *c = ast_dummy_channel_alloc(); if (c) { From 096540c2c0f1c445ce9ff48e67282ad7f41d000d Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 13 Nov 2012 20:19:49 +0000 Subject: [PATCH 015/186] Merged revisions 376219 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r376219 | jrose | 2012-11-13 13:42:13 -0600 (Tue, 13 Nov 2012) | 12 lines chan_sip: Add SubscribeContext field to SIPshowpeer AMI response The new field is will show up within the response if the requested peer has a subscribe context set. (closes issue ASTERISK-20626) Reported by: Jaco Kroon Patches: asterisk-sip-ami-SubscrContext.patch uploaded by jkroon (license 5671) -with modifications by jrose to conform to style guidelines Review: https://reviewboard.asterisk.org/r/2195/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376224 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- CHANGES | 3 +++ channels/chan_sip.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/CHANGES b/CHANGES index 54665e5092..4da4fd9b13 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,9 @@ AMI (Asterisk Manager Interface) ------------------ + * The SIPshowpeer action will now include a 'SubscribeContext' field for a peer + in its response if the peer has a subscribe context set. + * The SIPqualifypeer action now acknowledges the request once it has established that the request is against a known peer. It also issues a new event, 'SIPqualifypeerdone', once the qualify action has been completed. diff --git a/channels/chan_sip.c b/channels/chan_sip.c index c939df955b..a0b1c2ff0e 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -19876,6 +19876,9 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct astman_append(s, "RemoteSecretExist: %s\r\n", ast_strlen_zero(peer->remotesecret)?"N":"Y"); astman_append(s, "MD5SecretExist: %s\r\n", ast_strlen_zero(peer->md5secret)?"N":"Y"); astman_append(s, "Context: %s\r\n", peer->context); + if (!ast_strlen_zero(peer->subscribecontext)) { + astman_append(s, "SubscribeContext: %s\r\n", peer->subscribecontext); + } astman_append(s, "Language: %s\r\n", peer->language); astman_append(s, "ToneZone: %s\r\n", peer->zone[0] != '\0' ? peer->zone : ""); if (!ast_strlen_zero(peer->accountcode)) From c178c4d337b0e164a105503214686a24cb2fc490 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 14 Nov 2012 20:20:21 +0000 Subject: [PATCH 016/186] Merged revisions 376235 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376235 | rmudgett | 2012-11-14 13:55:39 -0600 (Wed, 14 Nov 2012) | 25 lines Fix call files when astspooldir is relative. Future dated call files are ignored when astspooldir is relative to the current directory. The queue_file() assumed that the qdir needed to be prepended if the given filename did not start with a '/'. If astspooldir is relative it is not going to start from the root directory obviously so it will not start with a '/'. The filename used in queue_file() ultimately results in qdir prepended multiple times. * Made queue_file() not prepend qdir if the filename contains a '/'. (closes issue ASTERISK-20593) Reported by: James Le Cuirot Patches: 0004-Fix-future-call-files-from-relative-directories.patch (license #6439) patch uploaded by James Le Cuirot ........ Merged revisions 376232 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376233 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376234 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376242 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx/pbx_spool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c index f1b7445594..6a47bef87c 100644 --- a/pbx/pbx_spool.c +++ b/pbx/pbx_spool.c @@ -509,7 +509,7 @@ static void queue_file(const char *filename, time_t when) int res; time_t now = time(NULL); - if (filename[0] != '/') { + if (!strchr(filename, '/')) { char *fn = ast_alloca(strlen(qdir) + strlen(filename) + 2); sprintf(fn, "%s/%s", qdir, filename); /* SAFE */ filename = fn; From 4db89319694edca969bf9bb3cfd74c21617a1e87 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 15 Nov 2012 03:19:12 +0000 Subject: [PATCH 017/186] Merged revisions 376282 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376282 | newtonr | 2012-11-14 20:29:40 -0600 (Wed, 14 Nov 2012) | 16 lines (issue ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo Takebe Tested by: Rusty Newton Patches: asterisk20280.patch uploaded by Rusty Newton (license 5829) ........ Merged revisions 376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376263 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376264 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376287 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 7253117b29..ccab7f1e22 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -14748,7 +14748,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re strcpy(flag, "Urgent"); } else if (flag) { ast_verb(3, "UNmarking message as Urgent\n"); - res = ast_play_and_wait(chan, "vm-urgent-removed"); + res = ast_play_and_wait(chan, "vm-marked-nonurgent"); strcpy(flag, ""); } else { ast_play_and_wait(chan, "vm-sorry"); From 748b374ac8a76b8c9ba2fe8adc518865e5ff5071 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 15 Nov 2012 15:20:01 +0000 Subject: [PATCH 018/186] Merged revisions 376291 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376291 | beagles | 2012-11-15 08:35:01 -0600 (Thu, 15 Nov 2012) | 14 lines Patch to prevent stopping the active generator when it is not the silence generator. This patch introduces an internal helper function to safely check whether the current generator is the one that is expected before deactivating it. The current externally accessible ast_channel_stop_generator() function has been modified to be implemented in terms of the new function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad ........ Merged revisions 376217 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376296 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/channel.c | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/main/channel.c b/main/channel.c index 9998225f02..9edb0cc7f1 100644 --- a/main/channel.c +++ b/main/channel.c @@ -3144,7 +3144,11 @@ static int generator_force(const void *data) res = generate(chan, tmp, 0, ast_format_rate(ast_channel_writeformat(chan)) / 50); - ast_channel_generatordata_set(chan, tmp); + ast_channel_lock(chan); + if (ast_channel_generator(chan) && generate == ast_channel_generator(chan)->generate) { + ast_channel_generatordata_set(chan, tmp); + } + ast_channel_unlock(chan); if (res) { ast_debug(1, "Auto-deactivating generator\n"); @@ -8774,18 +8778,45 @@ struct ast_silence_generator *ast_channel_start_silence_generator(struct ast_cha return state; } +static int internal_deactivate_generator(struct ast_channel *chan, void* generator) +{ + ast_channel_lock(chan); + + if (!ast_channel_generatordata(chan)) { + ast_debug(1, "Trying to stop silence generator when there is no " + "generator on '%s'\n", ast_channel_name(chan)); + ast_channel_unlock(chan); + return 0; + } + if (ast_channel_generator(chan) != generator) { + ast_debug(1, "Trying to stop silence generator when it is not the current " + "generator on '%s'\n", ast_channel_name(chan)); + ast_channel_unlock(chan); + return 0; + } + if (ast_channel_generator(chan) && ast_channel_generator(chan)->release) { + ast_channel_generator(chan)->release(chan, ast_channel_generatordata(chan)); + } + ast_channel_generatordata_set(chan, NULL); + ast_channel_generator_set(chan, NULL); + ast_channel_set_fd(chan, AST_GENERATOR_FD, -1); + ast_clear_flag(ast_channel_flags(chan), AST_FLAG_WRITE_INT); + ast_settimeout(chan, 0, NULL, NULL); + ast_channel_unlock(chan); + + return 1; +} + void ast_channel_stop_silence_generator(struct ast_channel *chan, struct ast_silence_generator *state) { if (!state) return; - ast_deactivate_generator(chan); - - ast_debug(1, "Stopped silence generator on '%s'\n", ast_channel_name(chan)); - - if (ast_set_write_format(chan, &state->old_write_format) < 0) - ast_log(LOG_ERROR, "Could not return write format to its original state\n"); - + if (internal_deactivate_generator(chan, &silence_generator)) { + ast_debug(1, "Stopped silence generator on '%s'\n", ast_channel_name(chan)); + if (ast_set_write_format(chan, &state->old_write_format) < 0) + ast_log(LOG_ERROR, "Could not return write format to its original state\n"); + } ast_free(state); } From 4b4be549cb5ac9e43e0f19cfe5cddb726bec5896 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 15 Nov 2012 23:20:11 +0000 Subject: [PATCH 019/186] Merged revisions 376312 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376312 | jrose | 2012-11-15 17:10:13 -0600 (Thu, 15 Nov 2012) | 23 lines app_meetme: Fix channels lingering when hung up under certain conditions Channels would get stuck and MeetMe would repeatedly display an Unable to write frame to channel error in the conf_run function if hung up during certain sound prompts such as during user count announcements. This patch fixes that by reintroducing a hangup check in the meetme's main loop (also in conf_run). (closes issue ASTERISK-20486) Reported by: Michael Cargile Review: https://reviewboard.asterisk.org/r/2187/ Patches: meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan Rose (license 6182) ........ Merged revisions 376307 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376308 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376310 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376320 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_meetme.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index da66c59416..9346e7b3c5 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -3401,6 +3401,11 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc break; } + /* Perform a hangup check here since ast_waitfor_nandfds will not always be able to get a channel after a hangup has occurred */ + if (ast_check_hangup(chan)) { + break; + } + c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms); if (c) { @@ -3485,12 +3490,12 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc } if (musiconhold) { - ast_moh_stop(chan); + ast_moh_stop(chan); } if (menu8_active) { /* *8 Submenu */ dtmf = f->subclass.integer; - if (dtmf) { + if (dtmf > 0) { int keepplaying; int playednamerec; struct ao2_iterator user_iter; @@ -3649,7 +3654,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc } else { dtmf = f->subclass.integer; } - if (dtmf) { + if (dtmf > 0) { switch(dtmf) { case '1': /* Un/Mute */ menu_active = 0; @@ -3756,7 +3761,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc } else { dtmf = f->subclass.integer; } - if (dtmf) { + if (dtmf > 0) { switch (dtmf) { case '1': /* Un/Mute */ menu_active = 0; From e8898ec8bab18c6c6cadc94f4b2c33a623f5a46f Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 16 Nov 2012 00:19:48 +0000 Subject: [PATCH 020/186] Merged revisions 376341,376344-376345 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376341 | dlee | 2012-11-15 18:08:00 -0600 (Thu, 15 Nov 2012) | 34 lines Migrate hashtest/hashtest2 to be unit tests. Both hashtest and hashtest2 are manual testing apps that thrash hash tables (hashtab and ao2 containers, respectively), by spinning up several threads that randomly insert, delete, lookup and iterate over the hash table. If the app doesn't crash, the hash table probably passes the test. Those utils are not a part of the typical Asterisk build, so they do not usually get compiled. This all makes them less that useful. This patch removes those manual test programs and replaces them with Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It also attempts to make the tests more deterministic. * Rather than spinning up some number of threads that operate on the hash table randomly, spin up four threads that concurrenly add, remove, lookup and iterate over the hash table. * Each thread checks the state of the hash table both during and after execution, and indicates a test failure if things are not as expected. * Each thread times out after 60 seconds to prevent deadlocking the unit test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged revisions 376306 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376315 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376339 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r376344 | dlee | 2012-11-15 18:14:00 -0600 (Thu, 15 Nov 2012) | 1 line Somehow I put in svn-1.6 merge information. Oops. ................ r376345 | dlee | 2012-11-15 18:15:30 -0600 (Thu, 15 Nov 2012) | 15 lines Fixed extconf.c breakage introduced in r376306. To quote wdoekes: > Note that I'm not confirming legitimacy of having that file in tree at > all. Is anyone using aelparse/conf2ael? ........ Merged revisions 376340 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376342 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376343 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376352 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/hashtab.h | 3 + tests/test_astobj2_thrash.c | 353 ++++++++++++++++++++++++++++++ tests/test_hashtab_thrash.c | 321 +++++++++++++++++++++++++++ utils/Makefile | 7 +- utils/extconf.c | 1 + utils/hashtest.c | 410 ---------------------------------- utils/hashtest2.c | 424 ------------------------------------ utils/utils.xml | 8 - 8 files changed, 679 insertions(+), 848 deletions(-) create mode 100644 tests/test_astobj2_thrash.c create mode 100644 tests/test_hashtab_thrash.c delete mode 100644 utils/hashtest.c delete mode 100644 utils/hashtest2.c diff --git a/include/asterisk/hashtab.h b/include/asterisk/hashtab.h index 89d293759a..17eff70482 100644 --- a/include/asterisk/hashtab.h +++ b/include/asterisk/hashtab.h @@ -23,6 +23,9 @@ * \brief Generic (perhaps overly so) hashtable implementation * \ref AstHash */ + +#include "asterisk/lock.h" + /*! \page AstHash Hash Table support in Asterisk A hash table is a structure that allows for an exact-match search diff --git a/tests/test_astobj2_thrash.c b/tests/test_astobj2_thrash.c new file mode 100644 index 0000000000..f43445a051 --- /dev/null +++ b/tests/test_astobj2_thrash.c @@ -0,0 +1,353 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, David M. Lee, II + * + * David M. Lee, II + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/* + *! \file \brief Thrash a astobj2 container, for fun and profit. + * + * \author\verbatim David M. Lee, II \endverbatim + * + * Inspired by the original hashtest2.c by Steve Murphy . This test runs + * several threads manipulatings a concurrent astobj2 container to see if they maintain + * consistency. While the tests attempt to check consistency and error normally, threading + * errors often result in segfaults. + * \ingroup tests + */ + +/*** MODULEINFO + TEST_FRAMEWORK + core + ***/ + +#include "asterisk.h" + +ASTERISK_FILE_VERSION(__FILE__, "$Revision$") +#include +#include "asterisk/astobj2.h" +#include "asterisk/hashtab.h" +#include "asterisk/lock.h" +#include "asterisk/module.h" +#include "asterisk/test.h" +#include "asterisk/time.h" +#include "asterisk/utils.h" + +#define MAX_HASH_ENTRIES 15000 +#define MAX_TEST_SECONDS 60 + +struct hash_test { + /*! Unit under test */ + struct ao2_container *to_be_thrashed; + /*! Number of entries to insert in the grow thread. */ + int max_grow; + /*! Number of enteries added by the grow thread. */ + int grow_count; + /*! Entries preloaded into the hashtab; to be deleted by the shrink thread */ + int preload; + /*! When to give up on the tests */ + struct timeval deadline; +}; + +static int alloc_count = 0; + +static int is_timed_out(struct hash_test const *data) { + return ast_tvdiff_us(data->deadline, ast_tvnow()) < 0; +} + +/*! /brief Free test element */ +static void ht_delete(void *obj) +{ + ast_atomic_fetchadd_int(&alloc_count, -1); +} + +/*! /brief Create test element */ +static char *ht_new(int i) +{ + const int buflen = 12; + char *keybuf = ao2_alloc(buflen, ht_delete); + int needed; + if (keybuf == NULL) { + return NULL; + } + needed = snprintf(keybuf, buflen, "key%08x", i); + ast_atomic_fetchadd_int(&alloc_count, 1); + ast_assert(needed + 1 <= buflen); + return keybuf; +} + +/*! /brief Grow the hash data as specified */ +static void *hash_test_grow(void *d) +{ + struct hash_test *data = d; + int i; + + for (i = 0; i < data->max_grow; ++i) { + char *ht; + if (is_timed_out(data)) { + printf("Growth timed out at %d\n", i); + return "Growth timed out"; + } + ht = ht_new(i); + if (ht == NULL) { + return "Allocation failed"; + } + ao2_link(data->to_be_thrashed, ht); + ao2_ref(ht, -1); + ast_atomic_fetchadd_int(&data->grow_count, 1); + } + return NULL; +} + +/*! Randomly lookup data in the hash */ +static void *hash_test_lookup(void *d) +{ + struct hash_test *data = d; + int max; + unsigned seed = time(NULL); + + /* ast_atomic_fetchadd_int provide a memory fence so that the optimizer doesn't + * optimize away reads. + */ + while ((max = ast_atomic_fetchadd_int(&data->grow_count, 0)) < data->max_grow) { + int i; + char *obj; + char *from_ao2; + + if (is_timed_out(data)) { + return "Lookup timed out"; + } + + if (max == 0) { + /* No data yet; yield and try again */ + sched_yield(); + continue; + } + + /* Randomly lookup one object from the hash */ + i = rand_r(&seed) % max; + obj = ht_new(i); + if (obj == NULL) { + return "Allocation failed"; + } + from_ao2 = ao2_find(data->to_be_thrashed, obj, OBJ_POINTER); + ao2_ref(obj, -1); + ao2_ref(from_ao2, -1); + if (from_ao2 == NULL) { + return "Key unexpectedly missing"; + } + } + + return NULL; +} + +/*! Delete entries from the hash */ +static void *hash_test_shrink(void *d) +{ + const struct hash_test *data = d; + int i; + + for (i = 1; i < data->preload; ++i) { + char *obj = ht_new(-i); + char *from_ao2; + + if (obj == NULL) { + return "Allocation failed"; + } + from_ao2 = ao2_find(data->to_be_thrashed, obj, OBJ_UNLINK | OBJ_POINTER); + + ao2_ref(obj, -1); + if (from_ao2) { + ao2_ref(from_ao2, -1); + } else { + return "Could not find object to delete"; + } + + if (is_timed_out(data)) { + return "Shrink timed out"; + } + } + + return NULL; +} + +/*! ao2_callback for hash_test_count */ +static int increment_count(void *obj, void *arg, int flags) { + char *ht = obj; + int *count = arg; + if (strncmp(ht, "key0", 4) == 0) { + ++(*count); + } + return 0; +} + +/*! Continuously iterate through all the entries in the hash */ +static void *hash_test_count(void *d) +{ + const struct hash_test *data = d; + int count = 0; + int last_count = 0; + + while (count < data->max_grow) { + last_count = count; + count = 0; + ao2_callback(data->to_be_thrashed, OBJ_MULTIPLE, increment_count, &count); + + if (last_count == count) { + /* Allow other threads to run. */ + sched_yield(); + } else if (last_count > count) { + /* Make sure the ao2 container never shrinks */ + return "ao2 container unexpectedly shrank"; + } + + if (is_timed_out(data)) { + return "Count timed out"; + } + } + + /* Successfully iterated over all of the expected elements */ + return NULL; +} + +static int hash_string(const void *obj, const int flags) +{ + return ast_hashtab_hash_string_nocase(obj); +} + +static int compare_strings(void *lhs, void *rhs, int flags) +{ + const char *lhs_str = lhs; + const char *rhs_str = rhs; + if (strcasecmp(lhs_str, rhs_str) == 0) { + return CMP_MATCH | CMP_STOP; + } else { + return 0; + } +} + +AST_TEST_DEFINE(hash_test) +{ + enum ast_test_result_state res = AST_TEST_PASS; + struct hash_test data = {}; + pthread_t grow_thread, count_thread, lookup_thread, shrink_thread; + void *thread_results; + int i; + + switch (cmd) { + case TEST_INIT: + info->name = "thrash"; + info->category = "/main/astobj2/"; + info->summary = "Testing astobj2 container concurrency"; + info->description = "Test astobj2 container concurrency correctness."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + ast_test_status_update(test, "Executing hash concurrency test...\n"); + data.preload = MAX_HASH_ENTRIES / 2; + data.max_grow = MAX_HASH_ENTRIES - data.preload; + data.deadline = ast_tvadd(ast_tvnow(), ast_tv(MAX_TEST_SECONDS, 0)); + data.to_be_thrashed = ao2_container_alloc(MAX_HASH_ENTRIES / 100, hash_string, + compare_strings); + + if (data.to_be_thrashed == NULL) { + ast_test_status_update(test, "Allocation failed\n"); + /* Nothing needs to be freed; early return is fine */ + return AST_TEST_FAIL; + } + + /* preload with data to delete */ + for (i = 1; i < data.preload; ++i) { + char *ht = ht_new(-i); + if (ht == NULL) { + ast_test_status_update(test, "Allocation failed\n"); + ao2_ref(data.to_be_thrashed, -1); + return AST_TEST_FAIL; + } + ao2_link(data.to_be_thrashed, ht); + ao2_ref(ht, -1); + } + + /* add data.max_grow entries to the ao2 container */ + ast_pthread_create(&grow_thread, NULL, hash_test_grow, &data); + /* continually count the keys added by the grow thread */ + ast_pthread_create(&count_thread, NULL, hash_test_count, &data); + /* continually lookup keys added by the grow thread */ + ast_pthread_create(&lookup_thread, NULL, hash_test_lookup, &data); + /* delete all keys preloaded into the ao2 container */ + ast_pthread_create(&shrink_thread, NULL, hash_test_shrink, &data); + + pthread_join(grow_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Growth thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(count_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Count thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(lookup_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Lookup thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(shrink_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Shrink thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + if (ao2_container_count(data.to_be_thrashed) != data.max_grow) { + ast_test_status_update(test, + "Invalid ao2 container size. Expected: %d, Actual: %d\n", + data.max_grow, ao2_container_count(data.to_be_thrashed)); + res = AST_TEST_FAIL; + } + + ao2_ref(data.to_be_thrashed, -1); + + /* check for object leaks */ + if (ast_atomic_fetchadd_int(&alloc_count, 0) != 0) { + ast_test_status_update(test, "Leaked %d objects!\n", + ast_atomic_fetchadd_int(&alloc_count, 0)); + res = AST_TEST_FAIL; + } + + return res; +} + +static int unload_module(void) +{ + AST_TEST_UNREGISTER(hash_test); + return 0; +} + +static int load_module(void) +{ + AST_TEST_REGISTER(hash_test); + return AST_MODULE_LOAD_SUCCESS; +} + +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "astobj2 container thrash test"); diff --git a/tests/test_hashtab_thrash.c b/tests/test_hashtab_thrash.c new file mode 100644 index 0000000000..373922bf84 --- /dev/null +++ b/tests/test_hashtab_thrash.c @@ -0,0 +1,321 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, David M. Lee, II + * + * David M. Lee, II + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/* + *! \file \brief Thrash a hash table, for fun and profit. + * + * \author\verbatim David M. Lee, II \endverbatim + * + * Inspired by the original hashtest.c by Steve Murphy . This test runs + * several threads manipulatings a concurrent hastab to see if they maintain + * consistency. While the tests attempt to check consistency and error normally, threading + * errors often result in segfaults. + * \ingroup tests + */ + +/*** MODULEINFO + TEST_FRAMEWORK + core + ***/ + +#include "asterisk.h" + +ASTERISK_FILE_VERSION(__FILE__, "$Revision$") +#include +#include "asterisk/hashtab.h" +#include "asterisk/lock.h" +#include "asterisk/module.h" +#include "asterisk/test.h" +#include "asterisk/time.h" +#include "asterisk/utils.h" + +#define MAX_HASH_ENTRIES 30000 +#define MAX_TEST_SECONDS 60 + +struct hash_test { + /*! Unit under test */ + struct ast_hashtab *to_be_thrashed; + /*! Number of entries to insert in the grow thread. */ + int max_grow; + /*! Number of enteries added by the grow thread. */ + int grow_count; + /*! Entries preloaded into the hashtab; to be deleted by the shrink thread */ + int preload; + /*! When to give up on the tests */ + struct timeval deadline; +}; + +static int is_timed_out(struct hash_test const *data) { + return ast_tvdiff_us(data->deadline, ast_tvnow()) < 0; +} + +/*! /brief Create test element */ +static char *ht_new(int i) +{ + const int buflen = 12; + char *keybuf = ast_malloc(buflen); + int needed; + if (keybuf == NULL) { + return NULL; + } + needed = snprintf(keybuf, buflen, "key%08x", i); + ast_assert(needed + 1 <= buflen); + return keybuf; +} + +/*! /brief Free test element */ +static void ht_delete(void *obj) +{ + ast_free(obj); +} + +/*! /brief Grow the hash data as specified */ +static void *hash_test_grow(void *d) +{ + struct hash_test *data = d; + int i; + + for (i = 0; i < data->max_grow; ++i) { + char *obj; + if (is_timed_out(data)) { + return "Growth timed out"; + } + obj = ht_new(i); + if (obj == NULL) { + return "Allocation failed"; + } + ast_hashtab_insert_immediate(data->to_be_thrashed, obj); + ast_atomic_fetchadd_int(&data->grow_count, 1); + } + return NULL; +} + +/*! Randomly lookup data in the hash */ +static void *hash_test_lookup(void *d) +{ + struct hash_test *data = d; + int max; + unsigned seed = time(NULL); + + /* ast_atomic_fetchadd_int provide a memory fence so that the optimizer doesn't + * optimize away reads. + */ + while ((max = ast_atomic_fetchadd_int(&data->grow_count, 0)) < data->max_grow) { + int i; + char *obj; + int is_in_hashtab; + + if (is_timed_out(data)) { + return "Lookup timed out"; + } + + if (max == 0) { + /* No data yet; yield and try again */ + sched_yield(); + continue; + } + + /* Randomly lookup one object from the hash */ + i = rand_r(&seed) % max; + obj = ht_new(i); + if (obj == NULL) { + return "Allocation failed."; + } + is_in_hashtab = (ast_hashtab_lookup(data->to_be_thrashed, obj) != NULL); + ht_delete(obj); + if (!is_in_hashtab) { + return "key unexpectedly missing"; + } + } + + return NULL; +} + +/*! Delete entries from the hash */ +static void *hash_test_shrink(void *d) +{ + const struct hash_test *data = d; + int i; + + for (i = 1; i < data->preload; ++i) { + char *obj = ht_new(-i); + char *from_hashtab; + int deleted; + + if (obj == NULL) { + return "Allocation failed"; + } + from_hashtab = ast_hashtab_remove_object_via_lookup(data->to_be_thrashed, obj); + deleted = from_hashtab != NULL; + + ht_delete(obj); + ht_delete(from_hashtab); + if (!deleted) { + return "could not delete object"; + } + if (is_timed_out(data)) { + return "Shrink timed out"; + } + } + return NULL; +} + +/*! Continuously iterate through all the entries in the hash */ +static void *hash_test_count(void *d) +{ + const struct hash_test *data = d; + int count = 0; + int last_count = 0; + + while (count < data->max_grow) { + struct ast_hashtab_iter *it = ast_hashtab_start_write_traversal(data->to_be_thrashed); + char *ht = ast_hashtab_next(it); + last_count = count; + count = 0; + while (ht) { + /* only count keys added by grow thread */ + if (strncmp(ht, "key0", 4) == 0) { + ++count; + } + ht = ast_hashtab_next(it); + } + ast_hashtab_end_traversal(it); + + if (last_count == count) { + /* Allow other threads to run. */ + sched_yield(); + } else if (last_count > count) { + /* Make sure the hashtable never shrinks */ + return "hashtab unexpectedly shrank"; + } + + if (is_timed_out(data)) { + return "Count timed out"; + } + } + + /* Successfully iterated over all of the expected elements */ + return NULL; +} + +AST_TEST_DEFINE(hash_test) +{ + enum ast_test_result_state res = AST_TEST_PASS; + struct hash_test data = {}; + pthread_t grow_thread, count_thread, lookup_thread, shrink_thread; + void *thread_results; + int i; + + switch (cmd) { + case TEST_INIT: + info->name = "thrash"; + info->category = "/main/hashtab/"; + info->summary = "Testing hashtab concurrency"; + info->description = "Test hashtab concurrency correctness."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + ast_test_status_update(test, "Executing hash concurrency test...\n"); + data.preload = MAX_HASH_ENTRIES / 2; + data.max_grow = MAX_HASH_ENTRIES - data.preload; + data.deadline = ast_tvadd(ast_tvnow(), ast_tv(MAX_TEST_SECONDS, 0)); + data.to_be_thrashed = ast_hashtab_create(MAX_HASH_ENTRIES / 100, + ast_hashtab_compare_strings_nocase, ast_hashtab_resize_java, + ast_hashtab_newsize_java, ast_hashtab_hash_string_nocase, 1); + + if (data.to_be_thrashed == NULL) { + ast_test_status_update(test, "Allocation failed\n"); + /* Nothing needs to be freed; early return is fine */ + return AST_TEST_FAIL; + } + + + /* preload with data to delete */ + for (i = 1; i < data.preload; ++i) { + char *obj = ht_new(-i); + if (obj == NULL) { + ast_test_status_update(test, "Allocation failed\n"); + ast_hashtab_destroy(data.to_be_thrashed, ht_delete); + return AST_TEST_FAIL; + } + ast_hashtab_insert_immediate(data.to_be_thrashed, obj); + } + + /* add data.max_grow entries to the hashtab */ + ast_pthread_create(&grow_thread, NULL, hash_test_grow, &data); + /* continually count the keys added by the grow thread */ + ast_pthread_create(&count_thread, NULL, hash_test_count, &data); + /* continually lookup keys added by the grow thread */ + ast_pthread_create(&lookup_thread, NULL, hash_test_lookup, &data); + /* delete all keys preloaded into the hashtab */ + ast_pthread_create(&shrink_thread, NULL, hash_test_shrink, &data); + + pthread_join(grow_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Growth thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(count_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Count thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(lookup_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Lookup thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + pthread_join(shrink_thread, &thread_results); + if (thread_results != NULL) { + ast_test_status_update(test, "Shrink thread failed: %s\n", + (char *)thread_results); + res = AST_TEST_FAIL; + } + + if (ast_hashtab_size(data.to_be_thrashed) != data.max_grow) { + ast_test_status_update(test, + "Invalid hashtab size. Expected: %d, Actual: %d\n", + data.max_grow, ast_hashtab_size(data.to_be_thrashed)); + res = AST_TEST_FAIL; + } + + ast_hashtab_destroy(data.to_be_thrashed, ht_delete); + return res; +} + +static int unload_module(void) +{ + AST_TEST_UNREGISTER(hash_test); + return 0; +} + +static int load_module(void) +{ + AST_TEST_REGISTER(hash_test); + return AST_MODULE_LOAD_SUCCESS; +} + +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Hash test"); diff --git a/utils/Makefile b/utils/Makefile index aff39ce78e..4bd898ce79 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -88,7 +88,7 @@ clean: rm -f *.s *.i rm -f md5.c strcompat.c ast_expr2.c ast_expr2.h ast_expr2f.c pbx_ael.c pval.c hashtab.c lock.c rm -f aelparse.c aelbison.c conf2ael - rm -f utils.c strings.c threadstorage.c sha1.c astobj2.c hashtest2 hashtest refcounter + rm -f utils.c strings.c threadstorage.c sha1.c astobj2.c refcounter rm -f db1-ast/.*.d @$(MAKE) -C db1-ast clean @@ -175,11 +175,6 @@ threadstorage.c: $(ASTTOPDIR)/main/threadstorage.c $(ECHO_PREFIX) echo " [CP] $(subst $(ASTTOPDIR)/,,$<) -> $@" $(CMD_PREFIX) cp "$<" "$@" -hashtest2.o: _ASTCFLAGS+=-O0 -hashtest2: hashtest2.o md5.o lock.o utils.o strings.o astobj2.o sha1.o strcompat.o threadstorage.o clicompat.o poll.o - -hashtest: hashtest.o md5.o hashtab.o lock.o utils.o strings.o sha1.o strcompat.o threadstorage.o clicompat.o poll.o -hashtest.o: _ASTCFLAGS+=-O0 refcounter: refcounter.o md5.o hashtab.o lock.o utils.o strings.o sha1.o strcompat.o threadstorage.o clicompat.o poll.o refcounter.o: _ASTCFLAGS+=-O0 diff --git a/utils/extconf.c b/utils/extconf.c index 43cf2652a9..c62001a776 100644 --- a/utils/extconf.c +++ b/utils/extconf.c @@ -168,6 +168,7 @@ void ast_console_puts(const char *string); #define LOG_DTMF __LOG_DTMF, _A_ /* lock.h */ +#define _ASTERISK_LOCK_H /* A small indication that this is horribly wrong. */ #ifndef HAVE_MTX_PROFILE #define __MTX_PROF(a) return pthread_mutex_lock((a)) diff --git a/utils/hashtest.c b/utils/hashtest.c deleted file mode 100644 index c06d4ac0ad..0000000000 --- a/utils/hashtest.c +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Asterisk -- An open source telephony toolkit. - * - * Copyright (C) 2007, Steve Murphy - * - * Steve Murphy - * - * See http://www.asterisk.org for more information about - * the Asterisk project. Please do not directly contact - * any of the maintainers of this project for assistance; - * the project provides a web site, mailing lists and IRC - * channels for your use. - * - * This program is free software, distributed under the terms of - * the GNU General Public License Version 2. See the LICENSE file - * at the top of the source tree. - */ -/*! \file - * - * \brief A program to thoroughly thrash a hash table, testing - * out locking safety, and making sure all functionality - * is functioning. Run with 5 or more threads to get that - * fully intense firestorm of activity. If your - * hash tables don't crash, lock up, or go weird, it must - * be good code! Even features some global counters - * that will get slightly behind because they aren't lock-protected. - * - * \author Steve Murphy - */ - -/*** MODULEINFO - extended - ***/ - -#include "asterisk.h" -ASTERISK_FILE_VERSION(__FILE__, "$Revision$") - -#include -#include -#include -#include -#include "asterisk/lock.h" -#include "asterisk/hashtab.h" -#include "asterisk/channel.h" -#include "asterisk/utils.h" -#include "asterisk/module.h" -int testno = 1; - -/* stuff we need to make this work with the hashtab stuff */ -#if !defined(LOW_MEMORY) -int64_t ast_mark(int prof_id, int x) -{ - return 0; -} -#endif - -void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead *headp, const char *cp1, char *cp2, int cp2_size, size_t *used); -void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead *headp, const char *cp1, char *cp2, int cp2_size, size_t *used) -{ -} - -struct ht_element -{ - char *key; - char *val; -}; - -static int hashtab_compare_strings_nocase(const void *a, const void *b) -{ - const struct ht_element *ae = a, *be = b; - return ast_hashtab_compare_strings_nocase(ae->key, be->key); -} - -#if 0 -static int hashtab_compare_strings(const void *a, const void *b) -{ - const struct ht_element *ae = a, *be = b; - return ast_hashtab_compare_strings(ae->key, be->key); -} - -static unsigned int hashtab_hash_string(const void *obj) -{ - const struct ht_element *o = obj; - return ast_hashtab_hash_string((const void *)o->key); -} -#endif - -static unsigned int hashtab_hash_string_nocase(const void *obj) -{ - const struct ht_element *o = obj; - return ast_hashtab_hash_string_nocase((const void*)o->key); -} - -/* random numbers */ - -static int my_rand(int incl_low, int incl_high, unsigned int *seedp) -{ - if (incl_high == 0) - return 0; - - return incl_low + (rand_r(seedp) % incl_high); -} - - - - -/* the testing routines */ - -static int glob_highwater = 0; -struct ast_hashtab *glob_hashtab = 0; -unsigned int glob_seed = 0; -int els_removed = 0; -int els_added = 0; -int els_lookedup = 0; -int els_found = 0; -int els_traversals = 0; - -/* all the operations to perform on the hashtab */ - -static void add_element(void) -{ - char keybuf[100]; - struct ht_element *x = malloc(sizeof(struct ht_element)); - sprintf(keybuf,"key%08d", glob_highwater++); - x->key = strdup(keybuf); - x->val = strdup("interesting data"); - ast_hashtab_insert_immediate(glob_hashtab, x); - els_added++; -} - -static void traverse_elements(void) -{ - struct ht_element *el; - int c=0; - struct ast_hashtab_iter *it = ast_hashtab_start_write_traversal(glob_hashtab); -#ifdef DEBUG - printf("Traverse hashtab\n"); -#endif - while ((el = ast_hashtab_next(it))) { - c++; - } - ast_hashtab_end_traversal(it); - els_traversals++; /* unprotected, sometimes off, but, not really important, either */ -} - -static void * del_element(unsigned int *seedp) -{ - char keybuf[100]; - struct ht_element *el, lookup; - int x; - - /* pick a random element from 0 to highwater-1 */ - x = my_rand(0,glob_highwater-1,seedp); - sprintf(keybuf, "key%08d", x); -#ifdef DEBUG - printf("Removing %s", keybuf); -#endif - lookup.key = keybuf; - el = ast_hashtab_remove_object_via_lookup(glob_hashtab, &lookup); - - if (el) { -#ifdef DEBUG - printf("...YES (el=%x)\n", (unsigned long)el); -#endif - free(el->key); - free(el->val); - free(el); - els_removed++; - } else { -#ifdef DEBUG - printf("...NO.\n"); -#endif - return 0; - } - - - return el; -} - -static int lookup_element(unsigned int *seedp) -{ - char keybuf[100]; - struct ht_element *el, lookup; - int x; - - /* pick a random element from 0 to highwater-1 */ - x = my_rand(0,glob_highwater-1,seedp); - sprintf(keybuf, "key%08d", x); - lookup.key = keybuf; - el = ast_hashtab_lookup(glob_hashtab, &lookup); - els_lookedup++; - if (el) - els_found++; - if (el) - return 1; - return 0; -} - - -static void *hashtest(void *data) -{ - int my_els_removed = 0; - int my_els_added = 0; - int my_els_lookedup = 0; - int my_els_found = 0; - int my_els_traversals = 0; - int my_testno = testno++; - int its; - - /* data will be a random number == use as a seed for random numbers */ - unsigned long seed = (unsigned long)data; - - printf("hashtest thread created... test beginning\n"); - - /* main test routine-- a global hashtab exists, pound it like crazy */ - for(its=0;its<100000;its++) - { - void *seed2 = &seed; - int op = my_rand(0,100, seed2); - if (op<60) { - my_els_lookedup++; -#ifdef DEBUG - printf("%d[%d]: LOOKUP\n", my_testno, its); -#endif - if ((my_els_lookedup%1000)==0) { - printf("."); - fflush(stdout); - } - if (lookup_element(seed2)) - my_els_found++; - } else if (op < 61) { /* make this 61 and it'll take 15 minutes to run */ -#ifdef DEBUG - printf("%d[%d]: TRAVERSE\n", my_testno, its); -#endif - traverse_elements(); - my_els_traversals++; - - } else if (op < 80) { -#ifdef DEBUG - printf("%d[%d]: REMOVE\n", my_testno, its); -#endif - if (del_element(seed2)) - my_els_removed++; - } else { - my_els_added++; -#ifdef DEBUG - printf("%d[%d]: ADD\n", my_testno, its); -#endif - add_element(); - } - } - printf("\nhashtest thread %d exiting.... lookups=%d/%d, added=%d, removed=%d, traversals=%d;\n", - my_testno, my_els_found, my_els_lookedup, my_els_added, my_els_removed, my_els_traversals); - printf("\ntotals..................... lookups=%d/%d, added=%d, removed=%d, traversals=%d;\n", - els_found, els_lookedup, els_added, els_removed,els_traversals); - pthread_exit(0); -} - -static void run_hashtest(int numthr) -{ - pthread_t thr[numthr]; - void *thrres[numthr]; - int i, biggest, resize_cnt, numobjs, numbuckets; - - /* init a single global hashtab, then... */ - glob_hashtab = ast_hashtab_create(180000, hashtab_compare_strings_nocase, ast_hashtab_resize_java, ast_hashtab_newsize_java, hashtab_hash_string_nocase, 1); - printf("starting with %d elements in the hashtable...\n", ast_hashtab_capacity(glob_hashtab)); - /* set a random seed */ - glob_seed = (unsigned int)time(0); - srand(glob_seed); - - /* create threads, each running hashtest */ - for(i=0;i 2 || atoi(argv[1]) < 1) - { - printf("Usage: hashtest \n"); - exit(1); - } - - /* one arg == number of threads to create */ - run_hashtest(atoi(argv[1])); - - return 0; -} -#if !defined(LOW_MEMORY) -int ast_add_profile(const char *x, uint64_t scale) -{ - return 0; -} -#endif - -int ast_loader_register(int (*updater)(void)) -{ - return 1; -} - -int ast_loader_unregister(int (*updater)(void)) -{ - return 1; -} -void ast_module_register(const struct ast_module_info *x) -{ -} - -void ast_module_unregister(const struct ast_module_info *x) -{ -} - - -void ast_register_file_version(const char *file, const char *version); -void ast_register_file_version(const char *file, const char *version) -{ -} - -void ast_unregister_file_version(const char *file); -void ast_unregister_file_version(const char *file) -{ - -} - -void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...) -{ - va_list vars; - va_start(vars,fmt); - printf("LOG: lev:%d file:%s line:%d func: %s ", - level, file, line, function); - vprintf(fmt, vars); - fflush(stdout); - va_end(vars); -} - -void __ast_verbose(const char *file, int line, const char *func, int level, const char *fmt, ...) -{ - va_list vars; - va_start(vars,fmt); - - printf("VERBOSE: "); - vprintf(fmt, vars); - fflush(stdout); - va_end(vars); -} - -void ast_register_thread(char *name) -{ - -} - -void ast_unregister_thread(void *id) -{ -} - -#ifdef HAVE_BKTR -struct ast_bt *ast_bt_create(void); -struct ast_bt *ast_bt_create(void) -{ - return NULL; -} - -int ast_bt_get_addresses(struct ast_bt *bt); -int ast_bt_get_addresses(struct ast_bt *bt) -{ - return 0; -} - -char **ast_bt_get_symbols(void **addresses, size_t num_frames); -char **ast_bt_get_symbols(void **addresses, size_t num_frames) -{ - char **foo = calloc(num_frames, sizeof(char *) + 1); - if (foo) { - int i; - for (i = 0; i < num_frames; i++) { - foo[i] = (char *) foo + sizeof(char *) * num_frames; - } - } - return foo; -} - -void *ast_bt_destroy(struct ast_bt *bt); -void *ast_bt_destroy(struct ast_bt *bt) -{ - return NULL; -} -#endif diff --git a/utils/hashtest2.c b/utils/hashtest2.c deleted file mode 100644 index e5b7717986..0000000000 --- a/utils/hashtest2.c +++ /dev/null @@ -1,424 +0,0 @@ -/* - * Asterisk -- An open source telephony toolkit. - * - * Copyright (C) 2007, Steve Murphy - * - * Steve Murphy - * - * See http://www.asterisk.org for more information about - * the Asterisk project. Please do not directly contact - * any of the maintainers of this project for assistance; - * the project provides a web site, mailing lists and IRC - * channels for your use. - * - * This program is free software, distributed under the terms of - * the GNU General Public License Version 2. See the LICENSE file - * at the top of the source tree. - */ -/*! \file - * - * \brief A program to thoroughly thrash a hash table, testing - * out locking safety, and making sure all functionality - * is functioning. Run with 5 or more threads to get that - * fully intense firestorm of activity. If your - * hash tables don't crash, lock up, or go weird, it must - * be good code! Even features some global counters - * that will get slightly behind because they aren't lock-protected. - * - * \author Steve Murphy - */ - -/*** MODULEINFO - extended - ***/ - -#include "asterisk.h" - -ASTERISK_FILE_VERSION(__FILE__, "$Revision$") - -#include -#include -#include - -#include "asterisk/lock.h" -#include "asterisk/astobj2.h" -#include "asterisk/channel.h" -#include "asterisk/utils.h" -#include "asterisk/module.h" - -int testno = 2; - -/* stuff we need to make this work with the astobj2 stuff */ -#if !defined(LOW_MEMORY) -int64_t ast_mark(int prof_id, int x) -{ - return 0; -} -#endif - -/* my OBJECT */ -struct ht_element -{ - char *key; - char *val; -}; - -char *pbx_substitute_variables_helper_full(struct ast_channel *chan, struct varshead *head, const char *cp1, char *cp2, int maxlen, size_t *used); -char *pbx_substitute_variables_helper_full(struct ast_channel *chan, struct varshead *head, const char *cp1, char *cp2, int maxlen, size_t *used) -{ - return NULL; -} - -static int hash_string(const void *obj, const int flags) -{ - char *str = ((struct ht_element*)obj)->key; - int total; - - for (total=0; *str; str++) - { - unsigned int tmp = total; - total <<= 1; /* multiply by 2 */ - total += tmp; /* multiply by 3 */ - total <<= 2; /* multiply by 12 */ - total += tmp; /* multiply by 13 */ - - total += ((unsigned int)(*str)); - } - if (total < 0) - total = -total; - return total; -} - -static int hashtab_compare_strings(void *a, void *b, int flags) -{ - const struct ht_element *ae = a, *be = b; - return !strcmp(ae->key, be->key) ? CMP_MATCH | CMP_STOP : 0; -} - -/* random numbers */ - -static int my_rand(int incl_low, int incl_high, unsigned int *seedp) -{ - if (incl_high == 0) - return 0; - - return incl_low + (rand_r(seedp) % incl_high); -} - - - - -/* the testing routines */ - -static int glob_highwater = 0; -struct ao2_container *glob_hashtab = 0; -unsigned int glob_seed = 0; -int els_removed = 0; -int els_added = 0; -int els_lookedup = 0; -int els_found = 0; -int els_traversals = 0; - -/* all the operations to perform on the hashtab */ - -static void ht_destroy(void *obj) -{ - const struct ht_element *o = obj; - if (o->key) - free(o->key); - if (o->val) - free(o->val); -} - - -static void add_element(void) -{ - char keybuf[100]; - struct ht_element *x = ao2_alloc(sizeof(struct ht_element), ht_destroy); - sprintf(keybuf,"key%08d", glob_highwater++); - x->key = strdup(keybuf); - x->val = strdup("interesting data"); -#ifdef DEBUG - printf("+ %s\n", keybuf); -#endif - ao2_link(glob_hashtab, x); - - els_added++; /* unprotected, sometimes off, but, not really important, either */ -} - -static int do_nothing_cb(void *obj, void *arg, int flags) -{ - return 0; -} - -static void traverse_elements(void) -{ -#ifdef DEBUG - printf("Traverse hashtab\n"); -#endif - ao2_callback(glob_hashtab, OBJ_NODATA, do_nothing_cb, NULL); - els_traversals++; /* unprotected, sometimes off, but, not really important, either */ -} - -static void * del_element(unsigned int *seedp) -{ - char keybuf[100]; - struct ht_element *el, lookup; - int x; - - /* pick a random element from 0 to highwater-1 */ - x = my_rand(0,glob_highwater-1,seedp); - sprintf(keybuf, "key%08d", x); -#ifdef DEBUG - printf("- %s", keybuf); -#endif - lookup.key = keybuf; - el = ao2_find(glob_hashtab, &lookup, OBJ_POINTER); - if (el) { -#ifdef DEBUG - printf("...YES (el=%x)\n", (unsigned long)el); -#endif - ao2_unlink(glob_hashtab, el); /* mistakenly tried to use ao2_ref(c,-2) here to unlink. Bad Boy! */ - els_removed++; - } else { -#ifdef DEBUG - printf("...NO.\n"); -#endif - return 0; - } - return el; -} - -static int lookup_element(unsigned int *seedp) -{ - char keybuf[100]; - struct ht_element *el, lookup; - int x; - - /* pick a random element from 0 to highwater-1 */ - x = my_rand(0,glob_highwater-1,seedp); - sprintf(keybuf, "key%08d", x); - lookup.key = keybuf; - el = ao2_find(glob_hashtab, &lookup, OBJ_POINTER); - els_lookedup++; - if (el) { - els_found++; - ao2_ref(el, -1); /* toss out this ref, no longer needed */ - return 1; - } else { - return 0; - } -} - - -static void *hashtest(void *data) -{ - int my_els_removed = 0; - int my_els_added = 0; - int my_els_lookedup = 0; - int my_els_found = 0; - int my_els_traversals = 0; - int my_testno = testno++; - int its; - - /* data will be a random number == use as a seed for random numbers */ - unsigned long seed = (unsigned long)data; - printf("hashtest thread created... test beginning\n"); - - /* main test routine-- a global hashtab exists, pound it like crazy */ - for(its=0;its<100000;its++) - { - void *seed2 = &seed; - int op = my_rand(0,100, seed2); - if (op<60) { - my_els_lookedup++; -#ifdef DEBUG - printf("%d[%d]: LOOKUP\n", my_testno, its); -#endif - if ((my_els_lookedup%1000)==0) { - printf("."); - fflush(stdout); - } - if (lookup_element(seed2)) - my_els_found++; - } else if (op < 61) { /* make this 61 and it'll take 16 minutes to run */ -#ifdef DEBUG - printf("%d[%d]: TRAVERSE\n", my_testno, its); -#endif - traverse_elements(); - my_els_traversals++; - - } else if (op < 80) { -#ifdef DEBUG - printf("%d[%d]: REMOVE\n", my_testno, its); -#endif - if (del_element(seed2)) - my_els_removed++; - } else { - my_els_added++; -#ifdef DEBUG - printf("%d[%d]: ADD\n", my_testno, its); -#endif - add_element(); - } - } - printf("\nhashtest thread %d exiting.... lookups=%d/%d, added=%d, removed=%d, traversals=%d;\n", - my_testno, my_els_found, my_els_lookedup, my_els_added, my_els_removed, my_els_traversals); - printf("\ntotals..................... lookups=%d/%d, added=%d, removed=%d; traversals=%d\n", - els_found, els_lookedup, els_added, els_removed, els_traversals); - pthread_exit(0); - return NULL; -} - -static void run_hashtest(int numthr) -{ - pthread_t thr[numthr]; - void *thrres[numthr]; - int i; - - /* init a single global hashtab, then... */ - glob_hashtab = ao2_container_alloc(180000, hash_string, hashtab_compare_strings); - - /* set a random seed */ - glob_seed = (unsigned int)time(0); - srand(glob_seed); - - /* create threads, each running hashtest */ - for(i=0;i 2 || atoi(argv[1]) < 1) - { - printf("Usage: hashtest \n"); - exit(1); - } - - /* one arg == number of threads to create */ - run_hashtest(atoi(argv[1])); - - return 0; -} - -#if !defined(LOW_MEMORY) -int ast_add_profile(const char *x, uint64_t scale) -{ - return 0; -} -#endif - -int ast_loader_register(int (*updater)(void)) -{ - return 1; -} - -int ast_loader_unregister(int (*updater)(void)) -{ - return 1; -} -void ast_module_register(const struct ast_module_info *x) -{ -} - -void ast_module_unregister(const struct ast_module_info *x) -{ -} - - -void ast_register_file_version(const char *file, const char *version); -void ast_register_file_version(const char *file, const char *version) -{ -} - -void ast_unregister_file_version(const char *file); -void ast_unregister_file_version(const char *file) -{ - -} - -int ast_register_atexit(void (*func)(void)); -int ast_register_atexit(void (*func)(void)) -{ - return 0; -} - -void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...) -{ - va_list vars; - va_start(vars,fmt); - printf("LOG: lev:%d file:%s line:%d func: %s ", - level, file, line, function); - vprintf(fmt, vars); - fflush(stdout); - va_end(vars); -} - -void __ast_verbose(const char *file, int line, const char *func, int level, const char *fmt, ...) -{ - va_list vars; - va_start(vars,fmt); - - printf("VERBOSE: "); - vprintf(fmt, vars); - fflush(stdout); - va_end(vars); -} - -void ast_register_thread(char *name) -{ - -} - -void ast_unregister_thread(void *id) -{ -} - -#ifdef HAVE_BKTR -struct ast_bt* ast_bt_create(void) -{ - return NULL; -} - -int ast_bt_get_addresses(struct ast_bt *bt) -{ - return -1; -} - -char **ast_bt_get_symbols(void **addresses, size_t num_frames) -{ - char **foo = calloc(num_frames, sizeof(char *) + 1); - if (foo) { - int i; - for (i = 0; i < num_frames; i++) { - foo[i] = (char *) foo + sizeof(char *) * num_frames; - } - } - return foo; -} - -void *ast_bt_destroy(struct ast_bt *bt) -{ - return NULL; -} -#endif diff --git a/utils/utils.xml b/utils/utils.xml index a9b6e28ca1..58d2932e4d 100644 --- a/utils/utils.xml +++ b/utils/utils.xml @@ -32,14 +32,6 @@ no extended - - no - extended - - - no - extended - no extended From 12de4198b83cd30ae1f991ee3ea8e752b39898e0 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 16 Nov 2012 04:33:53 +0000 Subject: [PATCH 021/186] Add a shutdown callback to taskprocessor listeners. This helps account for the fact that it is unknown just how many references may exist for a given taskprocessor listener, so simply unreffing it from the taskprocessor shutdown function is not enough to convey the gravity of the situation. By putting in a shutdown callback, it now becomes clear to the listener not to try to do any further operations on the taskprocessor. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376381 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 12 ++++++++++++ main/taskprocessor.c | 18 ++++++++++++++---- tests/test_taskprocessor.c | 8 ++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 5ea14907a1..895bc17643 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -86,6 +86,18 @@ struct ast_taskprocessor_listener_callbacks { * \param listener The listener */ void (*emptied)(struct ast_taskprocessor_listener *listener); + /*! + * \brief Indicates the taskprocessor wishes to die. + * + * All operations on the task processor must to be stopped in + * this callback. + * + * After this callback returns, it is NOT safe to operate on the + * listener's reference to the taskprocessor. + * + * \param listener The listener + */ + void (*shutdown)(struct ast_taskprocessor_listener *listener); /*! * \brief Destroy the listener's private data * diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 00c9485843..49e951f3fd 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -136,7 +136,11 @@ static void listener_destroy(void *obj) struct ast_taskprocessor_listener *listener = obj; listener->callbacks->destroy(listener->private_data); +} +static void listener_shutdown(struct ast_taskprocessor_listener *listener) +{ + listener->callbacks->shutdown(listener); ao2_ref(listener->tps, -1); listener->tps = NULL; } @@ -184,13 +188,17 @@ static void *default_listener_alloc(struct ast_taskprocessor_listener *listener) return pvt; } -static void default_listener_destroy(void *obj) +static void default_listener_shutdown(struct ast_taskprocessor_listener *listener) { - struct default_taskprocessor_listener_pvt *pvt = obj; - + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; default_tps_wake_up(pvt, 1); pthread_join(pvt->poll_thread, NULL); pvt->poll_thread = AST_PTHREADT_NULL; +} + +static void default_listener_destroy(void *obj) +{ + struct default_taskprocessor_listener_pvt *pvt = obj; ast_mutex_destroy(&pvt->lock); ast_cond_destroy(&pvt->cond); ast_free(pvt); @@ -214,6 +222,7 @@ static const struct ast_taskprocessor_listener_callbacks default_listener_callba .alloc = default_listener_alloc, .task_pushed = default_task_pushed, .emptied = default_emptied, + .shutdown = default_listener_shutdown, .destroy = default_listener_destroy, }; @@ -571,6 +580,7 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) ao2_unlink(tps_singletons, tps); listener = tps->listener; tps->listener = NULL; + listener_shutdown(listener); ao2_ref(listener, -1); return NULL; } @@ -601,7 +611,7 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps) { struct tps_task *t; int size; - + if (!(t = tps_taskprocessor_pop(tps))) { return 0; } diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index eebf3d0b32..424449dd9b 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -103,6 +103,7 @@ struct test_listener_pvt { int num_pushed; int num_emptied; int num_was_empty; + int shutdown; }; static void *test_alloc(struct ast_taskprocessor_listener *listener) @@ -128,6 +129,12 @@ static void test_emptied(struct ast_taskprocessor_listener *listener) ++pvt->num_emptied; } +static void test_shutdown(struct ast_taskprocessor_listener *listener) +{ + struct test_listener_pvt *pvt = listener->private_data; + pvt->shutdown = 1; +} + static void test_destroy(void *private_data) { struct test_listener_pvt *pvt = private_data; @@ -138,6 +145,7 @@ static const struct ast_taskprocessor_listener_callbacks test_callbacks = { .alloc = test_alloc, .task_pushed = test_task_pushed, .emptied = test_emptied, + .shutdown = test_shutdown, .destroy = test_destroy, }; From 2b36cbe2d5a387c088f5c4b3cb7a93f869986ee9 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 16 Nov 2012 04:44:12 +0000 Subject: [PATCH 022/186] Change the write-up on taskprocessors to reflect the new design. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376382 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 895bc17643..f2cf4c63c7 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -22,22 +22,28 @@ * * \author Dwayne M. Hubbard * - * \note A taskprocessor is a named singleton containing a processing thread and - * a task queue that serializes tasks pushed into it by [a] module(s) that reference the taskprocessor. - * A taskprocessor is created the first time its name is requested via the ast_taskprocessor_get() - * function and destroyed when the taskprocessor reference count reaches zero. + * \note A taskprocessor is a named singleton containing a task queue that serializes tasks pushed + * into it by [a] module(s) that reference the taskprocessor. A taskprocessor is created the first + * time its name is requested via the ast_taskprocessor_get() function and destroyed when the + * taskprocessor reference count reaches zero. A taskprocessor also contains an accompanying + * listener that is told when changes in the task queue occur. * - * Modules that obtain a reference to a taskprocessor can queue tasks into the taskprocessor - * to be processed by the singleton processing thread when the task is popped off the front - * of the queue. A task is a wrapper around a task-handling function pointer and a data - * pointer. It is the responsibility of the task handling function to free memory allocated for - * the task data pointer. A task is pushed into a taskprocessor queue using the + * A task is a wrapper around a task-handling function pointer and a data + * pointer. A task is pushed into a taskprocessor queue using the * ast_taskprocessor_push(taskprocessor, taskhandler, taskdata) function and freed by the * taskprocessor after the task handling function returns. A module releases its reference to a * taskprocessor using the ast_taskprocessor_unreference() function which may result in the * destruction of the taskprocessor if the taskprocessor's reference count reaches zero. Tasks waiting * to be processed in the taskprocessor queue when the taskprocessor reference count reaches zero * will be purged and released from the taskprocessor queue without being processed. + * + * The taskprocessor listener has the flexibility of doling out tasks to best fit the module's + * needs. For instance, a taskprocessor listener may have a single dispatch thread that handles + * all tasks, or it may dispatch tasks to a thread pool. + * + * There is a default taskprocessor listener that will be used if a taskprocessor is created without + * a listener. This default listener runs tasks sequentially in a single thread. The listener will + * execute tasks as long as there are tasks to be processed. */ #ifndef __AST_TASKPROCESSOR_H__ From ec68a156191e9d8d6c752b9232b46a29f90a5cbb Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 16 Nov 2012 05:00:42 +0000 Subject: [PATCH 023/186] Test that shutdown callback is called when expected. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376383 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/taskprocessor.c | 1 + tests/test_taskprocessor.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 49e951f3fd..78118edb5d 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -565,6 +565,7 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) { struct ast_taskprocessor_listener *listener; + if (!tps) { return NULL; } diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index 424449dd9b..2ad172f418 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -239,8 +239,16 @@ AST_TEST_DEFINE(taskprocessor_listener) goto test_exit; } + tps = ast_taskprocessor_unreference(tps); + + if (!pvt->shutdown) { + res = AST_TEST_FAIL; + goto test_exit; + } + test_exit: ao2_ref(listener, -1); + /* This is safe even if tps is NULL */ ast_taskprocessor_unreference(tps); return res; } From f209bc6f9dab88285751acc06002a75bb4d63fc8 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sat, 17 Nov 2012 21:48:59 +0000 Subject: [PATCH 024/186] Change the default taskprocessor test so it will never hang forever. Changes the ast_cond_wait() to an ast_cond_timedwait() so that if there is an issue, we'll never wait forever for the task to finish execution. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376411 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index 2ad172f418..6a2755747e 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -46,7 +46,7 @@ static int task(void *data) { struct task_data *task_data = data; SCOPED_MUTEX(lock, &task_data->lock); - task_data->task_complete = 1; + ++task_data->task_complete; ast_cond_signal(&task_data->cond); return 0; } @@ -55,7 +55,10 @@ AST_TEST_DEFINE(default_taskprocessor) { struct ast_taskprocessor *tps; struct task_data task_data; + struct timeval start; + struct timespec ts; enum ast_test_result_state res = AST_TEST_PASS; + int timedwait_res; switch (cmd) { case TEST_INIT: @@ -76,6 +79,11 @@ AST_TEST_DEFINE(default_taskprocessor) return AST_TEST_FAIL; } + start = ast_tvnow(); + + ts.tv_sec = start.tv_sec + 30; + ts.tv_nsec = start.tv_usec * 1000; + ast_cond_init(&task_data.cond, NULL); ast_mutex_init(&task_data.lock); task_data.task_complete = 0; @@ -83,7 +91,10 @@ AST_TEST_DEFINE(default_taskprocessor) ast_taskprocessor_push(tps, task, &task_data); ast_mutex_lock(&task_data.lock); while (!task_data.task_complete) { - ast_cond_wait(&task_data.cond, &task_data.lock); + timedwait_res = ast_cond_timedwait(&task_data.cond, &task_data.lock, &ts); + if (timedwait_res == ETIMEDOUT) { + break; + } } if (!task_data.task_complete) { From da0e2169ded72ce3a6172f7c67cc35b8b8a45bd7 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sat, 17 Nov 2012 21:55:42 +0000 Subject: [PATCH 025/186] Add a second default taskprocessor test that executes 20000 tasks. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376412 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index 6a2755747e..b9f40f18be 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -110,6 +110,71 @@ test_end: return res; } +AST_TEST_DEFINE(default_taskprocessor_load) +{ + static const int NUM_TASKS = 20000; + struct ast_taskprocessor *tps; + struct task_data task_data; + struct timeval start; + struct timespec ts; + enum ast_test_result_state res = AST_TEST_PASS; + int timedwait_res; + int i; + + switch (cmd) { + case TEST_INIT: + info->name = "default_taskprocessor_load"; + info->category = "/main/taskprocessor/"; + info->summary = "Load test of default taskproccesor"; + info->description = + "Ensure that many queued tasks are executed."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + tps = ast_taskprocessor_get("test", TPS_REF_DEFAULT); + + if (!tps) { + ast_test_status_update(test, "Unable to create test taskprocessor\n"); + return AST_TEST_FAIL; + } + + start = ast_tvnow(); + + ts.tv_sec = start.tv_sec + 60; + ts.tv_nsec = start.tv_usec * 1000; + + ast_cond_init(&task_data.cond, NULL); + ast_mutex_init(&task_data.lock); + task_data.task_complete = 0; + + for (i = 0; i < NUM_TASKS; ++i) { + ast_taskprocessor_push(tps, task, &task_data); + } + + ast_mutex_lock(&task_data.lock); + while (task_data.task_complete < NUM_TASKS) { + timedwait_res = ast_cond_timedwait(&task_data.cond, &task_data.lock, &ts); + if (timedwait_res == ETIMEDOUT) { + break; + } + } + + if (task_data.task_complete != NUM_TASKS) { + ast_test_status_update(test, "Unexpected number of tasks executed. Expected %d but got %d\n", + NUM_TASKS, task_data.task_complete); + res = AST_TEST_FAIL; + goto test_end; + } + +test_end: + tps = ast_taskprocessor_unreference(tps); + ast_mutex_destroy(&task_data.lock); + ast_cond_destroy(&task_data.cond); + return res; +} + struct test_listener_pvt { int num_pushed; int num_emptied; @@ -267,6 +332,7 @@ test_exit: static int unload_module(void) { ast_test_unregister(default_taskprocessor); + ast_test_unregister(default_taskprocessor_load); ast_test_unregister(taskprocessor_listener); return 0; } @@ -274,6 +340,7 @@ static int unload_module(void) static int load_module(void) { ast_test_register(default_taskprocessor); + ast_test_register(default_taskprocessor_load); ast_test_register(taskprocessor_listener); return AST_MODULE_LOAD_SUCCESS; } From 623d741ba1083dc5c28fc96a93f2920ca2d3ff1c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sat, 17 Nov 2012 22:27:39 +0000 Subject: [PATCH 026/186] Restructure taskprocessor load test to test integrity of task execution. This throws a random number to each task and stores a copy locally. After all tasks have executed, the data is checked to be sure tasks executed in the correct order. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376413 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 54 ++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index b9f40f18be..1d6cbb869d 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -46,7 +46,7 @@ static int task(void *data) { struct task_data *task_data = data; SCOPED_MUTEX(lock, &task_data->lock); - ++task_data->task_complete; + task_data->task_complete = 1; ast_cond_signal(&task_data->cond); return 0; } @@ -110,16 +110,33 @@ test_end: return res; } +#define NUM_TASKS 20000 + +static struct load_task_data { + ast_cond_t cond; + ast_mutex_t lock; + int tasks_completed; + int task_rand[NUM_TASKS]; +} load_task_results; + +static int load_task(void *data) +{ + int *randdata = data; + SCOPED_MUTEX(lock, &load_task_results.lock); + load_task_results.task_rand[load_task_results.tasks_completed++] = *randdata; + ast_cond_signal(&load_task_results.cond); + return 0; +} + AST_TEST_DEFINE(default_taskprocessor_load) { - static const int NUM_TASKS = 20000; struct ast_taskprocessor *tps; - struct task_data task_data; struct timeval start; struct timespec ts; enum ast_test_result_state res = AST_TEST_PASS; int timedwait_res; int i; + int rand_data[NUM_TASKS]; switch (cmd) { case TEST_INIT: @@ -145,33 +162,42 @@ AST_TEST_DEFINE(default_taskprocessor_load) ts.tv_sec = start.tv_sec + 60; ts.tv_nsec = start.tv_usec * 1000; - ast_cond_init(&task_data.cond, NULL); - ast_mutex_init(&task_data.lock); - task_data.task_complete = 0; + ast_cond_init(&load_task_results.cond, NULL); + ast_mutex_init(&load_task_results.lock); + load_task_results.tasks_completed = 0; for (i = 0; i < NUM_TASKS; ++i) { - ast_taskprocessor_push(tps, task, &task_data); + rand_data[i] = ast_random(); + ast_taskprocessor_push(tps, load_task, &rand_data[i]); } - ast_mutex_lock(&task_data.lock); - while (task_data.task_complete < NUM_TASKS) { - timedwait_res = ast_cond_timedwait(&task_data.cond, &task_data.lock, &ts); + ast_mutex_lock(&load_task_results.lock); + while (load_task_results.tasks_completed < NUM_TASKS) { + timedwait_res = ast_cond_timedwait(&load_task_results.cond, &load_task_results.lock, &ts); if (timedwait_res == ETIMEDOUT) { break; } } - if (task_data.task_complete != NUM_TASKS) { + if (load_task_results.tasks_completed != NUM_TASKS) { ast_test_status_update(test, "Unexpected number of tasks executed. Expected %d but got %d\n", - NUM_TASKS, task_data.task_complete); + NUM_TASKS, load_task_results.tasks_completed); res = AST_TEST_FAIL; goto test_end; } + for (i = 0; i < NUM_TASKS; ++i) { + if (rand_data[i] != load_task_results.task_rand[i]) { + ast_test_status_update(test, "Queued tasks did not execute in order\n"); + res = AST_TEST_FAIL; + goto test_end; + } + } + test_end: tps = ast_taskprocessor_unreference(tps); - ast_mutex_destroy(&task_data.lock); - ast_cond_destroy(&task_data.cond); + ast_mutex_destroy(&load_task_results.lock); + ast_cond_destroy(&load_task_results.cond); return res; } From dd85c232f04f2d8a53d84f9480a65fcadcb64ba5 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sun, 18 Nov 2012 15:20:26 +0000 Subject: [PATCH 027/186] Merged revisions 376416 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376416 | mjordan | 2012-11-18 08:31:32 -0600 (Sun, 18 Nov 2012) | 13 lines Add a test event that reports changes in ConfBridge state This patch adds a test event to ConfBridge that reports transitions between states in ConfBridge. This is used by tests in the Asterisk Test Suite that verify state changes based on the entering/leaving of conference participants. ........ Merged revisions 376414 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376415 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376422 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/confbridge/conf_state.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/confbridge/conf_state.c b/apps/confbridge/conf_state.c index 1d8750918a..e3684058a4 100644 --- a/apps/confbridge/conf_state.c +++ b/apps/confbridge/conf_state.c @@ -38,6 +38,7 @@ #include "asterisk.h" #include "asterisk/logger.h" +#include "asterisk/test.h" #include "include/conf_state.h" #include "include/confbridge.h" @@ -60,6 +61,10 @@ void conf_default_leave_waitmarked(struct conference_bridge_user *cbu) void conf_change_state(struct conference_bridge_user *cbu, struct conference_state *newstate) { ast_debug(1, "Changing conference '%s' state from %s to %s\n", cbu->conference_bridge->name, cbu->conference_bridge->state->name, newstate->name); + ast_test_suite_event_notify("CONF_CHANGE_STATE", "Conference: %s\r\nOldState: %s\r\nNewState: %s\r\n", + cbu->conference_bridge->name, + cbu->conference_bridge->state->name, + newstate->name); if (cbu->conference_bridge->state->exit) { cbu->conference_bridge->state->exit(cbu); } From 0f95c6b380fc24e4e4b29118c4e21363a0481fc9 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sun, 18 Nov 2012 21:19:45 +0000 Subject: [PATCH 028/186] Merged revisions 376447 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376447 | mjordan | 2012-11-18 14:27:45 -0600 (Sun, 18 Nov 2012) | 55 lines Reorder startup sequence to prevent lockups when process is sent to background Although it is very rare and timing dependent, the potential exists for the call to 'daemon' to cause what appears to be a deadlock in Asterisk during startup. This can occur when a recursive mutex is obtained prior to the daemon call executing. Since daemon uses fork to send the process into the background, any threading primitives are unsafe to re-use after the call. Implementations of pthread recursive mutexes are highly likely to store the thread identifier of the thread that previously obtained the mutex. If the mutex was locked prior to the fork, a subsequent unlock operation will potentially fail as the thread identifier is no longer valid. Since the mutex is still locked, all subsequent attempts to grab the mutex by other threads will block. This behavior exhibited itself most often when DEBUG_THREADS was enabled, as this compile time option surrounds the mutexes in Asterisk with another recursive mutex that protects the storage of thread related information. This made it much more likely that a recursive mutex would be obtained prior to daemon and unlocked after the call. This patch does the following: a) It backports a patch from Asterisk 11 that prevents the spawning of the localtime monitoring thread. This thread is now spawned after Asterisk has fully booted. b) It re-orders the startup sequence to call daemon earlier during Asterisk startup. This limits the potential of threading primitives being accessed by initialization calls before daemon is called. c) It removes calls to ast_verbose/ast_log/etc. prior to daemon being called. Developers should send error messages directly to stderr prior to daemon, as calls to ast_log may access recursive mutexes that store thread related information. d) It reorganizes when thread local storage is created for storing lock information during the creation of threads. Prior to this patch, the read/write lock protecting the list of threads in ast_register_thread would utilize the lock in the thread local storage prior to it being initialized; this patch prevents that. On a very related note, this patch will *greatly* improve the stability of the Asterisk Test Suite. Review: https://reviewboard.asterisk.org/r/2197 (closes issue ASTERISK-19463) Reported by: mjordan Tested by: mjordan ........ Merged revisions 376428 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376431 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376441 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376453 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 246 +++++++++++++++++++++++++++--------------------- main/utils.c | 20 ++-- 2 files changed, 150 insertions(+), 116 deletions(-) diff --git a/main/asterisk.c b/main/asterisk.c index b9e45d01df..637bf1277d 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -395,6 +395,7 @@ static pthread_t consolethread = AST_PTHREADT_NULL; static pthread_t mon_sig_flags; static int canary_pid = 0; static char canary_filename[128]; +static int multi_thread_safe; static char randompool[256]; @@ -502,6 +503,8 @@ void ast_register_thread(char *name) if (!new) return; + + ast_assert(multi_thread_safe); new->id = pthread_self(); new->lwp = ast_get_tid(); new->name = name; /* steal the allocated memory for the thread name */ @@ -1605,7 +1608,7 @@ static int ast_tryconnect(void) int res; ast_consock = socket(PF_LOCAL, SOCK_STREAM, 0); if (ast_consock < 0) { - ast_log(LOG_WARNING, "Unable to create socket: %s\n", strerror(errno)); + fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); return 0; } memset(&sunaddr, 0, sizeof(sunaddr)); @@ -2439,7 +2442,7 @@ static int ast_el_read_char(EditLine *editline, char *cp) break; if (errno == EINTR) continue; - ast_log(LOG_ERROR, "poll failed: %s\n", strerror(errno)); + fprintf(stderr, "poll failed: %s\n", strerror(errno)); break; } @@ -3184,10 +3187,12 @@ static void ast_readconfig(void) if (ast_opt_override_config) { cfg = ast_config_load2(ast_config_AST_CONFIG_FILE, "" /* core, can't reload */, config_flags); - if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID) - ast_log(LOG_WARNING, "Unable to open specified master config file '%s', using built-in defaults\n", ast_config_AST_CONFIG_FILE); - } else + if (cfg == CONFIG_STATUS_FILEMISSING || cfg == CONFIG_STATUS_FILEUNCHANGED || cfg == CONFIG_STATUS_FILEINVALID) { + fprintf(stderr, "Unable to open specified master config file '%s', using built-in defaults\n", ast_config_AST_CONFIG_FILE); + } + } else { cfg = ast_config_load2(config, "" /* core, can't reload */, config_flags); + } /* init with buildtime config */ ast_copy_string(cfg_paths.config_dir, DEFAULT_CONFIG_DIR, sizeof(cfg_paths.config_dir)); @@ -3412,7 +3417,7 @@ static void ast_readconfig(void) for (v = ast_variable_browse(cfg, "compat"); v; v = v->next) { float version; if (sscanf(v->value, "%30f", &version) != 1) { - ast_log(LOG_WARNING, "Compatibility version for option '%s' is not a number: '%s'\n", v->name, v->value); + fprintf(stderr, "Compatibility version for option '%s' is not a number: '%s'\n", v->name, v->value); continue; } if (!strcasecmp(v->name, "app_set")) { @@ -3527,6 +3532,23 @@ static void env_init(void) setenv("AST_VERSION", ast_get_version(), 1); } +static void print_intro_message(const char *runuser, const char *rungroup) +{ + if (ast_opt_console || option_verbose) { + if (ast_register_verbose(console_verboser)) { + fprintf(stderr, "Unable to register console verboser?\n"); + return; + } + WELCOME_MESSAGE; + if (runuser) { + ast_verbose("Running as user '%s'\n", runuser); + } + if (rungroup) { + ast_verbose("Running under group '%s'\n", rungroup); + } + } +} + int main(int argc, char *argv[]) { int c; @@ -3545,10 +3567,6 @@ int main(int argc, char *argv[]) int moduleresult; /*!< Result from the module load subsystem */ struct rlimit l; -#if defined(__AST_DEBUG_MALLOC) - __ast_mm_init_phase_1(); -#endif /* defined(__AST_DEBUG_MALLOC) */ - /* Remember original args for restart */ if (argc > ARRAY_LEN(_argv) - 1) { fprintf(stderr, "Truncating argument size to %d\n", (int)ARRAY_LEN(_argv) - 1); @@ -3568,15 +3586,6 @@ int main(int argc, char *argv[]) if (gethostname(hostname, sizeof(hostname)-1)) ast_copy_string(hostname, "", sizeof(hostname)); ast_mainpid = getpid(); - ast_ulaw_init(); - ast_alaw_init(); - callerid_init(); - ast_builtins_init(); - ast_utils_init(); - tdd_init(); - ast_tps_init(); - ast_fd_init(); - ast_pbx_init(); if (getenv("HOME")) snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME")); @@ -3700,16 +3709,6 @@ int main(int argc, char *argv[]) } } - if (ast_opt_console || option_verbose || (ast_opt_remote && !ast_opt_exec)) { - if (ast_register_verbose(console_verboser)) { - ast_log(LOG_WARNING, "Unable to register console verboser?\n"); - } - WELCOME_MESSAGE; - } - - if (ast_opt_console && !option_verbose) - ast_verbose("[ Booting...\n"); - /* For remote connections, change the name of the remote connection. * We do this for the benefit of init scripts (which need to know if/when * the main asterisk process has died yet). */ @@ -3720,21 +3719,18 @@ int main(int argc, char *argv[]) } } - if (ast_opt_console && !option_verbose) { - ast_verbose("[ Reading Master Configuration ]\n"); - } - ast_readconfig(); env_init(); if (ast_opt_remote && remotesock != NULL) ast_copy_string((char *) cfg_paths.socket_path, remotesock, sizeof(cfg_paths.socket_path)); - if (!ast_language_is_prefix && !ast_opt_remote) - ast_log(LOG_WARNING, "The 'languageprefix' option in asterisk.conf is deprecated; in a future release it will be removed, and your sound files will need to be organized in the 'new style' language layout.\n"); + if (!ast_language_is_prefix && !ast_opt_remote) { + fprintf(stderr, "The 'languageprefix' option in asterisk.conf is deprecated; in a future release it will be removed, and your sound files will need to be organized in the 'new style' language layout.\n"); + } if (ast_opt_always_fork && (ast_opt_remote || ast_opt_console)) { - ast_log(LOG_WARNING, "'alwaysfork' is not compatible with console or remote console mode; ignored\n"); + fprintf(stderr, "'alwaysfork' is not compatible with console or remote console mode; ignored\n"); ast_clear_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK); } @@ -3743,12 +3739,12 @@ int main(int argc, char *argv[]) l.rlim_cur = RLIM_INFINITY; l.rlim_max = RLIM_INFINITY; if (setrlimit(RLIMIT_CORE, &l)) { - ast_log(LOG_WARNING, "Unable to disable core size resource limit: %s\n", strerror(errno)); + fprintf(stderr, "Unable to disable core size resource limit: %s\n", strerror(errno)); } } if (getrlimit(RLIMIT_NOFILE, &l)) { - ast_log(LOG_WARNING, "Unable to check file descriptor limit: %s\n", strerror(errno)); + fprintf(stderr, "Unable to check file descriptor limit: %s\n", strerror(errno)); } #if !defined(CONFIGURE_RAN_AS_ROOT) @@ -3765,13 +3761,13 @@ int main(int argc, char *argv[]) } if (!(fd = open("/dev/null", O_RDONLY))) { - ast_log(LOG_ERROR, "Cannot open a file descriptor at boot? %s\n", strerror(errno)); + fprintf(stderr, "Cannot open a file descriptor at boot? %s\n", strerror(errno)); break; /* XXX Should we exit() here? XXX */ } fd2 = ((l.rlim_cur > sizeof(readers) * 8) ? sizeof(readers) * 8 : l.rlim_cur) - 1; if (dup2(fd, fd2) < 0) { - ast_log(LOG_WARNING, "Cannot open maximum file descriptor %d at boot? %s\n", fd2, strerror(errno)); + fprintf(stderr, "Cannot open maximum file descriptor %d at boot? %s\n", fd2, strerror(errno)); close(fd); break; } @@ -3779,7 +3775,7 @@ int main(int argc, char *argv[]) FD_ZERO(&readers); FD_SET(fd2, &readers); if (ast_select(fd2 + 1, &readers, NULL, NULL, &tv) < 0) { - ast_log(LOG_WARNING, "Maximum select()able file descriptor is %d\n", FD_SETSIZE); + fprintf(stderr, "Maximum select()able file descriptor is %d\n", FD_SETSIZE); } ast_FD_SETSIZE = l.rlim_cur > ast_FDMAX ? ast_FDMAX : l.rlim_cur; close(fd); @@ -3805,7 +3801,7 @@ int main(int argc, char *argv[]) if (errno == EEXIST) { rundir_exists = 1; } else { - ast_log(LOG_WARNING, "Unable to create socket file directory. Remote consoles will not be able to connect! (%s)\n", strerror(x)); + fprintf(stderr, "Unable to create socket file directory. Remote consoles will not be able to connect! (%s)\n", strerror(x)); } } @@ -3819,21 +3815,20 @@ int main(int argc, char *argv[]) struct group *gr; gr = getgrnam(rungroup); if (!gr) { - ast_log(LOG_WARNING, "No such group '%s'!\n", rungroup); + fprintf(stderr, "No such group '%s'!\n", rungroup); exit(1); } if (!rundir_exists && chown(ast_config_AST_RUN_DIR, -1, gr->gr_gid)) { - ast_log(LOG_WARNING, "Unable to chgrp run directory to %d (%s)\n", (int) gr->gr_gid, rungroup); + fprintf(stderr, "Unable to chgrp run directory to %d (%s)\n", (int) gr->gr_gid, rungroup); } if (setgid(gr->gr_gid)) { - ast_log(LOG_WARNING, "Unable to setgid to %d (%s)\n", (int)gr->gr_gid, rungroup); + fprintf(stderr, "Unable to setgid to %d (%s)\n", (int)gr->gr_gid, rungroup); exit(1); } if (setgroups(0, NULL)) { - ast_log(LOG_WARNING, "Unable to drop unneeded groups\n"); + fprintf(stderr, "Unable to drop unneeded groups\n"); exit(1); } - ast_verb(1, "Running as group '%s'\n", rungroup); } if (runuser && !ast_test_flag(&ast_options, AST_OPT_FLAG_REMOTE)) { @@ -3843,11 +3838,11 @@ int main(int argc, char *argv[]) struct passwd *pw; pw = getpwnam(runuser); if (!pw) { - ast_log(LOG_WARNING, "No such user '%s'!\n", runuser); + fprintf(stderr, "No such user '%s'!\n", runuser); exit(1); } if (chown(ast_config_AST_RUN_DIR, pw->pw_uid, -1)) { - ast_log(LOG_WARNING, "Unable to chown run directory to %d (%s)\n", (int) pw->pw_uid, runuser); + fprintf(stderr, "Unable to chown run directory to %d (%s)\n", (int) pw->pw_uid, runuser); } #ifdef HAVE_CAP if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0)) { @@ -3856,35 +3851,35 @@ int main(int argc, char *argv[]) } #endif /* HAVE_CAP */ if (!isroot && pw->pw_uid != geteuid()) { - ast_log(LOG_ERROR, "Asterisk started as nonroot, but runuser '%s' requested.\n", runuser); + fprintf(stderr, "Asterisk started as nonroot, but runuser '%s' requested.\n", runuser); exit(1); } if (!rungroup) { if (setgid(pw->pw_gid)) { - ast_log(LOG_WARNING, "Unable to setgid to %d!\n", (int)pw->pw_gid); + fprintf(stderr, "Unable to setgid to %d!\n", (int)pw->pw_gid); exit(1); } if (isroot && initgroups(pw->pw_name, pw->pw_gid)) { - ast_log(LOG_WARNING, "Unable to init groups for '%s'\n", runuser); + fprintf(stderr, "Unable to init groups for '%s'\n", runuser); exit(1); } } if (setuid(pw->pw_uid)) { - ast_log(LOG_WARNING, "Unable to setuid to %d (%s)\n", (int)pw->pw_uid, runuser); + fprintf(stderr, "Unable to setuid to %d (%s)\n", (int)pw->pw_uid, runuser); exit(1); } - ast_verb(1, "Running as user '%s'\n", runuser); #ifdef HAVE_CAP if (has_cap) { cap_t cap; cap = cap_from_text("cap_net_admin=eip"); - if (cap_set_proc(cap)) - ast_log(LOG_WARNING, "Unable to install capabilities.\n"); - - if (cap_free(cap)) - ast_log(LOG_WARNING, "Unable to drop capabilities.\n"); + if (cap_set_proc(cap)) { + fprintf(stderr, "Unable to install capabilities.\n"); + } + if (cap_free(cap)) { + fprintf(stderr, "Unable to drop capabilities.\n"); + } } #endif /* HAVE_CAP */ } @@ -3894,7 +3889,7 @@ int main(int argc, char *argv[]) #ifdef linux if (geteuid() && ast_opt_dump_core) { if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0) { - ast_log(LOG_WARNING, "Unable to set the process for core dumps after changing to a non-root user. %s\n", strerror(errno)); + fprintf(stderr, "Unable to set the process for core dumps after changing to a non-root user. %s\n", strerror(errno)); } } #endif @@ -3906,94 +3901,70 @@ int main(int argc, char *argv[]) #endif char dir[PATH_MAX]; if (!getcwd(dir, sizeof(dir)) || eaccess(dir, R_OK | X_OK | F_OK)) { - ast_log(LOG_ERROR, "Unable to access the running directory (%s). Changing to '/' for compatibility.\n", strerror(errno)); + fprintf(stderr, "Unable to access the running directory (%s). Changing to '/' for compatibility.\n", strerror(errno)); /* If we cannot access the CWD, then we couldn't dump core anyway, * so chdir("/") won't break anything. */ if (chdir("/")) { /* chdir(/) should never fail, so this ends up being a no-op */ - ast_log(LOG_ERROR, "chdir(\"/\") failed?!! %s\n", strerror(errno)); + fprintf(stderr, "chdir(\"/\") failed?!! %s\n", strerror(errno)); } } else #endif /* defined(HAVE_EACCESS) || defined(HAVE_EUIDACCESS) */ if (!ast_opt_no_fork && !ast_opt_dump_core) { /* Backgrounding, but no cores, so chdir won't break anything. */ if (chdir("/")) { - ast_log(LOG_ERROR, "Unable to chdir(\"/\") ?!! %s\n", strerror(errno)); + fprintf(stderr, "Unable to chdir(\"/\") ?!! %s\n", strerror(errno)); } } } - ast_term_init(); - printf("%s", term_end()); - fflush(stdout); - - if (ast_opt_console && !option_verbose) { - ast_verbose("[ Initializing Custom Configuration Options ]\n"); - } - /* custom config setup */ - register_config_cli(); - read_config_maps(); - - if (ast_opt_console) { - if (el_hist == NULL || el == NULL) - ast_el_initialize(); - - if (!ast_strlen_zero(filename)) - ast_el_read_history(filename); - } - if (ast_tryconnect()) { /* One is already running */ if (ast_opt_remote) { + multi_thread_safe = 1; if (ast_opt_exec) { ast_remotecontrol(xarg); quit_handler(0, SHUTDOWN_FAST, 0); exit(0); } + print_intro_message(runuser, rungroup); printf("%s", term_quit()); ast_remotecontrol(NULL); quit_handler(0, SHUTDOWN_FAST, 0); exit(0); } else { - ast_log(LOG_ERROR, "Asterisk already running on %s. Use 'asterisk -r' to connect.\n", ast_config_AST_SOCKET); + fprintf(stderr, "Asterisk already running on %s. Use 'asterisk -r' to connect.\n", ast_config_AST_SOCKET); printf("%s", term_quit()); exit(1); } } else if (ast_opt_remote || ast_opt_exec) { - ast_log(LOG_ERROR, "Unable to connect to remote asterisk (does %s exist?)\n", ast_config_AST_SOCKET); + fprintf(stderr, "Unable to connect to remote asterisk (does %s exist?)\n", ast_config_AST_SOCKET); printf("%s", term_quit()); exit(1); } - /* Blindly write pid file since we couldn't connect */ - unlink(ast_config_AST_PID); - f = fopen(ast_config_AST_PID, "w"); - if (f) { - fprintf(f, "%ld\n", (long)getpid()); - fclose(f); - } else - ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno)); + /* This needs to remain as high up in the initial start up as possible. + * daemon causes a fork to occur, which has all sorts of unintended + * consequences for things that interact with threads. This call *must* + * occur before anything in Asterisk spawns or manipulates thread related + * primitives. */ #if HAVE_WORKING_FORK if (ast_opt_always_fork || !ast_opt_no_fork) { #ifndef HAVE_SBIN_LAUNCHD if (daemon(1, 0) < 0) { - ast_log(LOG_ERROR, "daemon() failed: %s\n", strerror(errno)); + fprintf(stderr, "daemon() failed: %s\n", strerror(errno)); } - ast_mainpid = getpid(); - /* Blindly re-write pid file since we are forking */ - unlink(ast_config_AST_PID); - f = fopen(ast_config_AST_PID, "w"); - if (f) { - fprintf(f, "%ld\n", (long)ast_mainpid); - fclose(f); - } else - ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno)); #else - ast_log(LOG_WARNING, "Mac OS X detected. Use 'launchctl load /Library/LaunchDaemon/org.asterisk.asterisk.plist'.\n"); + fprintf(stderr, "Mac OS X detected. Use 'launchctl load /Library/LaunchDaemon/org.asterisk.asterisk.plist'.\n"); #endif } #endif + /* At this point everything has been forked successfully, + * we have determined that we aren't attempting to connect to + * an Asterisk instance, and that there isn't one already running. */ + multi_thread_safe = 1; + /* Spawning of astcanary must happen AFTER the call to daemon(3) */ if (isroot && ast_opt_high_priority) { snprintf(canary_filename, sizeof(canary_filename), "%s/alt.asterisk.canary.tweet.tweet.tweet", ast_config_AST_RUN_DIR); @@ -4028,6 +3999,71 @@ int main(int argc, char *argv[]) ast_register_atexit(canary_exit); } + /* Blindly write the PID file. */ + ast_mainpid = getpid(); + unlink(ast_config_AST_PID); + f = fopen(ast_config_AST_PID, "w"); + if (f) { + fprintf(f, "%ld\n", (long)getpid()); + fclose(f); + } else { + fprintf(stderr, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno)); + } + + /* Initialize the terminal. Since all processes have been forked, + * we can now start using the standard log messages. + */ + ast_term_init(); + printf("%s", term_end()); + fflush(stdout); + + print_intro_message(runuser, rungroup); + + if (ast_opt_console && !option_verbose) { + ast_verbose("[ Initializing Custom Configuration Options ]\n"); + } + /* custom config setup */ + register_config_cli(); + read_config_maps(); + + if (ast_opt_console) { + if (el_hist == NULL || el == NULL) + ast_el_initialize(); + + if (!ast_strlen_zero(filename)) + ast_el_read_history(filename); + } + +#if defined(__AST_DEBUG_MALLOC) + __ast_mm_init_phase_1(); +#endif /* defined(__AST_DEBUG_MALLOC) */ + + ast_ulaw_init(); + ast_alaw_init(); + tdd_init(); + callerid_init(); + ast_builtins_init(); + + if (ast_utils_init()) { + printf("%s", term_quit()); + exit(1); + } + + if (ast_tps_init()) { + printf("%s", term_quit()); + exit(1); + } + + if (ast_fd_init()) { + printf("%s", term_quit()); + exit(1); + } + + if (ast_pbx_init()) { + printf("%s", term_quit()); + exit(1); + } + if (ast_event_init()) { printf("%s", term_quit()); exit(1); @@ -4235,9 +4271,9 @@ int main(int argc, char *argv[]) pthread_sigmask(SIG_UNBLOCK, &sigs, NULL); -#if defined(__AST_DEBUG_MALLOC) +#ifdef __AST_DEBUG_MALLOC __ast_mm_init_phase_2(); -#endif /* defined(__AST_DEBUG_MALLOC) */ +#endif ast_lastreloadtime = ast_startuptime = ast_tvnow(); ast_cli_register_multiple(cli_asterisk, ARRAY_LEN(cli_asterisk)); diff --git a/main/utils.c b/main/utils.c index d1736e93e0..1ea8371097 100644 --- a/main/utils.c +++ b/main/utils.c @@ -999,18 +999,7 @@ static void *dummy_start(void *data) #ifdef DEBUG_THREADS struct thr_lock_info *lock_info; pthread_mutexattr_t mutex_attr; -#endif - /* note that even though data->name is a pointer to allocated memory, - we are not freeing it here because ast_register_thread is going to - keep a copy of the pointer and then ast_unregister_thread will - free the memory - */ - ast_free(data); - ast_register_thread(a.name); - pthread_cleanup_push(ast_unregister_thread, (void *) pthread_self()); - -#ifdef DEBUG_THREADS if (!(lock_info = ast_threadstorage_get(&thread_lock_info, sizeof(*lock_info)))) return NULL; @@ -1027,6 +1016,15 @@ static void *dummy_start(void *data) pthread_mutex_unlock(&lock_infos_lock.mutex); /* Intentionally not the wrapper */ #endif /* DEBUG_THREADS */ + /* note that even though data->name is a pointer to allocated memory, + we are not freeing it here because ast_register_thread is going to + keep a copy of the pointer and then ast_unregister_thread will + free the memory + */ + ast_free(data); + ast_register_thread(a.name); + pthread_cleanup_push(ast_unregister_thread, (void *) pthread_self()); + ret = a.start_routine(a.data); pthread_cleanup_pop(1); From 558c108b926c960ef314225474ae57157244ea43 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 19 Nov 2012 02:19:08 +0000 Subject: [PATCH 029/186] Merged revisions 376457 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r376457 | mjordan | 2012-11-18 20:14:54 -0600 (Sun, 18 Nov 2012) | 7 lines Fix uninitialized in this function error With some versions of gcc, n_buckets will be flagged as being uninitialized before use. While its technically impossible (since the switch statement, even without a default, accounts for all possibilities), we'll initialize the variable to 0 anyway. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376462 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_astobj2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_astobj2.c b/tests/test_astobj2.c index 95d7e753db..0fdd0bd2d7 100644 --- a/tests/test_astobj2.c +++ b/tests/test_astobj2.c @@ -424,7 +424,7 @@ static int astobj2_test_1_helper(int tst_num, enum test_container_type type, int struct ao2_iterator *mult_it; struct test_obj *obj; ao2_callback_fn *cmp_fn; - int n_buckets; + int n_buckets = 0; int increment = 0; int destructor_count = 0; int count; From abdfdf1cae8e617518d24621103353a2b636eb43 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 19 Nov 2012 20:20:36 +0000 Subject: [PATCH 030/186] Merged revisions 376472 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376472 | wdoekes | 2012-11-19 14:03:56 -0600 (Mon, 19 Nov 2012) | 17 lines Fix most leftover non-opaque ast_str uses. Instead of calling str->str, one should use ast_str_buffer(str). Same goes for str->used as ast_str_strlen(str) and str->len as ast_str_size(str). Review: https://reviewboard.asterisk.org/r/2198 ........ Merged revisions 376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376470 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376471 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376479 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 106 ++++++++++++++++++++--------------------- main/indications.c | 2 +- main/security_events.c | 2 +- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a0b1c2ff0e..22284b8532 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3879,18 +3879,18 @@ static int __sip_xmit(struct sip_pvt *p, struct ast_str *data) int res = 0; const struct ast_sockaddr *dst = sip_real_dst(p); - ast_debug(2, "Trying to put '%.11s' onto %s socket destined for %s\n", data->str, get_transport_pvt(p), ast_sockaddr_stringify(dst)); + ast_debug(2, "Trying to put '%.11s' onto %s socket destined for %s\n", ast_str_buffer(data), get_transport_pvt(p), ast_sockaddr_stringify(dst)); if (sip_prepare_socket(p) < 0) { return XMIT_ERROR; } if (p->socket.type == SIP_TRANSPORT_UDP) { - res = ast_sendto(p->socket.fd, data->str, ast_str_strlen(data), 0, dst); + res = ast_sendto(p->socket.fd, ast_str_buffer(data), ast_str_strlen(data), 0, dst); } else if (p->socket.tcptls_session) { - res = sip_tcptls_write(p->socket.tcptls_session, data->str, ast_str_strlen(data)); + res = sip_tcptls_write(p->socket.tcptls_session, ast_str_buffer(data), ast_str_strlen(data)); } else if (p->socket.ws_session) { - if (!(res = ast_websocket_write(p->socket.ws_session, AST_WEBSOCKET_OPCODE_TEXT, data->str, ast_str_strlen(data)))) { + if (!(res = ast_websocket_write(p->socket.ws_session, AST_WEBSOCKET_OPCODE_TEXT, ast_str_buffer(data), ast_str_strlen(data)))) { /* The WebSocket API just returns 0 on success and -1 on failure, while this code expects the payload length to be returned */ res = ast_str_strlen(data); } @@ -4151,10 +4151,10 @@ static int retrans_pkt(const void *data) ast_verbose("Retransmitting #%d (%s) to %s:\n%s\n---\n", pkt->retrans, sip_nat_mode(pkt->owner), ast_sockaddr_stringify(dst), - pkt->data->str); + ast_str_buffer(pkt->data)); } - append_history(pkt->owner, "ReTx", "%d %s", reschedule, pkt->data->str); + append_history(pkt->owner, "ReTx", "%d %s", reschedule, ast_str_buffer(pkt->data)); xmitres = __sip_xmit(pkt->owner, pkt->data); /* If there was no error during the network transmission, schedule the next retransmission, @@ -4312,7 +4312,7 @@ static enum sip_result __sip_reliable_xmit(struct sip_pvt *p, uint32_t seqno, in ast_free(pkt); return AST_FAILURE; } - ast_str_set(&pkt->data, 0, "%s%s", data->str, "\0"); + ast_str_set(&pkt->data, 0, "%s%s", ast_str_buffer(data), "\0"); /* copy other parameters from the caller */ pkt->method = sipmethod; pkt->seqno = seqno; @@ -4588,7 +4588,7 @@ void __sip_pretend_ack(struct sip_pvt *p) return; } cur = p->packets; - method = (cur->method) ? cur->method : find_sip_method(cur->data->str); + method = (cur->method) ? cur->method : find_sip_method(ast_str_buffer(cur->data)); __sip_ack(p, cur->seqno, cur->is_resp, method); } } @@ -4601,7 +4601,7 @@ int __sip_semi_ack(struct sip_pvt *p, uint32_t seqno, int resp, int sipmethod) for (cur = p->packets; cur; cur = cur->next) { if (cur->seqno == seqno && cur->is_resp == resp && - (cur->is_resp || method_match(sipmethod, cur->data->str))) { + (cur->is_resp || method_match(sipmethod, ast_str_buffer(cur->data)))) { /* this is our baby */ if (cur->retransid > -1) { if (sipdebug) @@ -4717,12 +4717,12 @@ static int send_response(struct sip_pvt *p, struct sip_request *req, enum xmitty ast_verbose("\n<--- %sTransmitting (%s) to %s --->\n%s\n<------------>\n", reliable ? "Reliably " : "", sip_nat_mode(p), ast_sockaddr_stringify(dst), - req->data->str); + ast_str_buffer(req->data)); } if (p->do_history) { struct sip_request tmp = { .rlpart1 = 0, }; parse_copy(&tmp, req); - append_history(p, reliable ? "TxRespRel" : "TxResp", "%s / %s - %s", tmp.data->str, sip_get_header(&tmp, "CSeq"), + append_history(p, reliable ? "TxRespRel" : "TxResp", "%s / %s - %s", ast_str_buffer(tmp.data), sip_get_header(&tmp, "CSeq"), (tmp.method == SIP_RESPONSE || tmp.method == SIP_UNKNOWN) ? REQ_OFFSET_TO_STR(&tmp, rlpart2) : sip_methods[tmp.method].text); deinit_req(&tmp); } @@ -4762,15 +4762,15 @@ static int send_request(struct sip_pvt *p, struct sip_request *req, enum xmittyp add_blank(req); if (sip_debug_test_pvt(p)) { if (ast_test_flag(&p->flags[0], SIP_NAT_FORCE_RPORT)) { - ast_verbose("%sTransmitting (NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->recv), req->data->str); + ast_verbose("%sTransmitting (NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->recv), ast_str_buffer(req->data)); } else { - ast_verbose("%sTransmitting (no NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->sa), req->data->str); + ast_verbose("%sTransmitting (no NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->sa), ast_str_buffer(req->data)); } } if (p->do_history) { struct sip_request tmp = { .rlpart1 = 0, }; parse_copy(&tmp, req); - append_history(p, reliable ? "TxReqRel" : "TxReq", "%s / %s - %s", tmp.data->str, sip_get_header(&tmp, "CSeq"), sip_methods[tmp.method].text); + append_history(p, reliable ? "TxReqRel" : "TxReq", "%s / %s - %s", ast_str_buffer(tmp.data), sip_get_header(&tmp, "CSeq"), sip_methods[tmp.method].text); deinit_req(&tmp); } res = (reliable) ? @@ -7081,7 +7081,7 @@ static int sip_hangup(struct ast_channel *ast) sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); /* Start the process if it's not already started */ - if (!p->alreadygone && p->initreq.data && !ast_strlen_zero(p->initreq.data->str)) { + if (!p->alreadygone && p->initreq.data && ast_str_strlen(p->initreq.data)) { if (needcancel) { /* Outgoing call, not up */ if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) { /* if we can't send right now, mark it pending */ @@ -7095,7 +7095,7 @@ static int sip_hangup(struct ast_channel *ast) struct sip_pkt *cur; for (cur = p->packets; cur; cur = cur->next) { - __sip_semi_ack(p, cur->seqno, cur->is_resp, cur->method ? cur->method : find_sip_method(cur->data->str)); + __sip_semi_ack(p, cur->seqno, cur->is_resp, cur->method ? cur->method : find_sip_method(ast_str_buffer(cur->data))); } p->invitestate = INV_CANCELLED; /* Send a new request: CANCEL */ @@ -9537,8 +9537,8 @@ static int parse_request(struct sip_request *req) *c = '\0'; } else if (*c == '\n') { /* end of this line */ *c = '\0'; - current_header_offset = (c + 1) - req->data->str; - previous_header = req->data->str + dst[i]; + current_header_offset = (c + 1) - ast_str_buffer(req->data); + previous_header = ast_str_buffer(req->data) + dst[i]; if (skipping_headers) { /* check to see if this line is blank; if so, turn off the skipping flag, so the next line will be processed @@ -9584,7 +9584,7 @@ static int parse_request(struct sip_request *req) if we've already reached the maximum number of lines for portion of the message we were parsing, we can't accept any more, so just ignore it. */ - previous_header = req->data->str + dst[i]; + previous_header = ast_str_buffer(req->data) + dst[i]; if ((i < lim) && !ast_strlen_zero(previous_header)) { if (sipdebug) { ast_debug(4, "%7s %2d [%3d]: %s\n", @@ -9725,7 +9725,7 @@ static void change_hold_state(struct sip_pvt *dialog, struct sip_request *req, i holdstate ? "On" : "Off", ast_channel_name(dialog->owner), ast_channel_uniqueid(dialog->owner)); - append_history(dialog, holdstate ? "Hold" : "Unhold", "%s", req->data->str); + append_history(dialog, holdstate ? "Hold" : "Unhold", "%s", ast_str_buffer(req->data)); if (!holdstate) { /* Put off remote hold */ ast_clear_flag(&dialog->flags[1], SIP_PAGE2_CALL_ONHOLD); /* Clear both flags */ return; @@ -13277,8 +13277,8 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int switch (offer->type) { case SDP_AUDIO: if (needaudio) { - add_content(resp, m_audio->str); - add_content(resp, a_audio->str); + add_content(resp, ast_str_buffer(m_audio)); + add_content(resp, ast_str_buffer(a_audio)); add_content(resp, hold); if (a_crypto) { add_content(resp, a_crypto); @@ -13289,8 +13289,8 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int break; case SDP_VIDEO: if (needvideo) { /* only if video response is appropriate */ - add_content(resp, m_video->str); - add_content(resp, a_video->str); + add_content(resp, ast_str_buffer(m_video)); + add_content(resp, ast_str_buffer(a_video)); add_content(resp, hold); /* Repeat hold for the video stream */ if (v_a_crypto) { add_content(resp, v_a_crypto); @@ -13301,8 +13301,8 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int break; case SDP_TEXT: if (needtext) { /* only if text response is appropriate */ - add_content(resp, m_text->str); - add_content(resp, a_text->str); + add_content(resp, ast_str_buffer(m_text)); + add_content(resp, ast_str_buffer(a_text)); add_content(resp, hold); /* Repeat hold for the text stream */ if (t_a_crypto) { add_content(resp, t_a_crypto); @@ -13313,8 +13313,8 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int break; case SDP_IMAGE: if (add_t38) { - add_content(resp, m_modem->str); - add_content(resp, a_modem->str); + add_content(resp, ast_str_buffer(m_modem)); + add_content(resp, ast_str_buffer(a_modem)); } else { add_content(resp, offer->decline_m_line); } @@ -13327,32 +13327,32 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int } else { /* generate new SDP from scratch, no offers */ if (needaudio) { - add_content(resp, m_audio->str); - add_content(resp, a_audio->str); + add_content(resp, ast_str_buffer(m_audio)); + add_content(resp, ast_str_buffer(a_audio)); add_content(resp, hold); if (a_crypto) { add_content(resp, a_crypto); } } if (needvideo) { /* only if video response is appropriate */ - add_content(resp, m_video->str); - add_content(resp, a_video->str); + add_content(resp, ast_str_buffer(m_video)); + add_content(resp, ast_str_buffer(a_video)); add_content(resp, hold); /* Repeat hold for the video stream */ if (v_a_crypto) { add_content(resp, v_a_crypto); } } if (needtext) { /* only if text response is appropriate */ - add_content(resp, m_text->str); - add_content(resp, a_text->str); + add_content(resp, ast_str_buffer(m_text)); + add_content(resp, ast_str_buffer(a_text)); add_content(resp, hold); /* Repeat hold for the text stream */ if (t_a_crypto) { add_content(resp, t_a_crypto); } } if (add_t38) { - add_content(resp, m_modem->str); - add_content(resp, a_modem->str); + add_content(resp, ast_str_buffer(m_modem)); + add_content(resp, ast_str_buffer(a_modem)); } } @@ -13787,7 +13787,7 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho /* This is the request URI, which is the next hop of the call which may or may not be the destination of the call */ - ast_string_field_set(p, uri, invite->str); + ast_string_field_set(p, uri, ast_str_buffer(invite)); if (!ast_strlen_zero(p->todnid)) { /*! \todo Need to add back the VXML URL here at some point, possibly use build_string for all this junk */ @@ -14638,7 +14638,7 @@ static int transmit_state_notify(struct sip_pvt *p, struct state_notify_data *da break; } - add_content(&req, tmp->str); + add_content(&req, ast_str_buffer(tmp)); p->pendinginvite = p->ocseq; /* Remember that we have a pending NOTIFY in order not to confuse the NOTIFY subsystem */ @@ -14694,7 +14694,7 @@ static int transmit_notify_with_mwi(struct sip_pvt *p, int newmsgs, int oldmsgs, } } - add_content(&req, out->str); + add_content(&req, ast_str_buffer(out)); if (!p->initreq.headers) { initialize_initreq(p, &req); @@ -19776,7 +19776,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct print_named_groups(fd, peer->named_pickupgroups, 0); peer_mailboxes_to_str(&mailbox_str, peer); ast_cli(fd, " MOH Suggest : %s\n", peer->mohsuggest); - ast_cli(fd, " Mailbox : %s\n", mailbox_str->str); + ast_cli(fd, " Mailbox : %s\n", ast_str_buffer(mailbox_str)); ast_cli(fd, " VM Extension : %s\n", peer->vmexten); ast_cli(fd, " LastMsgsSent : %d/%d\n", (peer->lastmsgssent & 0x7fff0000) >> 16, peer->lastmsgssent & 0xffff); ast_cli(fd, " Call limit : %d\n", peer->call_limit); @@ -19901,7 +19901,7 @@ static char *_sip_show_peer(int type, int fd, struct mansession *s, const struct ast_str_reset(tmp_str); astman_append(s, "MOHSuggest: %s\r\n", peer->mohsuggest); peer_mailboxes_to_str(&tmp_str, peer); - astman_append(s, "VoiceMailbox: %s\r\n", tmp_str->str); + astman_append(s, "VoiceMailbox: %s\r\n", ast_str_buffer(tmp_str)); astman_append(s, "TransferMode: %s\r\n", transfermode2str(peer->allowtransfer)); astman_append(s, "LastMsgsSent: %d\r\n", peer->lastmsgssent); astman_append(s, "Maxforwards: %d\r\n", peer->maxforwards); @@ -20141,7 +20141,7 @@ static char *sip_show_sched(struct ast_cli_entry *e, int cmd, struct ast_cli_arg ast_cli(a->fd, "\n"); ast_sched_report(sched, &cbuf, &cbnames); - ast_cli(a->fd, "%s", cbuf->str); + ast_cli(a->fd, "%s", ast_str_buffer(cbuf)); return CLI_SUCCESS; } @@ -20682,7 +20682,7 @@ static int show_channels_cb(void *__cur, void *__arg, int flags) cur->subscribed == MWI_NOTIFICATION ? "--" : cur->subscribeuri, cur->subscribed == MWI_NOTIFICATION ? "" : ast_extension_state2str(cur->laststate), subscription_type2str(cur->subscribed), - cur->subscribed == MWI_NOTIFICATION ? S_OR(mailbox_str->str, "") : "", + cur->subscribed == MWI_NOTIFICATION ? S_OR(ast_str_buffer(mailbox_str), "") : "", cur->expiry ); arg->numchans++; @@ -21853,7 +21853,7 @@ static int function_sippeer(struct ast_channel *chan, const char *cmd, char *dat } else if (!strcasecmp(colname, "mailbox")) { struct ast_str *mailbox_str = ast_str_alloca(512); peer_mailboxes_to_str(&mailbox_str, peer); - ast_copy_string(buf, mailbox_str->str, len); + ast_copy_string(buf, ast_str_buffer(mailbox_str), len); } else if (!strcasecmp(colname, "context")) { ast_copy_string(buf, peer->context, len); } else if (!strcasecmp(colname, "expire")) { @@ -24693,12 +24693,12 @@ static int do_magic_pickup(struct ast_channel *channel, const char *extension, c ast_str_set(&str, 0, "%s@%s", extension, sip_cfg.notifycid == IGNORE_CONTEXT ? "PICKUPMARK" : context); - ast_debug(2, "About to call Pickup(%s)\n", str->str); + ast_debug(2, "About to call Pickup(%s)\n", ast_str_buffer(str)); /* There is no point in capturing the return value since pickup_exec doesn't return anything meaningful unless the passed data is an empty string (which in our case it will not be) */ - pbx_exec(channel, pickup, str->str); + pbx_exec(channel, pickup, ast_str_buffer(str)); return 0; } @@ -28204,7 +28204,7 @@ static int handle_request_do(struct sip_request *req, struct ast_sockaddr *addr) lws2sws(req->data); /* Fix multiline headers */ if (req->debug) { ast_verbose("\n<--- SIP read from %s:%s --->\n%s\n<------------->\n", - sip_get_transport(req->socket.type), ast_sockaddr_stringify(addr), req->data->str); + sip_get_transport(req->socket.type), ast_sockaddr_stringify(addr), ast_str_buffer(req->data)); } if (parse_request(req) == -1) { /* Bad packet, can't parse */ @@ -28247,7 +28247,7 @@ static int handle_request_do(struct sip_request *req, struct ast_sockaddr *addr) } if (p->do_history) /* This is a request or response, note what it was for */ - append_history(p, "Rx", "%s / %s / %s", req->data->str, sip_get_header(req, "CSeq"), REQ_OFFSET_TO_STR(req, rlpart2)); + append_history(p, "Rx", "%s / %s / %s", ast_str_buffer(req->data), sip_get_header(req, "CSeq"), REQ_OFFSET_TO_STR(req, rlpart2)); if (handle_incoming(p, req, addr, &recount, &nounlock) == -1) { /* Request failed */ @@ -28539,17 +28539,17 @@ static int sip_send_mwi_to_peer(struct sip_peer *peer, int cache_only) struct ast_str *mailbox_str = ast_str_alloca(512); peer_mailboxes_to_str(&mailbox_str, peer); /* if there is no mailbox do nothing */ - if (ast_strlen_zero(mailbox_str->str)) { + if (!ast_str_strlen(mailbox_str)) { ao2_unlock(peer); return -1; } ao2_unlock(peer); /* If there is no mailbox do nothing */ - if (ast_strlen_zero(mailbox_str->str)) { + if (!ast_str_strlen(mailbox_str)) { update_peer_lastmsgssent(peer, -1, 0); return 0; } - ast_app_inboxcount(mailbox_str->str, &newmsgs, &oldmsgs); + ast_app_inboxcount(ast_str_buffer(mailbox_str), &newmsgs, &oldmsgs); ao2_lock(peer); } @@ -30701,7 +30701,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str ast_str_reset(fullcontact); } /* Reconstruct field, because realtime separates our value at the ';' */ - if (fullcontact->used > 0) { + if (ast_str_strlen(fullcontact) > 0) { ast_str_append(&fullcontact, 0, ";%s", v->value); } else { ast_str_set(&fullcontact, 0, "%s", v->value); @@ -30810,7 +30810,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str /* XXX May need to revisit the final argument; does the realtime DB store whether * the original contact was over TLS or not? XXX */ if (!ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) || ast_sockaddr_isnull(&peer->addr)) { - __set_address_from_contact(fullcontact->str, &peer->addr, 0); + __set_address_from_contact(ast_str_buffer(fullcontact), &peer->addr, 0); } } diff --git a/main/indications.c b/main/indications.c index f3356d6030..8854ad9091 100644 --- a/main/indications.c +++ b/main/indications.c @@ -873,7 +873,7 @@ static char *handle_cli_indication_show(struct ast_cli_entry *e, int cmd, struct (j == tz->nrringcadence - 1) ? "" : ","); } ast_str_append(&buf, 0, "\n"); - ast_cli(a->fd, "%s", buf->str); + ast_cli(a->fd, "%s", ast_str_buffer(buf)); AST_LIST_TRAVERSE(&tz->tones, ts, entry) { ast_cli(a->fd, "%-7.7s %-15.15s %s\n", tz->country, ts->name, ts->data); diff --git a/main/security_events.c b/main/security_events.c index 51a8e05821..bdb9b21c88 100644 --- a/main/security_events.c +++ b/main/security_events.c @@ -491,7 +491,7 @@ static struct ast_event *alloc_event(const struct ast_security_event_common *sec return ast_event_new(AST_EVENT_SECURITY, AST_EVENT_IE_SECURITY_EVENT, AST_EVENT_IE_PLTYPE_UINT, sec->event_type, AST_EVENT_IE_EVENT_VERSION, AST_EVENT_IE_PLTYPE_UINT, sec->version, - AST_EVENT_IE_EVENT_TV, AST_EVENT_IE_PLTYPE_STR, str->str, + AST_EVENT_IE_EVENT_TV, AST_EVENT_IE_PLTYPE_STR, ast_str_buffer(str), AST_EVENT_IE_SERVICE, AST_EVENT_IE_PLTYPE_STR, sec->service, AST_EVENT_IE_SEVERITY, AST_EVENT_IE_PLTYPE_STR, severity_str, AST_EVENT_IE_END); From ff06346ea24c8a127c19d412a48d09f092b727c3 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 19 Nov 2012 20:35:39 +0000 Subject: [PATCH 031/186] Add doxygen to taskprocessor tests. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376498 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_taskprocessor.c | 93 +++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index 1d6cbb869d..cbab754a94 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -36,12 +36,25 @@ #include "asterisk/module.h" #include "asterisk/astobj2.h" +/*! + * \brief userdata associated with baseline taskprocessor test + */ struct task_data { + /* Condition used to signal to queuing thread that task was executed */ ast_cond_t cond; + /* Lock protecting the condition */ ast_mutex_t lock; + /*! Boolean indicating that the task was run */ int task_complete; }; +/*! + * \brief Queued task for baseline test. + * + * The task simply sets a boolean to indicate the + * task has been run and then signals a condition + * saying it's complete + */ static int task(void *data) { struct task_data *task_data = data; @@ -51,6 +64,13 @@ static int task(void *data) return 0; } +/*! + * \brief Baseline test for default taskprocessor + * + * This test ensures that when a task is added to a taskprocessor that + * has been allocated with a default listener that the task gets executed + * as expected + */ AST_TEST_DEFINE(default_taskprocessor) { struct ast_taskprocessor *tps; @@ -66,7 +86,7 @@ AST_TEST_DEFINE(default_taskprocessor) info->category = "/main/taskprocessor/"; info->summary = "Test of default taskproccesor"; info->description = - "Ensures that queued tasks are executed."; + "Ensures that a queued task gets executed."; return AST_TEST_NOT_RUN; case TEST_EXECUTE: break; @@ -112,13 +132,26 @@ test_end: #define NUM_TASKS 20000 +/*! + * \brief Relevant data associated with taskprocessor load test + */ static struct load_task_data { + /*! Condition used to indicate a task has completed executing */ ast_cond_t cond; + /*! Lock used to protect the condition */ ast_mutex_t lock; + /*! Counter of the number of completed tasks */ int tasks_completed; + /*! Storage for task-specific data */ int task_rand[NUM_TASKS]; } load_task_results; +/*! + * \brief a queued task to be used in the taskprocessor load test + * + * The task increments the number of tasks executed and puts the passed-in + * data into the next slot in the array of random data. + */ static int load_task(void *data) { int *randdata = data; @@ -128,6 +161,13 @@ static int load_task(void *data) return 0; } +/*! + * \brief Load test for taskprocessor with default listener + * + * This test queues a large number of tasks, each with random data associated. + * The test ensures that all of the tasks are run and that the tasks are executed + * in the same order that they were queued + */ AST_TEST_DEFINE(default_taskprocessor_load) { struct ast_taskprocessor *tps; @@ -144,7 +184,7 @@ AST_TEST_DEFINE(default_taskprocessor_load) info->category = "/main/taskprocessor/"; info->summary = "Load test of default taskproccesor"; info->description = - "Ensure that many queued tasks are executed."; + "Ensure that a large number of queued tasks are executed in the proper order."; return AST_TEST_NOT_RUN; case TEST_EXECUTE: break; @@ -201,13 +241,23 @@ test_end: return res; } +/*! + * \brief Private data for the test taskprocessor listener + */ struct test_listener_pvt { + /* Counter of number of tasks pushed to the queue */ int num_pushed; + /* Counter of number of times the queue was emptied */ int num_emptied; + /* Counter of number of times that a pushed task occurred on an empty queue */ int num_was_empty; + /* Boolean indicating whether the shutdown callback was called */ int shutdown; }; +/*! + * \brief test taskprocessor listener's alloc callback + */ static void *test_alloc(struct ast_taskprocessor_listener *listener) { struct test_listener_pvt *pvt; @@ -216,6 +266,11 @@ static void *test_alloc(struct ast_taskprocessor_listener *listener) return pvt; } +/*! + * \brief test taskprocessor listener's task_pushed callback + * + * Adjusts private data's stats as indicated by the parameters. + */ static void test_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) { struct test_listener_pvt *pvt = listener->private_data; @@ -225,18 +280,27 @@ static void test_task_pushed(struct ast_taskprocessor_listener *listener, int wa } } +/*! + * \brief test taskprocessor listener's emptied callback. + */ static void test_emptied(struct ast_taskprocessor_listener *listener) { struct test_listener_pvt *pvt = listener->private_data; ++pvt->num_emptied; } +/*! + * \brief test taskprocessor listener's shutdown callback. + */ static void test_shutdown(struct ast_taskprocessor_listener *listener) { struct test_listener_pvt *pvt = listener->private_data; pvt->shutdown = 1; } +/*! + * \brief test taskprocessor listener's destroy callback. + */ static void test_destroy(void *private_data) { struct test_listener_pvt *pvt = private_data; @@ -251,11 +315,27 @@ static const struct ast_taskprocessor_listener_callbacks test_callbacks = { .destroy = test_destroy, }; +/*! + * \brief Queued task for taskprocessor listener test. + * + * Does nothing. + */ static int listener_test_task(void *ignore) { return 0; } +/*! + * \brief helper to ensure that statistics the listener is keeping are what we expect + * + * \param test The currently-running test + * \param pvt The private data for the taskprocessor listener + * \param num_pushed The expected current number of tasks pushed to the processor + * \param num_emptied The expected current number of times the taskprocessor has become empty + * \param num_was_empty The expected current number of times that tasks were pushed to an empty taskprocessor + * \retval -1 Stats were not as expected + * \retval 0 Stats were as expected + */ static int check_stats(struct ast_test *test, const struct test_listener_pvt *pvt, int num_pushed, int num_emptied, int num_was_empty) { if (pvt->num_pushed != num_pushed) { @@ -279,6 +359,15 @@ static int check_stats(struct ast_test *test, const struct test_listener_pvt *pv return 0; } +/*! + * \brief Test for a taskprocessor with custom listener. + * + * This test pushes tasks to a taskprocessor with a custom listener, executes the taskss, + * and destroys the taskprocessor. + * + * The test ensures that the listener's callbacks are called when expected and that the data + * being passed in is accurate. + */ AST_TEST_DEFINE(taskprocessor_listener) { struct ast_taskprocessor *tps; From f4328e109d5a5d549181c021f506477766702167 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 19 Nov 2012 21:31:32 +0000 Subject: [PATCH 032/186] Reorganize code and change behavior of ast_taskprocessor_execute() when taskprocessor is shutting down. Moved code around to be easier to follow. ast_taskprocessor_execute() will now return 0 if the taskprocessor is being shut down. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376499 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 37 ++++++++++-------- main/taskprocessor.c | 66 ++++++++++++++++---------------- 2 files changed, 55 insertions(+), 48 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index f2cf4c63c7..7f80e0269d 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -22,28 +22,33 @@ * * \author Dwayne M. Hubbard * - * \note A taskprocessor is a named singleton containing a task queue that serializes tasks pushed - * into it by [a] module(s) that reference the taskprocessor. A taskprocessor is created the first - * time its name is requested via the ast_taskprocessor_get() function and destroyed when the - * taskprocessor reference count reaches zero. A taskprocessor also contains an accompanying - * listener that is told when changes in the task queue occur. + * \note A taskprocessor is a named singleton containing a task queue that + * serializes tasks pushed into it by [a] module(s) that reference the taskprocessor. + * A taskprocessor is created the first time its name is requested via the + * ast_taskprocessor_get() function or the ast_taskprocessor_create_with_listener() + * function and destroyed when the taskprocessor reference count reaches zero. A + * taskprocessor also contains an accompanying listener that is notified when changes + * in the task queue occur. * * A task is a wrapper around a task-handling function pointer and a data * pointer. A task is pushed into a taskprocessor queue using the * ast_taskprocessor_push(taskprocessor, taskhandler, taskdata) function and freed by the - * taskprocessor after the task handling function returns. A module releases its reference to a - * taskprocessor using the ast_taskprocessor_unreference() function which may result in the - * destruction of the taskprocessor if the taskprocessor's reference count reaches zero. Tasks waiting - * to be processed in the taskprocessor queue when the taskprocessor reference count reaches zero - * will be purged and released from the taskprocessor queue without being processed. + * taskprocessor after the task handling function returns. A module releases its + * reference to a taskprocessor using the ast_taskprocessor_unreference() function which + * may result in the destruction of the taskprocessor if the taskprocessor's reference + * count reaches zero. When the taskprocessor's reference count reaches zero, its + * listener's shutdown() callback will be called. Any further attempts to execute tasks + * will be denied. * - * The taskprocessor listener has the flexibility of doling out tasks to best fit the module's - * needs. For instance, a taskprocessor listener may have a single dispatch thread that handles - * all tasks, or it may dispatch tasks to a thread pool. + * The taskprocessor listener has the flexibility of doling out tasks to best fit the + * module's needs. For instance, a taskprocessor listener may have a single dispatch + * thread that handles all tasks, or it may dispatch tasks to a thread pool. * - * There is a default taskprocessor listener that will be used if a taskprocessor is created without - * a listener. This default listener runs tasks sequentially in a single thread. The listener will - * execute tasks as long as there are tasks to be processed. + * There is a default taskprocessor listener that will be used if a taskprocessor is + * created without any explicit listener. This default listener runs tasks sequentially + * in a single thread. The listener will execute tasks as long as there are tasks to be + * processed. When the taskprocessor is shut down, the default listener will stop + * processing tasks and join its execution thread. */ #ifndef __AST_TASKPROCESSOR_H__ diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 78118edb5d..69bec7ca00 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -76,6 +76,8 @@ struct ast_taskprocessor { /*! \brief Taskprocessor singleton list entry */ AST_LIST_ENTRY(ast_taskprocessor) list; struct ast_taskprocessor_listener *listener; + /*! Indicates if the taskprocessor is in the process of shuting down */ + unsigned int shutting_down:1; }; #define TPS_MAX_BUCKETS 7 /*! \brief tps_singletons is the astobj2 container for taskprocessor singletons */ @@ -123,6 +125,7 @@ struct default_taskprocessor_listener_pvt { int dead; }; + static void default_tps_wake_up(struct default_taskprocessor_listener_pvt *pvt, int should_die) { SCOPED_MUTEX(lock, &pvt->lock); @@ -131,20 +134,6 @@ static void default_tps_wake_up(struct default_taskprocessor_listener_pvt *pvt, ast_cond_signal(&pvt->cond); } -static void listener_destroy(void *obj) -{ - struct ast_taskprocessor_listener *listener = obj; - - listener->callbacks->destroy(listener->private_data); -} - -static void listener_shutdown(struct ast_taskprocessor_listener *listener) -{ - listener->callbacks->shutdown(listener); - ao2_ref(listener->tps, -1); - listener->tps = NULL; -} - static int default_tps_idle(struct default_taskprocessor_listener_pvt *pvt) { SCOPED_MUTEX(lock, &pvt->lock); @@ -188,6 +177,20 @@ static void *default_listener_alloc(struct ast_taskprocessor_listener *listener) return pvt; } +static void default_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) +{ + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; + + if (was_empty) { + default_tps_wake_up(pvt, 0); + } +} + +static void default_emptied(struct ast_taskprocessor_listener *listener) +{ + /* No-op */ +} + static void default_listener_shutdown(struct ast_taskprocessor_listener *listener) { struct default_taskprocessor_listener_pvt *pvt = listener->private_data; @@ -204,20 +207,6 @@ static void default_listener_destroy(void *obj) ast_free(pvt); } -static void default_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) -{ - struct default_taskprocessor_listener_pvt *pvt = listener->private_data; - - if (was_empty) { - default_tps_wake_up(pvt, 0); - } -} - -static void default_emptied(struct ast_taskprocessor_listener *listener) -{ - /* No-op */ -} - static const struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { .alloc = default_listener_alloc, .task_pushed = default_task_pushed, @@ -438,16 +427,15 @@ static void tps_taskprocessor_destroy(void *tps) static struct tps_task *tps_taskprocessor_pop(struct ast_taskprocessor *tps) { struct tps_task *task; + SCOPED_AO2LOCK(lock, tps); - if (!tps) { - ast_log(LOG_ERROR, "missing taskprocessor\n"); + if (tps->shutting_down) { return NULL; } - ao2_lock(tps); + if ((task = AST_LIST_REMOVE_HEAD(&tps->tps_queue, list))) { tps->tps_queue_size--; } - ao2_unlock(tps); return task; } @@ -466,6 +454,20 @@ const char *ast_taskprocessor_name(struct ast_taskprocessor *tps) return tps->name; } +static void listener_destroy(void *obj) +{ + struct ast_taskprocessor_listener *listener = obj; + + listener->callbacks->destroy(listener->private_data); +} + +static void listener_shutdown(struct ast_taskprocessor_listener *listener) +{ + listener->callbacks->shutdown(listener); + ao2_ref(listener->tps, -1); + listener->tps = NULL; +} + struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct ast_taskprocessor_listener_callbacks *callbacks) { RAII_VAR(struct ast_taskprocessor_listener *, listener, From e2196d79815abe7f7d20f9151d17f555f8d45371 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 19 Nov 2012 22:34:27 +0000 Subject: [PATCH 033/186] Get rid of trailing whitespace. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376500 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 18 +++++++++--------- main/taskprocessor.c | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 7f80e0269d..6359c057e7 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -31,7 +31,7 @@ * in the task queue occur. * * A task is a wrapper around a task-handling function pointer and a data - * pointer. A task is pushed into a taskprocessor queue using the + * pointer. A task is pushed into a taskprocessor queue using the * ast_taskprocessor_push(taskprocessor, taskhandler, taskdata) function and freed by the * taskprocessor after the task handling function returns. A module releases its * reference to a taskprocessor using the ast_taskprocessor_unreference() function which @@ -59,9 +59,9 @@ struct ast_taskprocessor; /*! * \brief ast_tps_options for specification of taskprocessor options * - * Specify whether a taskprocessor should be created via ast_taskprocessor_get() if the taskprocessor - * does not already exist. The default behavior is to create a taskprocessor if it does not already exist - * and provide its reference to the calling function. To only return a reference to a taskprocessor if + * Specify whether a taskprocessor should be created via ast_taskprocessor_get() if the taskprocessor + * does not already exist. The default behavior is to create a taskprocessor if it does not already exist + * and provide its reference to the calling function. To only return a reference to a taskprocessor if * and only if it exists, use the TPS_REF_IF_EXISTS option in ast_taskprocessor_get(). */ enum ast_tps_options { @@ -74,7 +74,7 @@ enum ast_tps_options { struct ast_taskprocessor_listener; struct ast_taskprocessor_listener_callbacks { - /*! + /*! * \brief Allocate the listener's private data * * It is not necessary to assign the private data to the listener. @@ -84,14 +84,14 @@ struct ast_taskprocessor_listener_callbacks { * \retval non-NULL Allocated private data */ void *(*alloc)(struct ast_taskprocessor_listener *listener); - /*! + /*! * \brief Indicates a task was pushed to the processor * * \param listener The listener * \param was_empty If non-zero, the taskprocessor was empty prior to the task being pushed */ void (*task_pushed)(struct ast_taskprocessor_listener *listener, int was_empty); - /*! + /*! * \brief Indicates the task processor has become empty * * \param listener The listener @@ -109,7 +109,7 @@ struct ast_taskprocessor_listener_callbacks { * \param listener The listener */ void (*shutdown)(struct ast_taskprocessor_listener *listener); - /*! + /*! * \brief Destroy the listener's private data * * It is required that you free the private data in this callback @@ -157,7 +157,7 @@ struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct * The default behavior of instantiating a taskprocessor if one does not already exist can be * disabled by specifying the TPS_REF_IF_EXISTS ast_tps_options as the second argument to ast_taskprocessor_get(). * \param name The name of the taskprocessor - * \param create Use 0 by default or specify TPS_REF_IF_EXISTS to return NULL if the taskprocessor does + * \param create Use 0 by default or specify TPS_REF_IF_EXISTS to return NULL if the taskprocessor does * not already exist * return A pointer to a reference counted taskprocessor under normal conditions, or NULL if the * TPS_REF_IF_EXISTS reference type is specified and the taskprocessor does not exist diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 69bec7ca00..d83228f335 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -128,7 +128,7 @@ struct default_taskprocessor_listener_pvt { static void default_tps_wake_up(struct default_taskprocessor_listener_pvt *pvt, int should_die) { - SCOPED_MUTEX(lock, &pvt->lock); + SCOPED_MUTEX(lock, &pvt->lock); pvt->wake_up = 1; pvt->dead = should_die; ast_cond_signal(&pvt->cond); @@ -472,7 +472,7 @@ struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct { RAII_VAR(struct ast_taskprocessor_listener *, listener, ao2_alloc(sizeof(*listener), listener_destroy), ao2_cleanup); - + if (!listener) { return NULL; } @@ -614,7 +614,7 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps) { struct tps_task *t; int size; - + if (!(t = tps_taskprocessor_pop(tps))) { return 0; } From ec170b1b9d540a3d188ffa49fa5bee832a39fa51 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 20 Nov 2012 18:19:37 +0000 Subject: [PATCH 034/186] Merged revisions 376541 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376541 | alecdavis | 2012-11-20 11:39:11 -0600 (Tue, 20 Nov 2012) | 19 lines Reduce CLI spam of "Extension Changed" device state messages. Asterisk 11 follows RFC3265 that states that after every subscribe or resubscribe a notify should be sent. Thus the console if filled continuously with the following after every subscribe; == Extension Changed 8512[phones] new state IDLE for Notify User cisco1 In Asterisk 1.8 only changes would be sent. Thus only when a device state changed was anything emitted to the console. fix: Only print to console when device state isn't forced. (closes ASTERISK-20706) Reported by: alecdavis Tested by: alecdavis alecdavis (license 585) ........ Merged revisions 376540 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376546 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 22284b8532..8e171d0f12 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -16498,8 +16498,11 @@ static int extensionstate_update(const char *context, const char *exten, struct ast_set_flag(&p->flags[1], SIP_PAGE2_STATECHANGEQUEUE); } } - ast_verb(2, "Extension Changed %s[%s] new state %s for Notify User %s %s\n", exten, context, ast_extension_state2str(data->state), p->username, - ast_test_flag(&p->flags[1], SIP_PAGE2_STATECHANGEQUEUE) ? "(queued)" : ""); + + if (!force) { + ast_verb(2, "Extension Changed %s[%s] new state %s for Notify User %s %s\n", exten, context, ast_extension_state2str(data->state), p->username, + ast_test_flag(&p->flags[1], SIP_PAGE2_STATECHANGEQUEUE) ? "(queued)" : ""); + } sip_pvt_unlock(p); From 898f9f853caa24271eb7bd61f9147eddce443adb Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 20 Nov 2012 19:19:31 +0000 Subject: [PATCH 035/186] Merged revisions 376551 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376551 | mmichelson | 2012-11-20 13:09:37 -0600 (Tue, 20 Nov 2012) | 20 lines Add "Require: timer" to 200 OK responses when appropriate. The method by which the Require header is added to 200 responses is inspired by the method that Olle Johansson uses in his darjeeling-prack branch. (closes issue ASTERISK-20570) Reported by Matt Jordan, at the behest of Olle Johansson Review: https://reviewboard.asterisk.org/r/2172 ........ Merged revisions 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376522 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376550 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376556 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 48 ++++++++++++++++++++++++++++++++++++-- channels/sip/include/sip.h | 1 + 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8e171d0f12..44c8037ba8 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4704,6 +4704,34 @@ static void update_provisional_keepalive(struct sip_pvt *pvt, int with_sdp) with_sdp ? send_provisional_keepalive_with_sdp : send_provisional_keepalive, dialog_ref(pvt, "Increment refcount to pass dialog pointer to sched callback")); } +static void add_required_respheader(struct sip_request *req) +{ + struct ast_str *str; + int i; + + if (!req->reqsipoptions) { + return; + } + + str = ast_str_create(32); + + for (i = 0; i < ARRAY_LEN(sip_options); ++i) { + if (!(req->reqsipoptions & sip_options[i].id)) { + continue; + } + if (ast_str_strlen(str) > 0) { + ast_str_append(&str, 0, ", "); + } + ast_str_append(&str, 0, "%s", sip_options[i].text); + } + + if (ast_str_strlen(str) > 0) { + add_header(req, "Require", ast_str_buffer(str)); + } + + ast_free(str); +} + /*! \brief Transmit response on SIP request*/ static int send_response(struct sip_pvt *p, struct sip_request *req, enum xmittype reliable, uint32_t seqno) { @@ -11693,11 +11721,26 @@ static int respprep(struct sip_request *resp, struct sip_pvt *p, const char *msg add_supported(p, resp); /* If this is an invite, add Session-Timers related headers if the feature is active for this session */ - if (p->method == SIP_INVITE && p->stimer && p->stimer->st_active == TRUE && p->stimer->st_active_peer_ua == TRUE) { + if (p->method == SIP_INVITE && p->stimer && p->stimer->st_active == TRUE) { char se_hdr[256]; snprintf(se_hdr, sizeof(se_hdr), "%d;refresher=%s", p->stimer->st_interval, p->stimer->st_ref == SESSION_TIMER_REFRESHER_US ? "uas" : "uac"); add_header(resp, "Session-Expires", se_hdr); + /* RFC 2048, Section 9 + * If the refresher parameter in the Session-Expires header field in the + * 2xx response has a value of 'uac', the UAS MUST place a Require + * header field into the response with the value 'timer'. + * ... + * If the refresher parameter in + * the 2xx response has a value of 'uas' and the Supported header field + * in the request contained the value 'timer', the UAS SHOULD place a + * Require header field into the response with the value 'timer' + */ + if (p->stimer->st_ref == SESSION_TIMER_REFRESHER_THEM || + (p->stimer->st_ref == SESSION_TIMER_REFRESHER_US && + p->stimer->st_active_peer_ua == TRUE)) { + resp->reqsipoptions |= SIP_OPT_TIMER; + } } if (msg[0] == '2' && (p->method == SIP_SUBSCRIBE || p->method == SIP_REGISTER || p->method == SIP_PUBLISH)) { @@ -13496,6 +13539,7 @@ static int transmit_response_with_sdp(struct sip_pvt *p, const char *msg, const ast_log(LOG_ERROR, "Can't add SDP to response, since we have no RTP session allocated. Call-ID %s\n", p->callid); if (reliable && !p->pendinginvite) p->pendinginvite = seqno; /* Buggy clients sends ACK on RINGING too */ + add_required_respheader(&resp); return send_response(p, &resp, reliable, seqno); } @@ -25444,7 +25488,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, str st_active = TRUE; st_interval = st_get_se(p, TRUE); tmp_st_ref = SESSION_TIMER_REFRESHER_US; - p->stimer->st_active_peer_ua = FALSE; + p->stimer->st_active_peer_ua = (p->sipoptions & SIP_OPT_TIMER) ? TRUE : FALSE; break; default: diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h index add14237a8..7f907c6e5e 100644 --- a/channels/sip/include/sip.h +++ b/channels/sip/include/sip.h @@ -827,6 +827,7 @@ struct sip_request { /* XXX Do we need to unref socket.ser when the request goes away? */ struct sip_socket socket; /*!< The socket used for this request */ AST_LIST_ENTRY(sip_request) next; + unsigned int reqsipoptions; /*!< Items needed for Required header in responses */ }; /* \brief given a sip_request and an offset, return the char * that resides there From 86f1378ea07ea8a6e8b1cf60e4252f50c3f5a7e8 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 20 Nov 2012 19:23:55 +0000 Subject: [PATCH 036/186] Remove extra ast_backtrace() call I had in while debugging. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376560 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/astobj2.c | 1 - 1 file changed, 1 deletion(-) diff --git a/main/astobj2.c b/main/astobj2.c index b36cee837e..082dfc0384 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -431,7 +431,6 @@ static int internal_ao2_ref(void *user_data, int delta, const char *file, int li int ret; if (obj == NULL) { - ast_backtrace(); ast_assert(0); return -1; } From b362853a329eb2f1767949f4076d9e2dc8150bf6 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 20 Nov 2012 22:19:11 +0000 Subject: [PATCH 037/186] Merged revisions 376562 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376562 | dlee | 2012-11-20 16:06:05 -0600 (Tue, 20 Nov 2012) | 8 lines Added missing newlines to websocket ast_logs. Without these newlines, log messages just continue tacking onto the same line, and do not flush immediately. ........ Merged revisions 376561 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376567 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_http_websocket.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c index cfc613cbc5..cfc6d16f5d 100644 --- a/res/res_http_websocket.c +++ b/res/res_http_websocket.c @@ -503,12 +503,12 @@ static int websocket_callback(struct ast_tcptls_session_instance *ser, const str /* If this is not a websocket upgrade abort */ if (!upgrade || strcasecmp(upgrade, "websocket")) { - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - did not request WebSocket", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - did not request WebSocket\n", ast_sockaddr_stringify(&ser->remote_address)); ast_http_error(ser, 426, "Upgrade Required", NULL); return -1; } else if (ast_strlen_zero(requested_protocols)) { - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - no protocols requested", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - no protocols requested\n", ast_sockaddr_stringify(&ser->remote_address)); fputs("HTTP/1.1 400 Bad Request\r\n" "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n", ser->f); @@ -516,7 +516,7 @@ static int websocket_callback(struct ast_tcptls_session_instance *ser, const str } else if (key1 && key2) { /* Specification defined in http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76 and * http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00 -- not currently supported*/ - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - unsupported version '00/76' chosen", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - unsupported version '00/76' chosen\n", ast_sockaddr_stringify(&ser->remote_address)); fputs("HTTP/1.1 400 Bad Request\r\n" "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n", ser->f); @@ -548,7 +548,7 @@ static int websocket_callback(struct ast_tcptls_session_instance *ser, const str uint8_t sha[20]; if (!(session = ao2_alloc(sizeof(*session), session_destroy_fn))) { - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted\n", ast_sockaddr_stringify(&ser->remote_address)); fputs("HTTP/1.1 400 Bad Request\r\n" "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n", ser->f); @@ -571,7 +571,7 @@ static int websocket_callback(struct ast_tcptls_session_instance *ser, const str } else { /* Specification defined in http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75 or completely unknown */ - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - unsupported version '%d' chosen", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - unsupported version '%d' chosen\n", ast_sockaddr_stringify(&ser->remote_address), version ? version : 75); fputs("HTTP/1.1 400 Bad Request\r\n" "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n", ser->f); @@ -581,7 +581,7 @@ static int websocket_callback(struct ast_tcptls_session_instance *ser, const str /* Enable keepalive on all sessions so the underlying user does not have to */ if (setsockopt(ser->fd, SOL_SOCKET, SO_KEEPALIVE, &flags, sizeof(flags))) { - ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - failed to enable keepalive", + ast_log(LOG_WARNING, "WebSocket connection from '%s' could not be accepted - failed to enable keepalive\n", ast_sockaddr_stringify(&ser->remote_address)); fputs("HTTP/1.1 400 Bad Request\r\n" "Sec-WebSocket-Version: 7, 8, 13\r\n\r\n", ser->f); From d16d0200d29e1b99693a8c04ae6d1d5ede6d2823 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 21 Nov 2012 19:20:22 +0000 Subject: [PATCH 038/186] Merged revisions 376575 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r376575 | rmudgett | 2012-11-21 12:33:16 -0600 (Wed, 21 Nov 2012) | 20 lines Add red-black tree container type to astobj2. * Add red-black tree container type. * Add CLI command "astobj2 container dump " * Added ao2_container_dump() so the container could be dumped by other modules for debugging purposes. * Changed ao2_container_stats() so it can be used by other modules like ao2_container_check() for debugging purposes. * Updated the unit tests to check red-black tree containers. (closes issue ASTERISK-19970) Reported by: rmudgett Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/2110/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376580 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_iax2.c | 13 + include/asterisk/astobj2.h | 120 +- include/asterisk/test.h | 12 + main/astobj2.c | 2389 +++++++++++++++++++++++++++++++++++- main/channel.c | 23 +- main/test.c | 21 + tests/test_astobj2.c | 118 +- 7 files changed, 2644 insertions(+), 52 deletions(-) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 758b2bca2d..7a2528fc3a 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2774,6 +2774,10 @@ static int replace_callno(const void *obj) static int callno_hash(const void *obj, const int flags) { + /* + * XXX A hash function should always return the same value for + * the same inputs. + */ return abs(ast_random()); } @@ -2781,6 +2785,15 @@ static int create_callno_pools(void) { uint16_t i; + /*! + * \todo XXX A different method of randomly picking an available + * IAX2 callno needs to be devised. + * + * A hash function should always return the same value for the + * same inputs. This game with the hash function prevents + * astob2.c from generically checking the integrity of hash + * containers while the system runs. + */ if (!(callno_pool = ao2_container_alloc(CALLNO_POOL_BUCKETS, callno_hash, NULL))) { return -1; } diff --git a/include/asterisk/astobj2.h b/include/asterisk/astobj2.h index c682baa399..d80edde6b5 100644 --- a/include/asterisk/astobj2.h +++ b/include/asterisk/astobj2.h @@ -872,6 +872,10 @@ enum search_flags { * not found in the starting bucket defined by the hash value on * the argument. * + * For rbtree containers, if the search key is not in the + * container, the search will start either at the first item + * before the search key or the first item after the search key. + * * \note The supplied ao2_callback_fn is called for every node * in the container from the starting point. */ @@ -932,6 +936,24 @@ enum search_flags { OBJ_ORDER_ASCENDING = (0 << 8), /*! \brief Traverse in descending order (Last to first container object) */ OBJ_ORDER_DESCENDING = (1 << 8), + /*! + * \brief Traverse in pre-order (Node then children, for tree container) + * + * \note For non-tree containers, it is up to the container type + * to make the best interpretation of the order. For list and + * hash containers, this also means ascending order because a + * binary tree can degenerate into a list. + */ + OBJ_ORDER_PRE = (2 << 8), + /*! + * \brief Traverse in post-order (Children then node, for tree container) + * + * \note For non-tree containers, it is up to the container type + * to make the best interpretation of the order. For list and + * hash containers, this also means descending order because a + * binary tree can degenerate into a list. + */ + OBJ_ORDER_POST = (3 << 8), }; /*! @@ -1184,6 +1206,49 @@ struct ao2_container *__ao2_container_alloc_list_debug(unsigned int ao2_options, unsigned int container_options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, const char *tag, const char *file, int line, const char *func, int ref_debug); +/*! + * \brief Allocate and initialize a red-black tree container. + * + * \param ao2_options Container ao2 object options (See enum ao2_alloc_opts) + * \param container_options Container behaviour options (See enum ao2_container_opts) + * \param sort_fn Pointer to a sort function. + * \param cmp_fn Pointer to a compare function used by ao2_find. (NULL to match everything) + * \param tag used for debugging. + * + * \return A pointer to a struct container. + * + * \note Destructor is set implicitly. + */ + +#if defined(REF_DEBUG) + +#define ao2_t_container_alloc_rbtree(ao2_options, container_options, sort_fn, cmp_fn, tag) \ + __ao2_container_alloc_rbtree_debug((ao2_options), (container_options), (sort_fn), (cmp_fn), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__, 1) +#define ao2_container_alloc_rbtree(ao2_options, container_options, , sort_fn, cmp_fn) \ + __ao2_container_alloc_rbtree_debug((ao2_options), (container_options), (sort_fn), (cmp_fn), "", __FILE__, __LINE__, __PRETTY_FUNCTION__, 1) + +#elif defined(__AST_DEBUG_MALLOC) + +#define ao2_t_container_alloc_rbtree(ao2_options, container_options, sort_fn, cmp_fn, tag) \ + __ao2_container_alloc_rbtree_debug((ao2_options), (container_options), (sort_fn), (cmp_fn), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__, 0) +#define ao2_container_alloc_rbtree(ao2_options, container_options, sort_fn, cmp_fn) \ + __ao2_container_alloc_rbtree_debug((ao2_options), (container_options), (sort_fn), (cmp_fn), "", __FILE__, __LINE__, __PRETTY_FUNCTION__, 0) + +#else + +#define ao2_t_container_alloc_rbtree(ao2_options, container_options, sort_fn, cmp_fn, tag) \ + __ao2_container_alloc_rbtree((ao2_options), (container_options), (sort_fn), (cmp_fn)) +#define ao2_container_alloc_rbtree(ao2_options, container_options, sort_fn, cmp_fn) \ + __ao2_container_alloc_rbtree((ao2_options), (container_options), (sort_fn), (cmp_fn)) + +#endif + +struct ao2_container *__ao2_container_alloc_rbtree(unsigned int ao2_options, unsigned int container_options, + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn); +struct ao2_container *__ao2_container_alloc_rbtree_debug(unsigned int ao2_options, unsigned int container_options, + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, + const char *tag, const char *file, int line, const char *func, int ref_debug); + /*! \brief * Returns the number of elements in a container. */ @@ -1241,6 +1306,58 @@ struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, en #endif +/*! + * \brief Print output. + * \since 12.0.0 + * + * \param where User data pointer needed to determine where to put output. + * \param fmt printf type format string. + * + * \return Nothing + */ +typedef void (ao2_prnt_fn)(void *where, const char *fmt, ...) __attribute__((format(printf, 2, 3))); + +/*! + * \brief Print object key. + * \since 12.0.0 + * + * \param v_obj A pointer to the object we want the key printed. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * + * \return Nothing + */ +typedef void (ao2_prnt_obj_fn)(void *v_obj, void *where, ao2_prnt_fn *prnt); + +/*! + * \brief Display contents of the specified container. + * \since 12.0.0 + * + * \param self Container to dump. + * \param flags OBJ_NOLOCK if a lock is already held on the container. + * \param name Container name. (NULL if anonymous) + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * \param prnt_obj Callback function to print the given object's key. (NULL if not available) + * + * \return Nothing + */ +void ao2_container_dump(struct ao2_container *self, enum search_flags flags, const char *name, void *where, ao2_prnt_fn *prnt, ao2_prnt_obj_fn *prnt_obj); + +/*! + * \brief Display statistics of the specified container. + * \since 12.0.0 + * + * \param self Container to display statistics. + * \param flags OBJ_NOLOCK if a lock is already held on the container. + * \param name Container name. (NULL if anonymous) + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * + * \return Nothing + */ +void ao2_container_stats(struct ao2_container *self, enum search_flags flags, const char *name, void *where, ao2_prnt_fn *prnt); + /*! * \brief Perform an integrity check on the specified container. * \since 12.0.0 @@ -1259,11 +1376,12 @@ int ao2_container_check(struct ao2_container *self, enum search_flags flags); * * \param name Name to register the container under. * \param self Container to register. + * \param prnt_obj Callback function to print the given object's key. (NULL if not available) * * \retval 0 on success. * \retval -1 on error. */ -int ao2_container_register(const char *name, struct ao2_container *self); +int ao2_container_register(const char *name, struct ao2_container *self, ao2_prnt_obj_fn *prnt_obj); /*! * \brief Unregister a container for CLI stats and integrity check. diff --git a/include/asterisk/test.h b/include/asterisk/test.h index 27ec3cfa8d..0d8fa426fa 100644 --- a/include/asterisk/test.h +++ b/include/asterisk/test.h @@ -127,6 +127,7 @@ #define AST_TEST_REGISTER(cb) #define AST_TEST_UNREGISTER(cb) #define ast_test_status_update(a,b,c...) +#define ast_test_debug(test, fmt, ...) ast_cli /* Dummy function that should not be called. */ #endif @@ -255,6 +256,17 @@ int ast_test_unregister(ast_test_cb_t *cb); */ int ast_test_register(ast_test_cb_t *cb); +/*! + * \brief Unit test debug output. + * \since 12.0.0 + * + * \param test Unit test control structure. + * \param fmt printf type format string. + * + * \return Nothing + */ +void ast_test_debug(struct ast_test *test, const char *fmt, ...) __attribute__((format(printf, 2, 3))); + /*! * \brief update test's status during testing. * diff --git a/main/astobj2.c b/main/astobj2.c index 082dfc0384..50e81cfc21 100644 --- a/main/astobj2.c +++ b/main/astobj2.c @@ -96,6 +96,12 @@ struct astobj2_rwlock { void *user_data[0]; }; +#if defined(AST_DEVMODE) +#define AO2_DEVMODE_STAT(stat) stat +#else +#define AO2_DEVMODE_STAT(stat) +#endif /* defined(AST_DEVMODE) */ + #ifdef AO2_DEBUG struct ao2_stats { volatile int total_objects; @@ -765,6 +771,8 @@ enum ao2_container_insert { enum ao2_container_rtti { /*! This is a hash container */ AO2_CONTAINER_RTTI_HASH, + /*! This is a red-black tree container */ + AO2_CONTAINER_RTTI_RBTREE, }; /*! @@ -891,18 +899,30 @@ typedef void (*ao2_container_find_cleanup_fn)(void *v_state); */ typedef struct ao2_container_node *(*ao2_iterator_next_fn)(struct ao2_container *self, struct ao2_container_node *prev, enum ao2_iterator_flags flags); +/*! + * \brief Display contents of the specified container. + * + * \param self Container to dump. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * \param prnt_obj Callback function to print the given object's key. (NULL if not available) + * + * \return Nothing + */ +typedef void (*ao2_container_display)(struct ao2_container *self, void *where, ao2_prnt_fn *prnt, ao2_prnt_obj_fn *prnt_obj); + /*! * \brief Display statistics of the specified container. * * \param self Container to display statistics. - * \param fd File descriptor to send output. + * \param where User data needed by prnt to determine where to put output. * \param prnt Print output callback function to use. * * \note The container is already locked for reading. * * \return Nothing */ -typedef void (*ao2_container_statistics)(struct ao2_container *self, int fd, void (*prnt)(int fd, const char *fmt, ...) __attribute__((format(printf, 2, 3)))); +typedef void (*ao2_container_statistics)(struct ao2_container *self, void *where, ao2_prnt_fn *prnt); /*! * \brief Perform an integrity check on the specified container. @@ -939,6 +959,8 @@ struct ao2_container_methods { /*! Find the next iteration element in the container. */ ao2_iterator_next_fn iterator_next; #if defined(AST_DEVMODE) + /*! Display container contents. (Method for debug purposes) */ + ao2_container_display dump; /*! Display container debug statistics. (Method for debug purposes) */ ao2_container_statistics stats; /*! Perform an integrity check on the container. (Method for debug purposes) */ @@ -1041,17 +1063,38 @@ static int internal_ao2_link(struct ao2_container *self, void *obj_new, int flag res = 0; node = self->v_table->new_node(self, obj_new, tag, file, line, func); if (node) { +#if defined(AO2_DEBUG) && defined(AST_DEVMODE) + switch (self->v_table->type) { + case AO2_CONTAINER_RTTI_HASH: + if (!self->sort_fn) { + /* + * XXX chan_iax2 plays games with the hash function so we cannot + * routinely do an integrity check on this type of container. + * chan_iax2 should be changed to not abuse the hash function. + */ + break; + } + /* Fall through. */ + case AO2_CONTAINER_RTTI_RBTREE: + if (ao2_container_check(self, OBJ_NOLOCK)) { + ast_log(LOG_ERROR, "Container integrity failed before insert.\n"); + } + break; + } +#endif /* defined(AO2_DEBUG) && defined(AST_DEVMODE) */ /* Insert the new node. */ switch (self->v_table->insert(self, node)) { case AO2_CONTAINER_INSERT_NODE_INSERTED: node->is_linked = 1; ast_atomic_fetchadd_int(&self->elements, 1); #if defined(AST_DEVMODE) - ++self->nodes; + AO2_DEVMODE_STAT(++self->nodes); switch (self->v_table->type) { case AO2_CONTAINER_RTTI_HASH: hash_ao2_link_node_stat(self, node); break; + case AO2_CONTAINER_RTTI_RBTREE: + break; } #endif /* defined(AST_DEVMODE) */ @@ -1064,6 +1107,27 @@ static int internal_ao2_link(struct ao2_container *self, void *obj_new, int flag __ao2_ref(node, -1); break; } +#if defined(AO2_DEBUG) && defined(AST_DEVMODE) + if (res) { + switch (self->v_table->type) { + case AO2_CONTAINER_RTTI_HASH: + if (!self->sort_fn) { + /* + * XXX chan_iax2 plays games with the hash function so we cannot + * routinely do an integrity check on this type of container. + * chan_iax2 should be changed to not abuse the hash function. + */ + break; + } + /* Fall through. */ + case AO2_CONTAINER_RTTI_RBTREE: + if (ao2_container_check(self, OBJ_NOLOCK)) { + ast_log(LOG_ERROR, "Container integrity failed after insert.\n"); + } + break; + } + } +#endif /* defined(AO2_DEBUG) && defined(AST_DEVMODE) */ } if (flags & OBJ_NOLOCK) { @@ -1329,6 +1393,8 @@ static void *internal_ao2_traverse(struct ao2_container *self, enum search_flags case AO2_CONTAINER_RTTI_HASH: hash_ao2_unlink_node_stat(self, node); break; + case AO2_CONTAINER_RTTI_RBTREE: + break; } #endif /* defined(AST_DEVMODE) */ @@ -1566,6 +1632,8 @@ static void *internal_ao2_iterator_next(struct ao2_iterator *iter, const char *t case AO2_CONTAINER_RTTI_HASH: hash_ao2_unlink_node_stat(iter->c, node); break; + case AO2_CONTAINER_RTTI_RBTREE: + break; } #endif /* defined(AST_DEVMODE) */ @@ -1764,30 +1832,51 @@ struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, en return clone; } -#if defined(AST_DEVMODE) -/*! - * \internal - * \brief Display statistics of the specified container. - * \since 12.0.0 - * - * \param self Container to display statistics. - * \param fd File descriptor to send output. - * \param prnt Print output callback function to use. - * - * \return Nothing - */ -static void ao2_container_stats(struct ao2_container *self, int fd, void (*prnt)(int fd, const char *fmt, ...) __attribute__((format(printf, 2, 3)))) +void ao2_container_dump(struct ao2_container *self, enum search_flags flags, const char *name, void *where, ao2_prnt_fn *prnt, ao2_prnt_obj_fn *prnt_obj) { if (!INTERNAL_OBJ(self) || !self->v_table) { - prnt(fd, "Invalid container\n"); + prnt(where, "Invalid container\n"); ast_assert(0); return; } - ao2_rdlock(self); - prnt(fd, "Number of objects: %d\n", self->elements); - prnt(fd, "Number of nodes: %d\n", self->nodes); - prnt(fd, "Number of empty nodes: %d\n", self->nodes - self->elements); + if (!(flags & OBJ_NOLOCK)) { + ao2_rdlock(self); + } + if (name) { + prnt(where, "Container name: %s\n", name); + } +#if defined(AST_DEVMODE) + if (self->v_table->dump) { + self->v_table->dump(self, where, prnt, prnt_obj); + } else +#endif /* defined(AST_DEVMODE) */ + { + prnt(where, "Container dump not available.\n"); + } + if (!(flags & OBJ_NOLOCK)) { + ao2_unlock(self); + } +} + +void ao2_container_stats(struct ao2_container *self, enum search_flags flags, const char *name, void *where, ao2_prnt_fn *prnt) +{ + if (!INTERNAL_OBJ(self) || !self->v_table) { + prnt(where, "Invalid container\n"); + ast_assert(0); + return; + } + + if (!(flags & OBJ_NOLOCK)) { + ao2_rdlock(self); + } + if (name) { + prnt(where, "Container name: %s\n", name); + } + prnt(where, "Number of objects: %d\n", self->elements); +#if defined(AST_DEVMODE) + prnt(where, "Number of nodes: %d\n", self->nodes); + prnt(where, "Number of empty nodes: %d\n", self->nodes - self->elements); /* * XXX * If the max_empty_nodes count gets out of single digits you @@ -1797,13 +1886,15 @@ static void ao2_container_stats(struct ao2_container *self, int fd, void (*prnt) * Empty nodes do not harm the container but they do make * container operations less efficient. */ - prnt(fd, "Maximum empty nodes: %d\n", self->max_empty_nodes); + prnt(where, "Maximum empty nodes: %d\n", self->max_empty_nodes); if (self->v_table->stats) { - self->v_table->stats(self, fd, prnt); + self->v_table->stats(self, where, prnt); } - ao2_unlock(self); -} #endif /* defined(AST_DEVMODE) */ + if (!(flags & OBJ_NOLOCK)) { + ao2_unlock(self); + } +} int ao2_container_check(struct ao2_container *self, enum search_flags flags) { @@ -1946,6 +2037,9 @@ static struct ao2_container *hash_ao2_alloc_empty_clone_debug(struct ao2_contain * of its destruction. The node must be destroyed while the * container is already locked. * + * \note The container must be locked when the node is + * unreferenced. + * * \return Nothing */ static void hash_ao2_node_destructor(void *v_doomed) @@ -1972,12 +2066,21 @@ static void hash_ao2_node_destructor(void *v_doomed) my_container = (struct ao2_container_hash *) doomed->common.my_container; adjust_lock(my_container, AO2_LOCK_REQ_WRLOCK, 1); +#if defined(AO2_DEBUG) && defined(AST_DEVMODE) + /* + * XXX chan_iax2 plays games with the hash function so we cannot + * routinely do an integrity check on this type of container. + * chan_iax2 should be changed to not abuse the hash function. + */ + if (!my_container->common.destroying + && my_container->common.sort_fn + && ao2_container_check(doomed->common.my_container, OBJ_NOLOCK)) { + ast_log(LOG_ERROR, "Container integrity failed before node deletion.\n"); + } +#endif /* defined(AO2_DEBUG) && defined(AST_DEVMODE) */ bucket = &my_container->buckets[doomed->my_bucket]; AST_DLLIST_REMOVE(&bucket->list, doomed, links); - -#if defined(AST_DEVMODE) - --my_container->common.nodes; -#endif /* defined(AST_DEVMODE) */ + AO2_DEVMODE_STAT(--my_container->common.nodes); } /* @@ -2173,9 +2276,11 @@ static struct hash_bucket_node *hash_ao2_find_first(struct ao2_container_hash *s /* Determine traversal order. */ switch (flags & OBJ_ORDER_MASK) { + case OBJ_ORDER_POST: case OBJ_ORDER_DESCENDING: state->descending = 1; break; + case OBJ_ORDER_PRE: case OBJ_ORDER_ASCENDING: default: break; @@ -2708,6 +2813,60 @@ static void hash_ao2_destroy(struct ao2_container_hash *self) } } +#if defined(AST_DEVMODE) +/*! + * \internal + * \brief Display contents of the specified container. + * \since 12.0.0 + * + * \param self Container to dump. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * \param prnt_obj Callback function to print the given object's key. (NULL if not available) + * + * \return Nothing + */ +static void hash_ao2_dump(struct ao2_container_hash *self, void *where, ao2_prnt_fn *prnt, ao2_prnt_obj_fn *prnt_obj) +{ +#define FORMAT "%6s, %16s, %16s, %16s, %16s, %s\n" +#define FORMAT2 "%6d, %16p, %16p, %16p, %16p, " + + int bucket; + int suppressed_buckets = 0; + struct hash_bucket_node *node; + + prnt(where, "Number of buckets: %d\n\n", self->n_buckets); + + prnt(where, FORMAT, "Bucket", "Node", "Prev", "Next", "Obj", "Key"); + for (bucket = 0; bucket < self->n_buckets; ++bucket) { + node = AST_DLLIST_FIRST(&self->buckets[bucket].list); + if (node) { + suppressed_buckets = 0; + do { + prnt(where, FORMAT2, + bucket, + node, + AST_DLLIST_PREV(node, links), + AST_DLLIST_NEXT(node, links), + node->common.obj); + if (node->common.obj && prnt_obj) { + prnt_obj(node->common.obj, where, prnt); + } + prnt(where, "\n"); + + node = AST_DLLIST_NEXT(node, links); + } while (node); + } else if (!suppressed_buckets) { + suppressed_buckets = 1; + prnt(where, "...\n"); + } + } + +#undef FORMAT +#undef FORMAT2 +} +#endif /* defined(AST_DEVMODE) */ + #if defined(AST_DEVMODE) /*! * \internal @@ -2715,14 +2874,14 @@ static void hash_ao2_destroy(struct ao2_container_hash *self) * \since 12.0.0 * * \param self Container to display statistics. - * \param fd File descriptor to send output. + * \param where User data needed by prnt to determine where to put output. * \param prnt Print output callback function to use. * * \note The container is already locked for reading. * * \return Nothing */ -static void hash_ao2_stats(struct ao2_container_hash *self, int fd, void (*prnt)(int fd, const char *fmt, ...) __attribute__((format(printf, 2, 3)))) +static void hash_ao2_stats(struct ao2_container_hash *self, void *where, ao2_prnt_fn *prnt) { #define FORMAT "%10.10s %10.10s %10.10s\n" #define FORMAT2 "%10d %10d %10d\n" @@ -2730,17 +2889,17 @@ static void hash_ao2_stats(struct ao2_container_hash *self, int fd, void (*prnt) int bucket; int suppressed_buckets = 0; - prnt(fd, "Number of buckets: %d\n\n", self->n_buckets); + prnt(where, "Number of buckets: %d\n\n", self->n_buckets); - prnt(fd, FORMAT, "Bucket", "Objects", "Max"); + prnt(where, FORMAT, "Bucket", "Objects", "Max"); for (bucket = 0; bucket < self->n_buckets; ++bucket) { if (self->buckets[bucket].max_elements) { - prnt(fd, FORMAT2, bucket, self->buckets[bucket].elements, - self->buckets[bucket].max_elements); suppressed_buckets = 0; + prnt(where, FORMAT2, bucket, self->buckets[bucket].elements, + self->buckets[bucket].max_elements); } else if (!suppressed_buckets) { suppressed_buckets = 1; - prnt(fd, "...\n"); + prnt(where, "...\n"); } } @@ -2815,6 +2974,11 @@ static int hash_ao2_integrity(struct ao2_container_hash *self) /* Check backward link. */ prev = AST_DLLIST_PREV(node, links); if (prev) { + if (prev == node) { + ast_log(LOG_ERROR, "Bucket %d list node's prev pointer points to itself!\n", + bucket); + return -1; + } if (node != AST_DLLIST_NEXT(prev, links)) { ast_log(LOG_ERROR, "Bucket %d list node's prev node does not link back!\n", bucket); @@ -2829,6 +2993,11 @@ static int hash_ao2_integrity(struct ao2_container_hash *self) /* Check forward link. */ next = AST_DLLIST_NEXT(node, links); if (next) { + if (next == node) { + ast_log(LOG_ERROR, "Bucket %d list node's next pointer points to itself!\n", + bucket); + return -1; + } if (node != AST_DLLIST_PREV(next, links)) { ast_log(LOG_ERROR, "Bucket %d list node's next node does not link back!\n", bucket); @@ -2918,6 +3087,7 @@ static const struct ao2_container_methods v_table_hash = { .iterator_next = (ao2_iterator_next_fn) hash_ao2_iterator_next, .destroy = (ao2_container_destroy_fn) hash_ao2_destroy, #if defined(AST_DEVMODE) + .dump = (ao2_container_display) hash_ao2_dump, .stats = (ao2_container_statistics) hash_ao2_stats, .integrity = (ao2_container_integrity) hash_ao2_integrity, #endif /* defined(AST_DEVMODE) */ @@ -3021,6 +3191,2072 @@ struct ao2_container *__ao2_container_alloc_list_debug(unsigned int ao2_options, sort_fn, cmp_fn, tag, file, line, func, ref_debug); } +/*! + * A structure to hold the object held by the container and + * where it is located in it. + * + * A red-black tree has the following properties: + * + * 1) Every node is either black or red. + * + * 2) The root is black. + * + * 3) If a node has a NULL child, that "child" is considered + * black. + * + * 4) If a node is red, then both of its children are black. + * + * 5) Every path from a node to a descendant NULL child has the + * same number of black nodes. (Including the black NULL + * child.) + */ +struct rbtree_node { + /*! + * \brief Items common to all container nodes. + * \note Must be first in the specific node struct. + */ + struct ao2_container_node common; + /*! Parent node of this node. NULL if this is the root node. */ + struct rbtree_node *parent; + /*! Left child node of this node. NULL if does not have this child. */ + struct rbtree_node *left; + /*! Right child node of this node. NULL if does not have this child. */ + struct rbtree_node *right; + /*! TRUE if the node is red. */ + unsigned int is_red:1; +}; + +/*! + * A rbtree container in addition to values common to all + * container types, stores the pointer to the root node of the + * tree. + */ +struct ao2_container_rbtree { + /*! + * \brief Items common to all containers. + * \note Must be first in the specific container struct. + */ + struct ao2_container common; + /*! Root node of the tree. NULL if the tree is empty. */ + struct rbtree_node *root; +#if defined(AST_DEVMODE) + struct { + /*! Fixup insert left cases 1-3 */ + int fixup_insert_left[3]; + /*! Fixup insert right cases 1-3 */ + int fixup_insert_right[3]; + /*! Fixup delete left cases 1-4 */ + int fixup_delete_left[4]; + /*! Fixup delete right cases 1-4 */ + int fixup_delete_right[4]; + /*! Deletion of node with number of children (0-2). */ + int delete_children[3]; + } stats; +#endif /* defined(AST_DEVMODE) */ +}; + +/*! + * \internal + * \brief Get the most left node in the tree. + * \since 12.0.0 + * + * \param node Starting node to find the most left node. + * + * \return Left most node. Never NULL. + */ +static struct rbtree_node *rb_node_most_left(struct rbtree_node *node) +{ + while (node->left) { + node = node->left; + } + + return node; +} + +/*! + * \internal + * \brief Get the most right node in the tree. + * \since 12.0.0 + * + * \param node Starting node to find the most right node. + * + * \return Right most node. Never NULL. + */ +static struct rbtree_node *rb_node_most_right(struct rbtree_node *node) +{ + while (node->right) { + node = node->right; + } + + return node; +} + +/*! + * \internal + * \brief Get the next node in ascending sequence. + * \since 12.0.0 + * + * \param node Starting node to find the next node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_next(struct rbtree_node *node) +{ + if (node->right) { + return rb_node_most_left(node->right); + } + + /* Find the parent that the node is a left child of. */ + while (node->parent) { + if (node->parent->left == node) { + /* We are the left child. The parent is the next node. */ + return node->parent; + } + node = node->parent; + } + return NULL; +} + +/*! + * \internal + * \brief Get the next node in descending sequence. + * \since 12.0.0 + * + * \param node Starting node to find the previous node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_prev(struct rbtree_node *node) +{ + if (node->left) { + return rb_node_most_right(node->left); + } + + /* Find the parent that the node is a right child of. */ + while (node->parent) { + if (node->parent->right == node) { + /* We are the right child. The parent is the previous node. */ + return node->parent; + } + node = node->parent; + } + return NULL; +} + +/*! + * \internal + * \brief Get the next node in pre-order sequence. + * \since 12.0.0 + * + * \param node Starting node to find the next node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_pre(struct rbtree_node *node) +{ + /* Visit the children if the node has any. */ + if (node->left) { + return node->left; + } + if (node->right) { + return node->right; + } + + /* Time to go back up. */ + for (;;) { + if (!node->parent) { + return NULL; + } + if (node->parent->left == node && node->parent->right) { + /* + * We came up the left child and there's a right child. Visit + * it. + */ + return node->parent->right; + } + node = node->parent; + } +} + +/*! + * \internal + * \brief Get the next node in post-order sequence. + * \since 12.0.0 + * + * \param node Starting node to find the next node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_post(struct rbtree_node *node) +{ + /* This node's children have already been visited. */ + for (;;) { + if (!node->parent) { + return NULL; + } + if (node->parent->left == node) { + /* We came up the left child. */ + node = node->parent; + + /* + * Find the right child's left most childless node. + */ + while (node->right) { + node = rb_node_most_left(node->right); + } + + /* + * This node's left child has already been visited or it doesn't + * have any children. + */ + return node; + } + + /* + * We came up the right child. + * + * This node's children have already been visited. Time to + * visit the parent. + */ + return node->parent; + } +} + +/*! + * \internal + * \brief Get the next non-empty node in ascending sequence. + * \since 12.0.0 + * + * \param node Starting node to find the next node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_next_full(struct rbtree_node *node) +{ + for (;;) { + node = rb_node_next(node); + if (!node || node->common.obj) { + return node; + } + } +} + +/*! + * \internal + * \brief Get the next non-empty node in descending sequence. + * \since 12.0.0 + * + * \param node Starting node to find the previous node. + * + * \retval node on success. + * \retval NULL if no node. + */ +static struct rbtree_node *rb_node_prev_full(struct rbtree_node *node) +{ + for (;;) { + node = rb_node_prev(node); + if (!node || node->common.obj) { + return node; + } + } +} + +enum empty_node_direction { + GO_LEFT, + GO_RIGHT, +}; + +/*! + * \internal + * \brief Determine which way to go from an empty node. + * \since 12.0.0 + * + * \param empty Empty node to determine which side obj_right goes on. + * \param sort_fn Sort comparison function for non-empty nodes. + * \param obj_right pointer to the (user-defined part) of an object. + * \param flags flags from ao2_callback() + * OBJ_POINTER - if set, 'obj_right', is an object. + * OBJ_KEY - if set, 'obj_right', is a search key item that is not an object. + * OBJ_PARTIAL_KEY - if set, 'obj_right', is a partial search key item that is not an object. + * + * \return enum empty_node_direction to proceed. + */ +static enum empty_node_direction rb_find_empty_direction(struct rbtree_node *empty, ao2_sort_fn *sort_fn, void *obj_right, enum search_flags flags) +{ + int cmp; + struct rbtree_node *cur; + struct rbtree_node *right_most; + + /* Try for a quick definite go left. */ + if (!empty->left) { + /* The empty node has no left child. */ + return GO_RIGHT; + } + right_most = rb_node_most_right(empty->left); + if (right_most->common.obj) { + cmp = sort_fn(right_most->common.obj, obj_right, flags); + if (cmp < 0) { + return GO_RIGHT; + } + return GO_LEFT; + } + + /* Try for a quick definite go right. */ + if (!empty->right) { + /* The empty node has no right child. */ + return GO_LEFT; + } + cur = rb_node_most_left(empty->right); + if (cur->common.obj) { + cmp = sort_fn(cur->common.obj, obj_right, flags); + if (cmp <= 0) { + return GO_RIGHT; + } + return GO_LEFT; + } + + /* + * Have to scan the previous nodes from the right_most node of + * the left subtree for the first non-empty node to determine + * direction. + */ + cur = right_most; + for (;;) { + /* Find previous node. */ + if (cur->left) { + cur = rb_node_most_right(cur->left); + } else { + /* Find the parent that the node is a right child of. */ + for (;;) { + if (cur->parent == empty) { + /* The left side of the empty node is all empty nodes. */ + return GO_RIGHT; + } + if (cur->parent->right == cur) { + /* We are the right child. The parent is the previous node. */ + cur = cur->parent; + break; + } + cur = cur->parent; + } + } + + if (cur->common.obj) { + cmp = sort_fn(cur->common.obj, obj_right, flags); + if (cmp < 0) { + return GO_RIGHT; + } + return GO_LEFT; + } + } +} + +/*! + * \internal + * \brief Tree node rotation left. + * \since 12.0.0 + * + * \param self Container holding node. + * \param node Node to perform a left rotation with. + * + * p p + * | Left rotation | + * N ---> Ch + * / \ / \ + * a Ch N c + * / \ / \ + * b c a b + * + * N = node + * Ch = child + * p = parent + * a,b,c = other nodes that are unaffected by the rotation. + * + * \note It is assumed that the node's right child exists. + * + * \return Nothing + */ +static void rb_rotate_left(struct ao2_container_rbtree *self, struct rbtree_node *node) +{ + struct rbtree_node *child; /*!< Node's right child. */ + + child = node->right; + + /* Link the node's parent to the child. */ + if (!node->parent) { + /* Node is the root so we get a new root node. */ + self->root = child; + } else if (node->parent->left == node) { + /* Node is a left child. */ + node->parent->left = child; + } else { + /* Node is a right child. */ + node->parent->right = child; + } + child->parent = node->parent; + + /* Link node's right subtree to the child's left subtree. */ + node->right = child->left; + if (node->right) { + node->right->parent = node; + } + + /* Link the node to the child's left. */ + node->parent = child; + child->left = node; +} + +/*! + * \internal + * \brief Tree node rotation right. + * \since 12.0.0 + * + * \param self Container holding node. + * \param node Node to perform a right rotation with. + * + * p p + * | Right rotation | + * Ch N + * / \ <--- / \ + * a N Ch c + * / \ / \ + * b c a b + * + * N = node + * Ch = child + * p = parent + * a,b,c = other nodes that are unaffected by the rotation. + * + * \note It is assumed that the node's left child exists. + * + * \return Nothing + */ +static void rb_rotate_right(struct ao2_container_rbtree *self, struct rbtree_node *node) +{ + struct rbtree_node *child; /*!< Node's left child. */ + + child = node->left; + + /* Link the node's parent to the child. */ + if (!node->parent) { + /* Node is the root so we get a new root node. */ + self->root = child; + } else if (node->parent->right == node) { + /* Node is a right child. */ + node->parent->right = child; + } else { + /* Node is a left child. */ + node->parent->left = child; + } + child->parent = node->parent; + + /* Link node's left subtree to the child's right subtree. */ + node->left = child->right; + if (node->left) { + node->left->parent = node; + } + + /* Link the node to the child's right. */ + node->parent = child; + child->right = node; +} + +/*! + * \internal + * \brief Create an empty copy of this container. + * \since 12.0.0 + * + * \param self Container to operate upon. + * + * \retval empty-clone-container on success. + * \retval NULL on error. + */ +static struct ao2_container *rb_ao2_alloc_empty_clone(struct ao2_container_rbtree *self) +{ + struct astobj2 *orig_obj; + unsigned int ao2_options; + + /* Get container ao2 options. */ + orig_obj = INTERNAL_OBJ(self); + if (!orig_obj) { + return NULL; + } + ao2_options = orig_obj->priv_data.options; + + return ao2_t_container_alloc_rbtree(ao2_options, self->common.options, + self->common.sort_fn, self->common.cmp_fn, "Clone rbtree container"); +} + +/*! + * \internal + * \brief Create an empty copy of this container. (Debug version) + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param tag used for debugging. + * \param file Debug file name invoked from + * \param line Debug line invoked from + * \param func Debug function name invoked from + * \param ref_debug TRUE if to output a debug reference message. + * + * \retval empty-clone-container on success. + * \retval NULL on error. + */ +static struct ao2_container *rb_ao2_alloc_empty_clone_debug(struct ao2_container_rbtree *self, const char *tag, const char *file, int line, const char *func, int ref_debug) +{ + struct astobj2 *orig_obj; + unsigned int ao2_options; + + /* Get container ao2 options. */ + orig_obj = INTERNAL_OBJ(self); + if (!orig_obj) { + return NULL; + } + ao2_options = orig_obj->priv_data.options; + + return __ao2_container_alloc_rbtree_debug(ao2_options, self->common.options, + self->common.sort_fn, self->common.cmp_fn, tag, file, line, func, ref_debug); +} + +/*! + * \internal + * \brief Fixup the rbtree after deleting a node. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param child Child of the node just deleted from the container. + * + * \note The child must be a dummy black node if there really + * was no child of the deleted node. Otherwise, the caller must + * pass in the parent node and which child was deleted. In + * addition, the fixup routine would be more complicated. + * + * \return Nothing + */ +static void rb_delete_fixup(struct ao2_container_rbtree *self, struct rbtree_node *child) +{ + struct rbtree_node *sibling; + + while (self->root != child && !child->is_red) { + if (child->parent->left == child) { + /* Child is a left child. */ + sibling = child->parent->right; + ast_assert(sibling != NULL); + if (sibling->is_red) { + /* Case 1: The child's sibling is red. */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_left[0]); + sibling->is_red = 0; + child->parent->is_red = 1; + rb_rotate_left(self, child->parent); + sibling = child->parent->right; + ast_assert(sibling != NULL); + } + /* + * The sibling is black. A black node must have two children, + * or one red child, or no children. + */ + if ((!sibling->left || !sibling->left->is_red) + && (!sibling->right || !sibling->right->is_red)) { + /* + * Case 2: The sibling is black and both of its children are black. + * + * This case handles the two black children or no children + * possibilities of a black node. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_left[1]); + sibling->is_red = 1; + child = child->parent; + } else { + /* At this point the sibling has at least one red child. */ + if (!sibling->right || !sibling->right->is_red) { + /* + * Case 3: The sibling is black, its left child is red, and its + * right child is black. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_left[2]); + ast_assert(sibling->left != NULL); + ast_assert(sibling->left->is_red); + sibling->left->is_red = 0; + sibling->is_red = 1; + rb_rotate_right(self, sibling); + sibling = child->parent->right; + ast_assert(sibling != NULL); + } + /* Case 4: The sibling is black and its right child is red. */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_left[3]); + sibling->is_red = child->parent->is_red; + child->parent->is_red = 0; + if (sibling->right) { + sibling->right->is_red = 0; + } + rb_rotate_left(self, child->parent); + child = self->root; + } + } else { + /* Child is a right child. */ + sibling = child->parent->left; + ast_assert(sibling != NULL); + if (sibling->is_red) { + /* Case 1: The child's sibling is red. */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_right[0]); + sibling->is_red = 0; + child->parent->is_red = 1; + rb_rotate_right(self, child->parent); + sibling = child->parent->left; + ast_assert(sibling != NULL); + } + /* + * The sibling is black. A black node must have two children, + * or one red child, or no children. + */ + if ((!sibling->right || !sibling->right->is_red) + && (!sibling->left || !sibling->left->is_red)) { + /* + * Case 2: The sibling is black and both of its children are black. + * + * This case handles the two black children or no children + * possibilities of a black node. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_right[1]); + sibling->is_red = 1; + child = child->parent; + } else { + /* At this point the sibling has at least one red child. */ + if (!sibling->left || !sibling->left->is_red) { + /* + * Case 3: The sibling is black, its right child is red, and its + * left child is black. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_right[2]); + ast_assert(sibling->right != NULL); + ast_assert(sibling->right->is_red); + sibling->right->is_red = 0; + sibling->is_red = 1; + rb_rotate_left(self, sibling); + sibling = child->parent->left; + ast_assert(sibling != NULL); + } + /* Case 4: The sibling is black and its left child is red. */ + AO2_DEVMODE_STAT(++self->stats.fixup_delete_right[3]); + sibling->is_red = child->parent->is_red; + child->parent->is_red = 0; + if (sibling->left) { + sibling->left->is_red = 0; + } + rb_rotate_right(self, child->parent); + child = self->root; + } + } + } + + /* + * Case 2 could leave the child node red and it needs to leave + * with it black. + * + * Case 4 sets the child node to the root which of course must + * be black. + */ + child->is_red = 0; +} + +/*! + * \internal + * \brief Delete the doomed node from this container. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param doomed Container node to delete from the container. + * + * \return Nothing + */ +static void rb_delete_node(struct ao2_container_rbtree *self, struct rbtree_node *doomed) +{ + struct rbtree_node *child; + int need_fixup; + + if (doomed->left && doomed->right) { + struct rbtree_node *next; + int is_red; + + /* + * The doomed node has two children. + * + * Find the next child node and swap it with the doomed node in + * the tree. + */ + AO2_DEVMODE_STAT(++self->stats.delete_children[2]); + next = rb_node_most_left(doomed->right); + SWAP(doomed->parent, next->parent); + SWAP(doomed->left, next->left); + SWAP(doomed->right, next->right); + is_red = doomed->is_red; + doomed->is_red = next->is_red; + next->is_red = is_red; + + /* Link back in the next node. */ + if (!next->parent) { + /* Doomed was the root so we get a new root node. */ + self->root = next; + } else if (next->parent->left == doomed) { + /* Doomed was the left child. */ + next->parent->left = next; + } else { + /* Doomed was the right child. */ + next->parent->right = next; + } + next->left->parent = next; + if (next->right == next) { + /* The next node was the right child of doomed. */ + next->right = doomed; + doomed->parent = next; + } else { + next->right->parent = next; + doomed->parent->left = doomed; + } + + /* The doomed node has no left child now. */ + ast_assert(doomed->left == NULL); + + /* + * We don't have to link the right child back in with doomed + * since we are going to link it with doomed's parent anyway. + */ + child = doomed->right; + } else { + /* Doomed has at most one child. */ + child = doomed->left; + if (!child) { + child = doomed->right; + } + } + if (child) { + AO2_DEVMODE_STAT(++self->stats.delete_children[1]); + } else { + AO2_DEVMODE_STAT(++self->stats.delete_children[0]); + } + + need_fixup = (!doomed->is_red && !self->common.destroying); + if (need_fixup && !child) { + /* + * Use the doomed node as a place holder node for the + * nonexistent child so we also don't have to pass to the fixup + * routine the parent and which child the deleted node came + * from. + */ + rb_delete_fixup(self, doomed); + ast_assert(doomed->left == NULL); + ast_assert(doomed->right == NULL); + ast_assert(!doomed->is_red); + } + + /* Link the child in place of doomed. */ + if (!doomed->parent) { + /* Doomed was the root so we get a new root node. */ + self->root = child; + } else if (doomed->parent->left == doomed) { + /* Doomed was the left child. */ + doomed->parent->left = child; + } else { + /* Doomed was the right child. */ + doomed->parent->right = child; + } + if (child) { + child->parent = doomed->parent; + if (need_fixup) { + rb_delete_fixup(self, child); + } + } + + AO2_DEVMODE_STAT(--self->common.nodes); +} + +/*! + * \internal + * \brief Destroy a rbtree container node. + * \since 12.0.0 + * + * \param v_doomed Container node to destroy. + * + * \details + * The container node unlinks itself from the container as part + * of its destruction. The node must be destroyed while the + * container is already locked. + * + * \note The container must be locked when the node is + * unreferenced. + * + * \return Nothing + */ +static void rb_ao2_node_destructor(void *v_doomed) +{ + struct rbtree_node *doomed = v_doomed; + + if (doomed->common.is_linked) { + struct ao2_container_rbtree *my_container; + + /* + * Promote to write lock if not already there. Since + * adjust_lock() can potentially release and block waiting for a + * write lock, care must be taken to ensure that node references + * are released before releasing the container references. + * + * Node references held by an iterator can only be held while + * the iterator also holds a reference to the container. These + * node references must be unreferenced before the container can + * be unreferenced to ensure that the node will not get a + * negative reference and the destructor called twice for the + * same node. + */ + my_container = (struct ao2_container_rbtree *) doomed->common.my_container; + adjust_lock(my_container, AO2_LOCK_REQ_WRLOCK, 1); + +#if defined(AO2_DEBUG) && defined(AST_DEVMODE) + if (!my_container->common.destroying + && ao2_container_check(doomed->common.my_container, OBJ_NOLOCK)) { + ast_log(LOG_ERROR, "Container integrity failed before node deletion.\n"); + } +#endif /* defined(AO2_DEBUG) && defined(AST_DEVMODE) */ + rb_delete_node(my_container, doomed); +#if defined(AO2_DEBUG) && defined(AST_DEVMODE) + if (!my_container->common.destroying + && ao2_container_check(doomed->common.my_container, OBJ_NOLOCK)) { + ast_log(LOG_ERROR, "Container integrity failed after node deletion.\n"); + } +#endif /* defined(AO2_DEBUG) && defined(AST_DEVMODE) */ + } + + /* + * We could have an object in the node if the container is being + * destroyed or the node had not been linked in yet. + */ + if (doomed->common.obj) { + ao2_t_ref(doomed->common.obj, -1, "Container node destruction"); + doomed->common.obj = NULL; + } +} + +/*! + * \internal + * \brief Create a new container node. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param obj_new Object to put into the node. + * \param tag used for debugging. + * \param file Debug file name invoked from + * \param line Debug line invoked from + * \param func Debug function name invoked from + * + * \retval initialized-node on success. + * \retval NULL on error. + */ +static struct rbtree_node *rb_ao2_new_node(struct ao2_container_rbtree *self, void *obj_new, const char *tag, const char *file, int line, const char *func) +{ + struct rbtree_node *node; + + node = __ao2_alloc(sizeof(*node), rb_ao2_node_destructor, AO2_ALLOC_OPT_LOCK_NOLOCK); + if (!node) { + return NULL; + } + + if (tag) { + __ao2_ref_debug(obj_new, +1, tag, file, line, func); + } else { + ao2_t_ref(obj_new, +1, "Container node creation"); + } + node->common.obj = obj_new; + node->common.my_container = (struct ao2_container *) self; + + return node; +} + +/*! + * \internal + * \brief Fixup the rbtree after inserting a node. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param node Container node just inserted into the container. + * + * \note The just inserted node is red. + * + * \return Nothing + */ +static void rb_insert_fixup(struct ao2_container_rbtree *self, struct rbtree_node *node) +{ + struct rbtree_node *g_parent; /* Grand parent node. */ + + while (node->parent && node->parent->is_red) { + g_parent = node->parent->parent; + + /* The grand parent must exist if the parent is red. */ + ast_assert(g_parent != NULL); + + if (node->parent == g_parent->left) { + /* The parent is a left child. */ + if (g_parent->right && g_parent->right->is_red) { + /* Case 1: Push the black down from the grand parent node. */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_left[0]); + g_parent->right->is_red = 0; + g_parent->left->is_red = 0; + g_parent->is_red = 1; + + node = g_parent; + } else { + /* The uncle node is black. */ + if (node->parent->right == node) { + /* + * Case 2: The node is a right child. + * + * Which node is the grand parent does not change. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_left[1]); + node = node->parent; + rb_rotate_left(self, node); + } + /* Case 3: The node is a left child. */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_left[2]); + node->parent->is_red = 0; + g_parent->is_red = 1; + rb_rotate_right(self, g_parent); + } + } else { + /* The parent is a right child. */ + if (g_parent->left && g_parent->left->is_red) { + /* Case 1: Push the black down from the grand parent node. */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_right[0]); + g_parent->left->is_red = 0; + g_parent->right->is_red = 0; + g_parent->is_red = 1; + + node = g_parent; + } else { + /* The uncle node is black. */ + if (node->parent->left == node) { + /* + * Case 2: The node is a left child. + * + * Which node is the grand parent does not change. + */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_right[1]); + node = node->parent; + rb_rotate_right(self, node); + } + /* Case 3: The node is a right child. */ + AO2_DEVMODE_STAT(++self->stats.fixup_insert_right[2]); + node->parent->is_red = 0; + g_parent->is_red = 1; + rb_rotate_left(self, g_parent); + } + } + } + + /* + * The root could be red here because: + * 1) We just inserted the root node in an empty tree. + * + * 2) Case 1 could leave the root red if the grand parent were + * the root. + */ + self->root->is_red = 0; +} + +/*! + * \internal + * \brief Insert a node into this container. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param node Container node to insert into the container. + * + * \return enum ao2_container_insert value. + */ +static enum ao2_container_insert rb_ao2_insert_node(struct ao2_container_rbtree *self, struct rbtree_node *node) +{ + int cmp; + struct rbtree_node *cur; + struct rbtree_node *next; + ao2_sort_fn *sort_fn; + uint32_t options; + + if (!self->root) { + /* The tree is empty. */ + self->root = node; + return AO2_CONTAINER_INSERT_NODE_INSERTED; + } + + sort_fn = self->common.sort_fn; + options = self->common.options; + + /* + * New nodes are always colored red when initially inserted into + * the tree. (Except for the root which is always black.) + */ + node->is_red = 1; + + /* Find node where normal insert would put a new node. */ + cur = self->root; + for (;;) { + if (!cur->common.obj) { + /* Which direction do we go to insert this node? */ + if (rb_find_empty_direction(cur, sort_fn, node->common.obj, OBJ_POINTER) + == GO_LEFT) { + if (cur->left) { + cur = cur->left; + continue; + } + + /* Node becomes a left child */ + cur->left = node; + node->parent = cur; + rb_insert_fixup(self, node); + return AO2_CONTAINER_INSERT_NODE_INSERTED; + } + if (cur->right) { + cur = cur->right; + continue; + } + + /* Node becomes a right child */ + cur->right = node; + node->parent = cur; + rb_insert_fixup(self, node); + return AO2_CONTAINER_INSERT_NODE_INSERTED; + } + cmp = sort_fn(cur->common.obj, node->common.obj, OBJ_POINTER); + if (cmp > 0) { + if (cur->left) { + cur = cur->left; + continue; + } + + /* Node becomes a left child */ + cur->left = node; + node->parent = cur; + rb_insert_fixup(self, node); + return AO2_CONTAINER_INSERT_NODE_INSERTED; + } else if (cmp < 0) { + if (cur->right) { + cur = cur->right; + continue; + } + + /* Node becomes a right child */ + cur->right = node; + node->parent = cur; + rb_insert_fixup(self, node); + return AO2_CONTAINER_INSERT_NODE_INSERTED; + } + + break; + } + + /* Node is a dupliate */ + switch (options & AO2_CONTAINER_ALLOC_OPT_DUPS_MASK) { + default: + case AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW: + if (options & AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN) { + /* Find first duplicate node. */ + for (;;) { + next = rb_node_prev_full(cur); + if (!next) { + break; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + cur = next; + } + if (!cur->left) { + /* Node becomes a left child */ + cur->left = node; + } else { + /* Node becomes a right child */ + cur = rb_node_most_right(cur->left); + cur->right = node; + } + } else { + /* Find last duplicate node. */ + for (;;) { + next = rb_node_next_full(cur); + if (!next) { + break; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + cur = next; + } + if (!cur->right) { + /* Node becomes a right child */ + cur->right = node; + } else { + /* Node becomes a left child */ + cur = rb_node_most_left(cur->right); + cur->left = node; + } + } + break; + case AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT: + /* Reject all objects with the same key. */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + case AO2_CONTAINER_ALLOC_OPT_DUPS_OBJ_REJECT: + if (cur->common.obj == node->common.obj) { + /* Reject inserting the same object */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + } + next = cur; + if (options & AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN) { + /* Search to end of duplicates for the same object. */ + for (;;) { + next = rb_node_next_full(next); + if (!next) { + break; + } + if (next->common.obj == node->common.obj) { + /* Reject inserting the same object */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + } + + /* Find first duplicate node. */ + for (;;) { + next = rb_node_prev_full(cur); + if (!next) { + break; + } + if (next->common.obj == node->common.obj) { + /* Reject inserting the same object */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + cur = next; + } + if (!cur->left) { + /* Node becomes a left child */ + cur->left = node; + } else { + /* Node becomes a right child */ + cur = rb_node_most_right(cur->left); + cur->right = node; + } + } else { + /* Search to beginning of duplicates for the same object. */ + for (;;) { + next = rb_node_prev_full(next); + if (!next) { + break; + } + if (next->common.obj == node->common.obj) { + /* Reject inserting the same object */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + } + + /* Find last duplicate node. */ + for (;;) { + next = rb_node_next_full(cur); + if (!next) { + break; + } + if (next->common.obj == node->common.obj) { + /* Reject inserting the same object */ + return AO2_CONTAINER_INSERT_NODE_REJECTED; + } + cmp = sort_fn(next->common.obj, node->common.obj, OBJ_POINTER); + if (cmp) { + break; + } + cur = next; + } + if (!cur->right) { + /* Node becomes a right child */ + cur->right = node; + } else { + /* Node becomes a left child */ + cur = rb_node_most_left(cur->right); + cur->left = node; + } + } + break; + case AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE: + SWAP(cur->common.obj, node->common.obj); + return AO2_CONTAINER_INSERT_NODE_OBJ_REPLACED; + } + + /* Complete inserting duplicate node. */ + node->parent = cur; + rb_insert_fixup(self, node); + return AO2_CONTAINER_INSERT_NODE_INSERTED; +} + +/*! Traversal state to restart a rbtree container traversal. */ +struct rbtree_traversal_state { + /*! Active sort function in the traversal if not NULL. */ + ao2_sort_fn *sort_fn; + /*! First node returned if OBJ_CONTINUE flag set. (Reffed) */ + struct rbtree_node *first_node; + /*! Saved comparison callback arg pointer. */ + void *arg; + /*! Saved search flags to control traversing the container. */ + enum search_flags flags; +}; + +struct rbtree_traversal_state_check { + /* + * If we have a division by zero compile error here then there + * is not enough room for the state. Increase AO2_TRAVERSAL_STATE_SIZE. + */ + char check[1 / (AO2_TRAVERSAL_STATE_SIZE / sizeof(struct rbtree_traversal_state))]; +}; + +/*! + * \internal + * \brief Find the next rbtree container node in a traversal. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param state Traversal state to restart rbtree container traversal. + * \param prev Previous node returned by the traversal search functions. + * The ref ownership is passed back to this function. + * + * \retval node-ptr of found node (Reffed). + * \retval NULL when no node found. + */ +static struct rbtree_node *rb_ao2_find_next(struct ao2_container_rbtree *self, struct rbtree_traversal_state *state, struct rbtree_node *prev) +{ + struct rbtree_node *node; + void *arg; + enum search_flags flags; + int cmp; + + arg = state->arg; + flags = state->flags; + + node = prev; + for (;;) { + /* Find next node in traversal order. */ + switch (flags & OBJ_ORDER_MASK) { + default: + case OBJ_ORDER_ASCENDING: + node = rb_node_next(node); + if (!node) { + if (!state->first_node) { + break; + } + /* Wrap around to the beginning. */ + node = rb_node_most_left(self->root); + } + if (node == state->first_node) { + /* We have wrapped back to the starting point. */ + node = NULL; + } + break; + case OBJ_ORDER_DESCENDING: + node = rb_node_prev(node); + if (!node) { + if (!state->first_node) { + break; + } + /* Wrap around to the end. */ + node = rb_node_most_right(self->root); + } + if (node == state->first_node) { + /* We have wrapped back to the starting point. */ + node = NULL; + } + break; + case OBJ_ORDER_PRE: + node = rb_node_pre(node); + break; + case OBJ_ORDER_POST: + node = rb_node_post(node); + break; + } + if (!node) { + /* No more nodes left to traverse. */ + break; + } + if (!node->common.obj) { + /* Node is empty */ + continue; + } + + if (state->sort_fn) { + /* Filter node through the sort_fn */ + cmp = state->sort_fn(node->common.obj, arg, + flags & (OBJ_POINTER | OBJ_KEY | OBJ_PARTIAL_KEY)); + if (cmp) { + /* No more nodes in this container are possible to match. */ + break; + } + } + + /* We have the next traversal node */ + __ao2_ref(node, +1); + + /* + * Dereferencing the prev node may result in our next node + * object being removed by another thread. This could happen if + * the container uses RW locks and the container was read + * locked. + */ + __ao2_ref(prev, -1); + if (node->common.obj) { + return node; + } + prev = node; + } + + /* No more nodes in the container left to traverse. */ + __ao2_ref(prev, -1); + return NULL; +} + +/*! + * \internal + * \brief Find an initial matching node. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param obj_right pointer to the (user-defined part) of an object. + * \param flags flags from ao2_callback() + * OBJ_POINTER - if set, 'obj_right', is an object. + * OBJ_KEY - if set, 'obj_right', is a search key item that is not an object. + * OBJ_PARTIAL_KEY - if set, 'obj_right', is a partial search key item that is not an object. + * OBJ_CONTINUE - if set, return node right before or right after search key if not a match. + * + * \retval node on success. + * \retval NULL if not found. + */ +static struct rbtree_node *rb_find_initial(struct ao2_container_rbtree *self, void *obj_right, enum search_flags flags) +{ + int cmp; + enum search_flags sort_flags; + struct rbtree_node *node; + struct rbtree_node *next; + ao2_sort_fn *sort_fn; + + sort_flags = flags & (OBJ_POINTER | OBJ_KEY | OBJ_PARTIAL_KEY); + sort_fn = self->common.sort_fn; + + /* Find node where normal search would find it. */ + node = self->root; + if (!node) { + return NULL; + } + for (;;) { + if (!node->common.obj) { + /* Which direction do we go to find the node? */ + if (rb_find_empty_direction(node, sort_fn, obj_right, sort_flags) + == GO_LEFT) { + next = node->left; + } else { + next = node->right; + } + if (!next) { + /* No match found. */ + if (flags & OBJ_CONTINUE) { + next = rb_node_next_full(node); + if (!next) { + next = rb_node_prev_full(node); + } + } + return next; + } + } else { + cmp = sort_fn(node->common.obj, obj_right, sort_flags); + if (cmp > 0) { + next = node->left; + } else if (cmp < 0) { + next = node->right; + } else { + return node; + } + if (!next) { + /* No match found. */ + if (flags & OBJ_CONTINUE) { + return node; + } + return NULL; + } + } + node = next; + } +} + +/*! + * \internal + * \brief Find the first rbtree container node in a traversal. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param flags search_flags to control traversing the container + * \param arg Comparison callback arg parameter. + * \param state Traversal state to restart rbtree container traversal. + * + * \retval node-ptr of found node (Reffed). + * \retval NULL when no node found. + */ +static struct rbtree_node *rb_ao2_find_first(struct ao2_container_rbtree *self, enum search_flags flags, void *arg, struct rbtree_traversal_state *state) +{ + struct rbtree_node *next; + struct rbtree_node *node; + int cmp; + + if (self->common.destroying) { + /* Force traversal to be post order for tree destruction. */ + flags = OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_ORDER_POST; + } + + memset(state, 0, sizeof(*state)); + state->arg = arg; + state->flags = flags; + + if (flags & (OBJ_POINTER | OBJ_KEY | OBJ_PARTIAL_KEY)) { + /* We are asked to do a directed search. */ + state->sort_fn = self->common.sort_fn; + } else { + /* Don't know, let's visit all nodes */ + state->sort_fn = NULL; + } + + if (!self->root) { + /* Tree is empty. */ + return NULL; + } + + /* Find first traversal node. */ + switch (flags & OBJ_ORDER_MASK) { + default: + case OBJ_ORDER_ASCENDING: + if (!state->sort_fn) { + /* Find left most child. */ + node = rb_node_most_left(self->root); + if (!node->common.obj) { + node = rb_node_next_full(node); + if (!node) { + return NULL; + } + } + break; + } + + /* Search for initial node. */ + node = rb_find_initial(self, arg, flags); + if (!node) { + return NULL; + } + switch (self->common.options & AO2_CONTAINER_ALLOC_OPT_DUPS_MASK) { + default: + case AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW: + case AO2_CONTAINER_ALLOC_OPT_DUPS_OBJ_REJECT: + /* Find first duplicate node. */ + for (;;) { + next = rb_node_prev_full(node); + if (!next) { + break; + } + cmp = state->sort_fn(next->common.obj, arg, + flags & (OBJ_POINTER | OBJ_KEY | OBJ_PARTIAL_KEY)); + if (cmp) { + break; + } + node = next; + } + break; + case AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT: + case AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE: + /* There are no duplicates allowed. */ + break; + } + break; + case OBJ_ORDER_DESCENDING: + if (!state->sort_fn) { + /* Find right most child. */ + node = rb_node_most_right(self->root); + if (!node->common.obj) { + node = rb_node_prev_full(node); + if (!node) { + return NULL; + } + } + break; + } + + /* Search for initial node. */ + node = rb_find_initial(self, arg, flags); + if (!node) { + return NULL; + } + switch (self->common.options & AO2_CONTAINER_ALLOC_OPT_DUPS_MASK) { + default: + case AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW: + case AO2_CONTAINER_ALLOC_OPT_DUPS_OBJ_REJECT: + /* Find last duplicate node. */ + for (;;) { + next = rb_node_next_full(node); + if (!next) { + break; + } + cmp = state->sort_fn(next->common.obj, arg, + flags & (OBJ_POINTER | OBJ_KEY | OBJ_PARTIAL_KEY)); + if (cmp) { + break; + } + node = next; + } + break; + case AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT: + case AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE: + /* There are no duplicates allowed. */ + break; + } + break; + case OBJ_ORDER_PRE: + /* This is a tree structure traversal so we must visit all nodes. */ + state->sort_fn = NULL; + + node = self->root; + + /* Find a non-empty node. */ + while (!node->common.obj) { + node = rb_node_pre(node); + if (!node) { + return NULL; + } + } + break; + case OBJ_ORDER_POST: + /* This is a tree structure traversal so we must visit all nodes. */ + state->sort_fn = NULL; + + /* Find the left most childless node. */ + node = self->root; + for (;;) { + node = rb_node_most_left(node); + if (!node->right) { + /* This node has no children. */ + break; + } + node = node->right; + } + + /* Find a non-empty node. */ + while (!node->common.obj) { + node = rb_node_post(node); + if (!node) { + return NULL; + } + } + break; + } + + if (state->sort_fn && (flags & OBJ_CONTINUE)) { + /* Remember first node when we wrap around. */ + __ao2_ref(node, +1); + state->first_node = node; + + /* From now on all nodes are matching */ + state->sort_fn = NULL; + } + + /* We have the first traversal node */ + __ao2_ref(node, +1); + return node; +} + +/*! + * \internal + * \brief Cleanup the rbtree container traversal state. + * \since 12.0.0 + * + * \param state Traversal state to cleanup. + * + * \return Nothing + */ +static void rb_ao2_find_cleanup(struct rbtree_traversal_state *state) +{ + if (state->first_node) { + __ao2_ref(state->first_node, -1); + } +} + +/*! + * \internal + * \brief Find the next non-empty iteration node in the container. + * \since 12.0.0 + * + * \param self Container to operate upon. + * \param node Previous node returned by the iterator. + * \param flags search_flags to control iterating the container. + * Only AO2_ITERATOR_DESCENDING is useful by the method. + * + * \note The container is already locked. + * + * \retval node on success. + * \retval NULL on error or no more nodes in the container. + */ +static struct rbtree_node *rb_ao2_iterator_next(struct ao2_container_rbtree *self, struct rbtree_node *node, enum ao2_iterator_flags flags) +{ + if (flags & AO2_ITERATOR_DESCENDING) { + if (!node) { + /* Find right most node. */ + if (!self->root) { + return NULL; + } + node = rb_node_most_right(self->root); + if (node->common.obj) { + /* Found a non-empty node. */ + return node; + } + } + /* Find next non-empty node. */ + node = rb_node_prev_full(node); + } else { + if (!node) { + /* Find left most node. */ + if (!self->root) { + return NULL; + } + node = rb_node_most_left(self->root); + if (node->common.obj) { + /* Found a non-empty node. */ + return node; + } + } + /* Find next non-empty node. */ + node = rb_node_next_full(node); + } + + return node; +} + +/*! + * \internal + * + * \brief Destroy this container. + * \since 12.0.0 + * + * \param self Container to operate upon. + * + * \return Nothing + */ +static void rb_ao2_destroy(struct ao2_container_rbtree *self) +{ + /* Check that the container no longer has any nodes */ + if (self->root) { + ast_log(LOG_ERROR, "Node ref leak. Red-Black tree container still has nodes!\n"); + ast_assert(0); + } +} + +#if defined(AST_DEVMODE) +/*! + * \internal + * \brief Display contents of the specified container. + * \since 12.0.0 + * + * \param self Container to dump. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * \param prnt_obj Callback function to print the given object's key. (NULL if not available) + * + * \return Nothing + */ +static void rb_ao2_dump(struct ao2_container_rbtree *self, void *where, ao2_prnt_fn *prnt, ao2_prnt_obj_fn *prnt_obj) +{ +#define FORMAT "%16s, %16s, %16s, %16s, %5s, %16s, %s\n" +#define FORMAT2 "%16p, %16p, %16p, %16p, %5s, %16p, " + + struct rbtree_node *node; + + prnt(where, FORMAT, "Node", "Parent", "Left", "Right", "Color", "Obj", "Key"); + for (node = self->root; node; node = rb_node_pre(node)) { + prnt(where, FORMAT2, + node, + node->parent, + node->left, + node->right, + node->is_red ? "Red" : "Black", + node->common.obj); + if (node->common.obj && prnt_obj) { + prnt_obj(node->common.obj, where, prnt); + } + prnt(where, "\n"); + } + +#undef FORMAT +#undef FORMAT2 +} +#endif /* defined(AST_DEVMODE) */ + +#if defined(AST_DEVMODE) +/*! + * \internal + * \brief Display statistics of the specified container. + * \since 12.0.0 + * + * \param self Container to display statistics. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * + * \note The container is already locked for reading. + * + * \return Nothing + */ +static void rb_ao2_stats(struct ao2_container_rbtree *self, void *where, ao2_prnt_fn *prnt) +{ + int idx; + + for (idx = 0; idx < ARRAY_LEN(self->stats.fixup_insert_left); ++idx) { + prnt(where, "Number of left insert fixups case %d: %d\n", idx + 1, + self->stats.fixup_insert_left[idx]); + } + for (idx = 0; idx < ARRAY_LEN(self->stats.fixup_insert_right); ++idx) { + prnt(where, "Number of right insert fixups case %d: %d\n", idx + 1, + self->stats.fixup_insert_right[idx]); + } + + for (idx = 0; idx < ARRAY_LEN(self->stats.delete_children); ++idx) { + prnt(where, "Number of nodes deleted with %d children: %d\n", idx, + self->stats.delete_children[idx]); + } + for (idx = 0; idx < ARRAY_LEN(self->stats.fixup_delete_left); ++idx) { + prnt(where, "Number of left delete fixups case %d: %d\n", idx + 1, + self->stats.fixup_delete_left[idx]); + } + for (idx = 0; idx < ARRAY_LEN(self->stats.fixup_delete_right); ++idx) { + prnt(where, "Number of right delete fixups case %d: %d\n", idx + 1, + self->stats.fixup_delete_right[idx]); + } +} +#endif /* defined(AST_DEVMODE) */ + +#if defined(AST_DEVMODE) +/*! + * \internal + * \brief Check the black height of the given node. + * \since 12.0.0 + * + * \param node Node to check black height. + * + * \retval black-height of node on success. + * \retval -1 on error. Node black height did not balance. + */ +static int rb_check_black_height(struct rbtree_node *node) +{ + int height_left; + int height_right; + + if (!node) { + /* A NULL child is a black node. */ + return 0; + } + + height_left = rb_check_black_height(node->left); + if (height_left < 0) { + return -1; + } + height_right = rb_check_black_height(node->right); + if (height_right < 0) { + return -1; + } + if (height_left != height_right) { + ast_log(LOG_ERROR, + "Tree node black height of children does not match! L:%d != R:%d\n", + height_left, height_right); + return -1; + } + if (!node->is_red) { + /* The node itself is black. */ + ++height_left; + } + return height_left; +} + +#endif /* defined(AST_DEVMODE) */ + +#if defined(AST_DEVMODE) +/*! + * \internal + * \brief Perform an integrity check on the specified container. + * \since 12.0.0 + * + * \param self Container to check integrity. + * + * \note The container is already locked for reading. + * + * \retval 0 on success. + * \retval -1 on error. + */ +static int rb_ao2_integrity(struct ao2_container_rbtree *self) +{ + int res; + int count_node; + int count_obj; + void *obj_last; + struct rbtree_node *node; + + res = 0; + + count_node = 0; + count_obj = 0; + + /* + * See the properties listed at struct rbtree_node definition. + * + * The rbtree properties 1 and 3 are not testable. + * + * Property 1 is not testable because we are not rebalancing at + * this time so all nodes are either red or black. + * + * Property 3 is not testable because it is the definition of a + * NULL child. + */ + if (self->root) { + /* Check tree links. */ + if (self->root->parent) { + if (self->root->parent == self->root) { + ast_log(LOG_ERROR, "Tree root parent pointer points to itself!\n"); + } else { + ast_log(LOG_ERROR, "Tree root is not a root node!\n"); + } + return -1; + } + if (self->root->is_red) { + /* Violation rbtree property 2. */ + ast_log(LOG_ERROR, "Tree root is red!\n"); + res = -1; + } + node = self->root; + do { + if (node->left) { + if (node->left == node) { + ast_log(LOG_ERROR, "Tree node's left pointer points to itself!\n"); + return -1; + } + if (node->left->parent != node) { + ast_log(LOG_ERROR, "Tree node's left child does not link back!\n"); + return -1; + } + } + if (node->right) { + if (node->right == node) { + ast_log(LOG_ERROR, "Tree node's right pointer points to itself!\n"); + return -1; + } + if (node->right->parent != node) { + ast_log(LOG_ERROR, "Tree node's right child does not link back!\n"); + return -1; + } + } + + /* Check red/black node flags. */ + if (node->is_red) { + /* A red node must have two black children or no children. */ + if (node->left && node->right) { + /* Node has two children. */ + if (node->left->is_red) { + /* Violation rbtree property 4. */ + ast_log(LOG_ERROR, "Tree node is red and its left child is red!\n"); + res = -1; + } + if (node->right->is_red) { + /* Violation rbtree property 4. */ + ast_log(LOG_ERROR, "Tree node is red and its right child is red!\n"); + res = -1; + } + } else if (node->left || node->right) { + /* + * Violation rbtree property 4 if the child is red. + * Violation rbtree property 5 if the child is black. + */ + ast_log(LOG_ERROR, "Tree node is red and it only has one child!\n"); + res = -1; + } + } else { + /* + * A black node must have two children, or one red child, or no + * children. If the black node has two children and only one of + * them is red, that red child must have two children. + */ + if (node->left && node->right) { + /* Node has two children. */ + if (node->left->is_red != node->right->is_red) { + /* The children are not the same color. */ + struct rbtree_node *red; + + if (node->left->is_red) { + red = node->left; + } else { + red = node->right; + } + if (!red->left || !red->right) { + /* Violation rbtree property 5. */ + ast_log(LOG_ERROR, + "Tree node is black and the red child does not have two children!\n"); + res = -1; + } + } + } else if ((node->left && !node->left->is_red) + || (node->right && !node->right->is_red)) { + /* Violation rbtree property 5. */ + ast_log(LOG_ERROR, "Tree node is black and its only child is black!\n"); + res = -1; + } + } + + /* Count nodes and objects. */ + ++count_node; + if (node->common.obj) { + ++count_obj; + } + + node = rb_node_pre(node); + } while (node); + + /* Check node key sort order. */ + obj_last = NULL; + for (node = rb_node_most_left(self->root); node; node = rb_node_next(node)) { + if (!node->common.obj) { + /* Node is empty. */ + continue; + } + + if (obj_last) { + if (self->common.sort_fn(obj_last, node->common.obj, OBJ_POINTER) > 0) { + ast_log(LOG_ERROR, "Tree nodes are out of sorted order!\n"); + return -1; + } + } + obj_last = node->common.obj; + } + + /* Completely check property 5 */ + if (!res && rb_check_black_height(self->root) < 0) { + /* Violation rbtree property 5. */ + res = -1; + } + } + + /* Check total obj count. */ + if (count_obj != ao2_container_count(&self->common)) { + ast_log(LOG_ERROR, "Total object count does not match ao2_container_count()!\n"); + return -1; + } + + /* Check total node count. */ + if (count_node != self->common.nodes) { + ast_log(LOG_ERROR, "Total node count of %d does not match stat of %d!\n", + count_node, self->common.nodes); + return -1; + } + + return res; +} +#endif /* defined(AST_DEVMODE) */ + +/*! rbtree container virtual method table. */ +static const struct ao2_container_methods v_table_rbtree = { + .type = AO2_CONTAINER_RTTI_RBTREE, + .alloc_empty_clone = (ao2_container_alloc_empty_clone_fn) rb_ao2_alloc_empty_clone, + .alloc_empty_clone_debug = + (ao2_container_alloc_empty_clone_debug_fn) rb_ao2_alloc_empty_clone_debug, + .new_node = (ao2_container_new_node_fn) rb_ao2_new_node, + .insert = (ao2_container_insert_fn) rb_ao2_insert_node, + .traverse_first = (ao2_container_find_first_fn) rb_ao2_find_first, + .traverse_next = (ao2_container_find_next_fn) rb_ao2_find_next, + .traverse_cleanup = (ao2_container_find_cleanup_fn) rb_ao2_find_cleanup, + .iterator_next = (ao2_iterator_next_fn) rb_ao2_iterator_next, + .destroy = (ao2_container_destroy_fn) rb_ao2_destroy, +#if defined(AST_DEVMODE) + .dump = (ao2_container_display) rb_ao2_dump, + .stats = (ao2_container_statistics) rb_ao2_stats, + .integrity = (ao2_container_integrity) rb_ao2_integrity, +#endif /* defined(AST_DEVMODE) */ +}; + +/*! + * \brief Initialize a rbtree container. + * + * \param self Container to initialize. + * \param options Container behaviour options (See enum ao2_container_opts) + * \param sort_fn Pointer to a sort function. + * \param cmp_fn Pointer to a compare function used by ao2_find. + * + * \return A pointer to a struct container. + */ +static struct ao2_container *rb_ao2_container_init(struct ao2_container_rbtree *self, + unsigned int options, ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn) +{ + if (!self) { + return NULL; + } + + self->common.v_table = &v_table_rbtree; + self->common.sort_fn = sort_fn; + self->common.cmp_fn = cmp_fn; + self->common.options = options; + +#ifdef AO2_DEBUG + ast_atomic_fetchadd_int(&ao2.total_containers, 1); +#endif + + return (struct ao2_container *) self; +} + +struct ao2_container *__ao2_container_alloc_rbtree(unsigned int ao2_options, unsigned int container_options, + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn) +{ + struct ao2_container_rbtree *self; + + if (!sort_fn) { + /* Sanity checks. */ + ast_log(LOG_ERROR, "Missing sort_fn()!\n"); + return NULL; + } + + self = ao2_t_alloc_options(sizeof(*self), container_destruct, ao2_options, + "New rbtree container"); + return rb_ao2_container_init(self, container_options, sort_fn, cmp_fn); +} + +struct ao2_container *__ao2_container_alloc_rbtree_debug(unsigned int ao2_options, unsigned int container_options, + ao2_sort_fn *sort_fn, ao2_callback_fn *cmp_fn, + const char *tag, const char *file, int line, const char *func, int ref_debug) +{ + struct ao2_container_rbtree *self; + + if (!sort_fn) { + /* Sanity checks. */ + ast_log(__LOG_ERROR, file, line, func, "Missing sort_fn()!\n"); + return NULL; + } + + self = __ao2_alloc_debug(sizeof(*self), container_destruct_debug, ao2_options, + tag, file, line, func, ref_debug); + return rb_ao2_container_init(self, container_options, sort_fn, cmp_fn); +} + #ifdef AO2_DEBUG static int print_cb(void *obj, void *arg, int flag) { @@ -3080,8 +5316,9 @@ static char *handle_astobj2_test(struct ast_cli_entry *e, int cmd, struct ast_cl return CLI_SHOWUSAGE; } - if (prof_id == -1) + if (prof_id == -1) { prof_id = ast_add_profile("ao2_alloc", 0); + } ast_cli(a->fd, "argc %d argv %s %s %s\n", a->argc, a->argv[0], a->argv[1], a->argv[2]); lim = atoi(a->argv[2]); @@ -3167,6 +5404,8 @@ static struct ao2_container *reg_containers; struct ao2_reg_container { /*! Registered container pointer. */ struct ao2_container *registered; + /*! Callback function to print the given object's key. (NULL if not available) */ + ao2_prnt_obj_fn *prnt_obj; /*! Name container registered under. */ char name[1]; }; @@ -3220,7 +5459,7 @@ static void ao2_reg_destructor(void *v_doomed) } #endif /* defined(AST_DEVMODE) */ -int ao2_container_register(const char *name, struct ao2_container *self) +int ao2_container_register(const char *name, struct ao2_container *self, ao2_prnt_obj_fn *prnt_obj) { int res = 0; #if defined(AST_DEVMODE) @@ -3235,6 +5474,7 @@ int ao2_container_register(const char *name, struct ao2_container *self) /* Fill in registered entry */ ao2_t_ref(self, +1, "Registering container."); reg->registered = self; + reg->prnt_obj = prnt_obj; strcpy(reg->name, name);/* safe */ if (!ao2_t_link(reg_containers, reg, "Save registration object.")) { @@ -3292,6 +5532,76 @@ static char *complete_container_names(struct ast_cli_args *a) } #endif /* defined(AST_DEVMODE) */ +#if defined(AST_DEVMODE) +AST_THREADSTORAGE(ao2_out_buf); + +/*! + * \brief Print CLI output. + * \since 12.0.0 + * + * \param where User data pointer needed to determine where to put output. + * \param fmt printf type format string. + * + * \return Nothing + */ +static void cli_output(void *where, const char *fmt, ...) __attribute__((format(printf, 2, 3))); +static void cli_output(void *where, const char *fmt, ...) +{ + int res; + struct ast_str *buf; + va_list ap; + + buf = ast_str_thread_get(&ao2_out_buf, 256); + if (!buf) { + return; + } + + va_start(ap, fmt); + res = ast_str_set_va(&buf, 0, fmt, ap); + va_end(ap); + + if (res != AST_DYNSTR_BUILD_FAILED) { + ast_cli(*(int *) where, "%s", ast_str_buffer(buf)); + } +} +#endif /* defined(AST_DEVMODE) */ + +#if defined(AST_DEVMODE) +/*! \brief Show container contents - CLI command */ +static char *handle_cli_astobj2_container_dump(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + const char *name; + struct ao2_reg_container *reg; + + switch (cmd) { + case CLI_INIT: + e->command = "astobj2 container dump"; + e->usage = + "Usage: astobj2 container dump \n" + " Show contents of the container .\n"; + return NULL; + case CLI_GENERATE: + return complete_container_names(a); + } + + if (a->argc != 4) { + return CLI_SHOWUSAGE; + } + + name = a->argv[3]; + reg = ao2_t_find(reg_containers, name, OBJ_KEY, "Find registered container"); + if (reg) { + ao2_container_dump(reg->registered, 0, name, (void *) &a->fd, cli_output, + reg->prnt_obj); + ao2_t_ref(reg, -1, "Done with registered container object."); + } else { + ast_cli(a->fd, "Container '%s' not found.\n", name); + } + + return CLI_SUCCESS; +} +#endif /* defined(AST_DEVMODE) */ + #if defined(AST_DEVMODE) /*! \brief Show container statistics - CLI command */ static char *handle_cli_astobj2_container_stats(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) @@ -3317,7 +5627,7 @@ static char *handle_cli_astobj2_container_stats(struct ast_cli_entry *e, int cmd name = a->argv[3]; reg = ao2_t_find(reg_containers, name, OBJ_KEY, "Find registered container"); if (reg) { - ao2_container_stats(reg->registered, a->fd, ast_cli); + ao2_container_stats(reg->registered, 0, name, (void *) &a->fd, cli_output); ao2_t_ref(reg, -1, "Done with registered container object."); } else { ast_cli(a->fd, "Container '%s' not found.\n", name); @@ -3370,6 +5680,7 @@ static struct ast_cli_entry cli_astobj2[] = { AST_CLI_DEFINE(handle_astobj2_test, "Test astobj2"), #endif /* defined(AO2_DEBUG) */ #if defined(AST_DEVMODE) + AST_CLI_DEFINE(handle_cli_astobj2_container_dump, "Show container contents"), AST_CLI_DEFINE(handle_cli_astobj2_container_stats, "Show container statistics"), AST_CLI_DEFINE(handle_cli_astobj2_container_check, "Perform a container integrity check"), #endif /* defined(AST_DEVMODE) */ diff --git a/main/channel.c b/main/channel.c index 9edb0cc7f1..37fda09f1b 100644 --- a/main/channel.c +++ b/main/channel.c @@ -8596,6 +8596,27 @@ static const struct ast_data_entry channel_providers[] = { AST_DATA_ENTRY("/asterisk/core/channeltypes", &channeltypes_provider), }; +/*! + * \internal + * \brief Print channel object key (name). + * \since 12.0.0 + * + * \param v_obj A pointer to the object we want the key printed. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * + * \return Nothing + */ +static void prnt_channel_key(void *v_obj, void *where, ao2_prnt_fn *prnt) +{ + struct ast_channel *chan = v_obj; + + if (!chan) { + return; + } + prnt(where, "%s", ast_channel_name(chan)); +} + static void channels_shutdown(void) { ast_data_unregister(NULL); @@ -8610,7 +8631,7 @@ void ast_channels_init(void) channels = ao2_container_alloc(NUM_CHANNEL_BUCKETS, ast_channel_hash_cb, ast_channel_cmp_cb); if (channels) { - ao2_container_register("channels", channels); + ao2_container_register("channels", channels, prnt_channel_key); } ast_cli_register_multiple(cli_channel, ARRAY_LEN(cli_channel)); diff --git a/main/test.c b/main/test.c index 16973ba1e7..b5c3d7d5d4 100644 --- a/main/test.c +++ b/main/test.c @@ -100,6 +100,27 @@ static int test_insert(struct ast_test *test); static struct ast_test *test_remove(ast_test_cb_t *cb); static int test_cat_cmp(const char *cat1, const char *cat2); +void ast_test_debug(struct ast_test *test, const char *fmt, ...) +{ + struct ast_str *buf = NULL; + va_list ap; + + buf = ast_str_create(128); + if (!buf) { + return; + } + + va_start(ap, fmt); + ast_str_set_va(&buf, 0, fmt, ap); + va_end(ap); + + if (test->cli) { + ast_cli(test->cli->fd, "%s", ast_str_buffer(buf)); + } + + ast_free(buf); +} + int __ast_test_status_update(const char *file, const char *func, int line, struct ast_test *test, const char *fmt, ...) { diff --git a/tests/test_astobj2.c b/tests/test_astobj2.c index 0fdd0bd2d7..591326b2d8 100644 --- a/tests/test_astobj2.c +++ b/tests/test_astobj2.c @@ -37,9 +37,13 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/test.h" #include "asterisk/astobj2.h" +/* Uncomment the following line to dump the container contents during tests. */ +//#define TEST_CONTAINER_DEBUG_DUMP 1 + enum test_container_type { TEST_CONTAINER_LIST, TEST_CONTAINER_HASH, + TEST_CONTAINER_RBTREE, }; /*! @@ -63,6 +67,9 @@ static const char *test_container2str(enum test_container_type type) case TEST_CONTAINER_HASH: c_type = "Hash"; break; + case TEST_CONTAINER_RBTREE: + c_type = "RBTree"; + break; } return c_type; } @@ -199,6 +206,29 @@ static int test_sort_cb(const void *obj_left, const void *obj_right, int flags) } } +#if defined(TEST_CONTAINER_DEBUG_DUMP) +/*! + * \internal + * \brief Print test object key. + * \since 12.0.0 + * + * \param v_obj A pointer to the object we want the key printed. + * \param where User data needed by prnt to determine where to put output. + * \param prnt Print output callback function to use. + * + * \return Nothing + */ +static void test_prnt_obj(void *v_obj, void *where, ao2_prnt_fn *prnt) +{ + struct test_obj *obj = v_obj; + + if (!obj) { + return; + } + prnt(where, "%6d-%d", obj->i, obj->dup_number); +} +#endif /* defined(TEST_CONTAINER_DEBUG_DUMP) */ + /*! * \internal * \brief Test container cloning. @@ -457,6 +487,12 @@ static int astobj2_test_1_helper(int tst_num, enum test_container_type type, int c1 = ao2_t_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, 0, n_buckets, test_hash_cb, use_sort ? test_sort_cb : NULL, test_cmp_cb, "test"); break; + case TEST_CONTAINER_RBTREE: + /* RBTrees just have one bucket. */ + n_buckets = 1; + c1 = ao2_t_container_alloc_rbtree(AO2_ALLOC_OPT_LOCK_MUTEX, 0, + test_sort_cb, test_cmp_cb, "test"); + break; } c2 = ao2_t_container_alloc(1, NULL, NULL, "test"); @@ -467,27 +503,27 @@ static int astobj2_test_1_helper(int tst_num, enum test_container_type type, int } /* Create objects and link into container */ - destructor_count = lim; for (num = 0; num < lim; ++num) { if (!(obj = ao2_t_alloc(sizeof(struct test_obj), test_obj_destructor, "making zombies"))) { ast_test_status_update(test, "ao2_alloc failed.\n"); res = AST_TEST_FAIL; goto cleanup; } + ++destructor_count; obj->destructor_count = &destructor_count; obj->i = num; ao2_link(c1, obj); ao2_t_ref(obj, -1, "test"); + if (ao2_container_check(c1, 0)) { + ast_test_status_update(test, "container integrity check failed linking obj num:%d\n", num); + res = AST_TEST_FAIL; + goto cleanup; + } if (ao2_container_count(c1) != num + 1) { ast_test_status_update(test, "container did not link correctly\n"); res = AST_TEST_FAIL; } } - if (ao2_container_check(c1, 0)) { - ast_test_status_update(test, "container integrity check failed\n"); - res = AST_TEST_FAIL; - goto cleanup; - } ast_test_status_update(test, "%s container created: buckets: %d, items: %d\n", c_type, n_buckets, lim); @@ -721,6 +757,10 @@ static int astobj2_test_1_helper(int tst_num, enum test_container_type type, int ast_test_status_update(test, "container integrity check failed\n"); res = AST_TEST_FAIL; } +#if defined(TEST_CONTAINER_DEBUG_DUMP) + ao2_container_dump(c1, 0, "test_1 c1", (void *) test, (ao2_prnt_fn *) ast_test_debug, test_prnt_obj); + ao2_container_stats(c1, 0, "test_1 c1", (void *) test, (ao2_prnt_fn *) ast_test_debug); +#endif /* defined(TEST_CONTAINER_DEBUG_DUMP) */ cleanup: /* destroy containers */ @@ -777,6 +817,10 @@ AST_TEST_DEFINE(astobj2_test_1) return res; } + if ((res = astobj2_test_1_helper(4, TEST_CONTAINER_RBTREE, 1, 1000, test)) == AST_TEST_FAIL) { + return res; + } + return res; } @@ -1071,6 +1115,9 @@ static struct ao2_container *test_make_nonsorted(enum test_container_type type, container = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, options, 5, test_hash_cb, NULL, test_cmp_cb); break; + case TEST_CONTAINER_RBTREE: + /* Container type must be sorted. */ + break; } return container; @@ -1101,6 +1148,10 @@ static struct ao2_container *test_make_sorted(enum test_container_type type, int container = ao2_t_container_alloc_hash(AO2_ALLOC_OPT_LOCK_MUTEX, options, 5, test_hash_cb, test_sort_cb, test_cmp_cb, "test"); break; + case TEST_CONTAINER_RBTREE: + container = ao2_t_container_alloc_rbtree(AO2_ALLOC_OPT_LOCK_MUTEX, options, + test_sort_cb, test_cmp_cb, "test"); + break; } return container; @@ -1142,6 +1193,11 @@ static int insert_test_vector(struct ao2_container *container, int *destroy_coun obj->i = vector[idx]; ao2_link(container, obj); ao2_t_ref(obj, -1, "test"); + if (ao2_container_check(container, 0)) { + ast_test_status_update(test, "%s: Container integrity check failed linking vector[%d]:%d\n", + prefix, idx, vector[idx]); + return -1; + } if (ao2_container_count(container) != idx + 1) { ast_test_status_update(test, @@ -1150,10 +1206,6 @@ static int insert_test_vector(struct ao2_container *container, int *destroy_coun return -1; } } - if (ao2_container_check(container, 0)) { - ast_test_status_update(test, "%s: Container integrity check failed\n", prefix); - return -1; - } return 0; } @@ -1214,6 +1266,15 @@ static int insert_test_duplicates(struct ao2_container *container, int *destroy_ } else { ao2_t_ref(obj, -1, "test"); } + + if (ao2_container_check(container, 0)) { + ast_test_status_update(test, "%s: Container integrity check failed linking num:%d dup:%d\n", + prefix, number, count); + if (obj_dup) { + ao2_t_ref(obj_dup, -1, "test"); + } + return -1; + } } /* Add the duplicate object. */ @@ -1221,7 +1282,8 @@ static int insert_test_duplicates(struct ao2_container *container, int *destroy_ ao2_t_ref(obj_dup, -1, "test"); if (ao2_container_check(container, 0)) { - ast_test_status_update(test, "%s: Container integrity check failed\n", prefix); + ast_test_status_update(test, "%s: Container integrity check failed linking obj_dup\n", + prefix); return -1; } @@ -1469,6 +1531,7 @@ static int test_traversal_nonsorted(int res, int tst_num, enum test_container_ty /* Create container that inserts objects at the end. */ c1 = test_make_nonsorted(type, 0); if (!c1) { + ast_test_status_update(test, "Container c1 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1480,6 +1543,7 @@ static int test_traversal_nonsorted(int res, int tst_num, enum test_container_ty /* Create container that inserts objects at the beginning. */ c2 = test_make_nonsorted(type, AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN); if (!c2) { + ast_test_status_update(test, "Container c2 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1520,6 +1584,8 @@ static int test_traversal_nonsorted(int res, int tst_num, enum test_container_ty test_hash_begin_backward, ARRAY_LEN(test_hash_begin_backward), "Iteration (descending, insert begin)", test); break; + case TEST_CONTAINER_RBTREE: + break; } /* Check container traversal directions */ @@ -1554,6 +1620,8 @@ static int test_traversal_nonsorted(int res, int tst_num, enum test_container_ty test_hash_begin_backward, ARRAY_LEN(test_hash_begin_backward), "Traversal (descending, insert begin)", test); break; + case TEST_CONTAINER_RBTREE: + break; } /* Check traversal with OBJ_PARTIAL_KEY search range. */ @@ -1580,6 +1648,8 @@ static int test_traversal_nonsorted(int res, int tst_num, enum test_container_ty test_hash_partial_backward, ARRAY_LEN(test_hash_partial_backward), "Traversal OBJ_PARTIAL_KEY (descending)", test); break; + case TEST_CONTAINER_RBTREE: + break; } test_cleanup: @@ -1687,6 +1757,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Create container that inserts duplicate objects after matching objects. */ c1 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW); if (!c1) { + ast_test_status_update(test, "Container c1 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1698,6 +1769,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Create container that inserts duplicate objects before matching objects. */ c2 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN | AO2_CONTAINER_ALLOC_OPT_DUPS_ALLOW); if (!c2) { + ast_test_status_update(test, "Container c2 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1706,8 +1778,16 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type goto test_cleanup; } +#if defined(TEST_CONTAINER_DEBUG_DUMP) + ao2_container_dump(c1, 0, "c1(DUPS_ALLOW)", (void *) test, (ao2_prnt_fn *) ast_test_debug, test_prnt_obj); + ao2_container_stats(c1, 0, "c1(DUPS_ALLOW)", (void *) test, (ao2_prnt_fn *) ast_test_debug); + ao2_container_dump(c2, 0, "c2(DUPS_ALLOW)", (void *) test, (ao2_prnt_fn *) ast_test_debug, test_prnt_obj); + ao2_container_stats(c2, 0, "c2(DUPS_ALLOW)", (void *) test, (ao2_prnt_fn *) ast_test_debug); +#endif /* defined(TEST_CONTAINER_DEBUG_DUMP) */ + /* Check container iteration directions */ switch (type) { + case TEST_CONTAINER_RBTREE: case TEST_CONTAINER_LIST: res = test_ao2_iteration(res, c1, 0, test_forward, ARRAY_LEN(test_forward), @@ -1728,6 +1808,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Check container traversal directions */ switch (type) { + case TEST_CONTAINER_RBTREE: case TEST_CONTAINER_LIST: res = test_ao2_callback_traversal(res, c1, OBJ_ORDER_ASCENDING, NULL, NULL, test_forward, ARRAY_LEN(test_forward), @@ -1750,6 +1831,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type partial = 6; partial_key_match_range = 1; switch (type) { + case TEST_CONTAINER_RBTREE: case TEST_CONTAINER_LIST: res = test_ao2_callback_traversal(res, c1, OBJ_PARTIAL_KEY | OBJ_ORDER_ASCENDING, test_cmp_cb, &partial, @@ -1782,6 +1864,13 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type goto test_cleanup; } +#if defined(TEST_CONTAINER_DEBUG_DUMP) + ao2_container_dump(c1, 0, "c1(DUPS_ALLOW) w/ dups", (void *) test, (ao2_prnt_fn *) ast_test_debug, test_prnt_obj); + ao2_container_stats(c1, 0, "c1(DUPS_ALLOW) w/ dups", (void *) test, (ao2_prnt_fn *) ast_test_debug); + ao2_container_dump(c2, 0, "c2(DUPS_ALLOW) w/ dups", (void *) test, (ao2_prnt_fn *) ast_test_debug, test_prnt_obj); + ao2_container_stats(c2, 0, "c2(DUPS_ALLOW) w/ dups", (void *) test, (ao2_prnt_fn *) ast_test_debug); +#endif /* defined(TEST_CONTAINER_DEBUG_DUMP) */ + /* Check duplicates in containers that allow duplicates. */ res = test_expected_duplicates(res, c1, OBJ_ORDER_ASCENDING, duplicate_number, test_dup_allow_forward, ARRAY_LEN(test_dup_allow_forward), @@ -1798,6 +1887,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Create containers that reject duplicate keyed objects. */ c1 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT); if (!c1) { + ast_test_status_update(test, "Container c1 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1811,6 +1901,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type } c2 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN | AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT); if (!c2) { + ast_test_status_update(test, "Container c2 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1839,6 +1930,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Create containers that reject duplicate objects. */ c1 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_DUPS_OBJ_REJECT); if (!c1) { + ast_test_status_update(test, "Container c1 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1852,6 +1944,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type } c2 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN | AO2_CONTAINER_ALLOC_OPT_DUPS_OBJ_REJECT); if (!c2) { + ast_test_status_update(test, "Container c2 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1880,6 +1973,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type /* Create container that replaces duplicate keyed objects. */ c1 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE); if (!c1) { + ast_test_status_update(test, "Container c1 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1893,6 +1987,7 @@ static int test_traversal_sorted(int res, int tst_num, enum test_container_type } c2 = test_make_sorted(type, AO2_CONTAINER_ALLOC_OPT_INSERT_BEGIN | AO2_CONTAINER_ALLOC_OPT_DUPS_REPLACE); if (!c2) { + ast_test_status_update(test, "Container c2 creation failed.\n"); res = AST_TEST_FAIL; goto test_cleanup; } @@ -1959,6 +2054,7 @@ AST_TEST_DEFINE(astobj2_test_4) res = test_traversal_sorted(res, 3, TEST_CONTAINER_LIST, test); res = test_traversal_sorted(res, 4, TEST_CONTAINER_HASH, test); + res = test_traversal_sorted(res, 5, TEST_CONTAINER_RBTREE, test); return res; } From 37ae4ad43f801be2f573084365beb756be2db7dc Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 23 Nov 2012 00:20:55 +0000 Subject: [PATCH 039/186] Merged revisions 376589 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376589 | mjordan | 2012-11-22 18:02:23 -0600 (Thu, 22 Nov 2012) | 29 lines Re-initialize logmsgs mutex upon logger initialization to prevent lock errors Similar to the patch that moved the fork earlier in the startup sequence to prevent mutex errors in the recursive mutex surrounding the read/write thread registration lock, this patch re-initializes the logmsgs mutex. Part of the start up sequence before forking the process into the background includes reading asterisk.conf; this has to occur prior to the call to daemon in order to read startup parameters. When reading in a conf file, log statements can be generated. Since this can't be avoided, the mutex instead is re-initialized to ensure a reset of any thread tracking information. This patch also includes some additional debugging to catch errors when locking or unlocking the recursive mutex that surrounds locks when the DEBUG_THREADS build option is enabled. DO_CRASH or THREAD_CRASH will cause an abort() if a mutex error is detected. (issue ASTERISK-19463) Reported by: mjordan Tesetd by: mjordan ........ Merged revisions 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376587 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376588 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376596 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/lock.h | 16 ++++++++++++++-- main/lock.c | 2 +- main/logger.c | 11 ++++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h index 573fc0c002..cffd1a9ac7 100644 --- a/include/asterisk/lock.h +++ b/include/asterisk/lock.h @@ -428,12 +428,24 @@ int ast_find_lock_info(void *lock_addr, char *filename, size_t filename_size, in static inline void ast_reentrancy_lock(struct ast_lock_track *lt) { - pthread_mutex_lock(<->reentr_mutex); + int res; + if ((res = pthread_mutex_lock(<->reentr_mutex))) { + fprintf(stderr, "ast_reentrancy_lock failed: '%s' (%d)\n", strerror(res), res); +#if defined(DO_CRASH) || defined(THREAD_CRASH) + abort(); +#endif + } } static inline void ast_reentrancy_unlock(struct ast_lock_track *lt) { - pthread_mutex_unlock(<->reentr_mutex); + int res; + if ((res = pthread_mutex_unlock(<->reentr_mutex))) { + fprintf(stderr, "ast_reentrancy_unlock failed: '%s' (%d)\n", strerror(res), res); +#if defined(DO_CRASH) || defined(THREAD_CRASH) + abort(); +#endif + } } static inline void ast_reentrancy_init(struct ast_lock_track **plt) diff --git a/main/lock.c b/main/lock.c index eef5d8621a..3c9fbd4dbd 100644 --- a/main/lock.c +++ b/main/lock.c @@ -51,8 +51,8 @@ int __ast_pthread_mutex_init(int tracking, const char *filename, int lineno, con int res; pthread_mutexattr_t attr; - t->track = NULL; #ifdef DEBUG_THREADS + t->track = NULL; #if defined(AST_MUTEX_INIT_W_CONSTRUCTORS) && defined(CAN_COMPARE_MUTEX_TO_INIT_VALUE) if ((t->mutex) != ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER)) { /* diff --git a/main/logger.c b/main/logger.c index 945a453d09..aad1c98691 100644 --- a/main/logger.c +++ b/main/logger.c @@ -1226,8 +1226,17 @@ int init_logger(void) /* auto rotate if sig SIGXFSZ comes a-knockin */ sigaction(SIGXFSZ, &handle_SIGXFSZ, NULL); - /* start logger thread */ + /* Re-initialize the logmsgs mutex. The recursive mutex can be accessed prior + * to Asterisk being forked into the background, which can cause the thread + * ID tracked by the underlying pthread mutex to be different than the ID of + * the thread that unlocks the mutex. Since init_logger is called after the + * fork, it is safe to initialize the mutex here for future accesses. + */ + ast_mutex_destroy(&logmsgs.lock); + ast_mutex_init(&logmsgs.lock); ast_cond_init(&logcond, NULL); + + /* start logger thread */ if (ast_pthread_create(&logthread, NULL, logger_thread, NULL) < 0) { ast_cond_destroy(&logcond); return -1; From 8c84eb128fe4e250acac1929ab4a4aa687898898 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 27 Nov 2012 18:20:18 +0000 Subject: [PATCH 040/186] Merged revisions 376630 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376630 | rmudgett | 2012-11-27 11:54:25 -0600 (Tue, 27 Nov 2012) | 13 lines Made AST_LIST_REMOVE() simpler and use better names. * Update doxygen of AST_LIST_REMOVE(). ........ Merged revisions 376627 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376628 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376629 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376637 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/linkedlists.h | 58 ++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/include/asterisk/linkedlists.h b/include/asterisk/linkedlists.h index 215df74b8e..8715cf1ad0 100644 --- a/include/asterisk/linkedlists.h +++ b/include/asterisk/linkedlists.h @@ -848,34 +848,38 @@ struct { \ * \param elm This is a pointer to the entry to be removed. * \param field This is the name of the field (declared using AST_LIST_ENTRY()) * used to link entries of this list together. - * \warning The removed entry is \b not freed nor modified in any way. + * \retval elm if elm was in the list. + * \retval NULL if elm was not in the list or elm was NULL. + * \warning The removed entry is \b not freed. */ -#define AST_LIST_REMOVE(head, elm, field) ({ \ - __typeof(elm) __res = NULL; \ - __typeof(elm) __tmp = elm; \ - if (!__tmp) { \ - __res = NULL; \ - } else if ((head)->first == (elm)) { \ - __res = (head)->first; \ - (head)->first = (elm)->field.next; \ - if ((head)->last == (elm)) \ - (head)->last = NULL; \ - } else { \ - typeof(elm) curelm = (head)->first; \ - while (curelm && (curelm->field.next != (elm))) \ - curelm = curelm->field.next; \ - if (curelm) { \ - __res = (elm); \ - curelm->field.next = (elm)->field.next; \ - if ((head)->last == (elm)) \ - (head)->last = curelm; \ - } \ - } \ - if (__res) { \ - (__res)->field.next = NULL; \ - } \ - (__res); \ -}) +#define AST_LIST_REMOVE(head, elm, field) \ + ({ \ + __typeof(elm) __elm = (elm); \ + if (__elm) { \ + if ((head)->first == __elm) { \ + (head)->first = __elm->field.next; \ + __elm->field.next = NULL; \ + if ((head)->last == __elm) { \ + (head)->last = NULL; \ + } \ + } else { \ + typeof(elm) __prev = (head)->first; \ + while (__prev && __prev->field.next != __elm) { \ + __prev = __prev->field.next; \ + } \ + if (__prev) { \ + __prev->field.next = __elm->field.next; \ + __elm->field.next = NULL; \ + if ((head)->last == __elm) { \ + (head)->last = __prev; \ + } \ + } else { \ + __elm = NULL; \ + } \ + } \ + } \ + __elm; \ + }) #define AST_RWLIST_REMOVE AST_LIST_REMOVE From a82557627740d7b1794e2b279cd89e2bde0d5280 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 27 Nov 2012 21:19:40 +0000 Subject: [PATCH 041/186] Merged revisions 376660 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376660 | rmudgett | 2012-11-27 14:39:51 -0600 (Tue, 27 Nov 2012) | 27 lines Remove unnecessary channel module references. * Removed call to ast_module_user_hangup_all() in res_config_mysql.c since it is effectively a noop. No channels can attach a reference to that module. * Removed call to ast_module_user_hangup_all() in app_celgenuserevent.c. The caller of unload_module() has already called it. * Removed redundant channel module references in pbx_dundi.c. The registered dialplan function callback dispatchers for the read/read2/write callbacks already reference the module before calling. * pbx_dundi: Moved unregistering CLI commands, DUNDi switch, and dialplan functions to the first thing the unload_module() does. This will reduce the chance of new channels using DUNDi services while the module is being torn down. ........ Merged revisions 376657 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376658 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376659 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376667 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- addons/res_config_mysql.c | 3 --- apps/app_celgenuserevent.c | 9 ++------- pbx/pbx_dundi.c | 31 ++++++------------------------- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/addons/res_config_mysql.c b/addons/res_config_mysql.c index 4984dbdc95..fe8b845e84 100644 --- a/addons/res_config_mysql.c +++ b/addons/res_config_mysql.c @@ -1393,9 +1393,6 @@ static int unload_module(void) ast_config_engine_deregister(&mysql_engine); ast_verb(2, "MySQL RealTime unloaded.\n"); - ast_module_user_hangup_all(); - - usleep(1); AST_RWLIST_WRLOCK(&databases); while ((cur = AST_RWLIST_REMOVE_HEAD(&databases, list))) { mysql_close(&cur->handle); diff --git a/apps/app_celgenuserevent.c b/apps/app_celgenuserevent.c index 57dde86dea..f5714d0395 100644 --- a/apps/app_celgenuserevent.c +++ b/apps/app_celgenuserevent.c @@ -80,13 +80,8 @@ static int celgenuserevent_exec(struct ast_channel *chan, const char *data) static int unload_module(void) { - int res; - - res = ast_unregister_application(app); - - ast_module_user_hangup_all(); - - return res; + ast_unregister_application(app); + return 0; } static int load_module(void) diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c index 9311099010..6e5dc16748 100644 --- a/pbx/pbx_dundi.c +++ b/pbx/pbx_dundi.c @@ -4078,7 +4078,6 @@ static int dundifunc_read(struct ast_channel *chan, const char *cmd, char *num, { int results; int x; - struct ast_module_user *u; struct dundi_result dr[MAX_RESULTS]; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(number); @@ -4095,8 +4094,6 @@ static int dundifunc_read(struct ast_channel *chan, const char *cmd, char *num, return -1; } - u = ast_module_user_add(chan); - parse = ast_strdupa(num); AST_STANDARD_APP_ARGS(args, parse); @@ -4119,8 +4116,6 @@ static int dundifunc_read(struct ast_channel *chan, const char *cmd, char *num, } } - ast_module_user_remove(u); - return 0; } @@ -4159,7 +4154,6 @@ static const struct ast_datastore_info dundi_result_datastore_info = { static int dundi_query_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) { - struct ast_module_user *u; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(number); AST_APP_ARG(context); @@ -4170,17 +4164,13 @@ static int dundi_query_read(struct ast_channel *chan, const char *cmd, char *dat struct dundi_result_datastore *drds; struct ast_datastore *datastore; - u = ast_module_user_add(chan); - if (ast_strlen_zero(data)) { ast_log(LOG_WARNING, "DUNDIQUERY requires an argument (number)\n"); - ast_module_user_remove(u); return -1; } if (!chan) { ast_log(LOG_ERROR, "DUNDIQUERY can not be used without a channel!\n"); - ast_module_user_remove(u); return -1; } @@ -4195,7 +4185,6 @@ static int dundi_query_read(struct ast_channel *chan, const char *cmd, char *dat args.context = "e164"; if (!(drds = ast_calloc(1, sizeof(*drds)))) { - ast_module_user_remove(u); return -1; } @@ -4204,7 +4193,6 @@ static int dundi_query_read(struct ast_channel *chan, const char *cmd, char *dat if (!(datastore = ast_datastore_alloc(&dundi_result_datastore_info, buf))) { drds_destroy(drds); - ast_module_user_remove(u); return -1; } @@ -4220,8 +4208,6 @@ static int dundi_query_read(struct ast_channel *chan, const char *cmd, char *dat ast_channel_datastore_add(chan, datastore); ast_channel_unlock(chan); - ast_module_user_remove(u); - return 0; } @@ -4232,7 +4218,6 @@ static struct ast_custom_function dundi_query_function = { static int dundi_result_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) { - struct ast_module_user *u; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(id); AST_APP_ARG(resultnum); @@ -4243,8 +4228,6 @@ static int dundi_result_read(struct ast_channel *chan, const char *cmd, char *da struct ast_datastore *datastore; int res = -1; - u = ast_module_user_add(chan); - if (ast_strlen_zero(data)) { ast_log(LOG_WARNING, "DUNDIRESULT requires an argument (id and resultnum)\n"); goto finish; @@ -4299,8 +4282,6 @@ static int dundi_result_read(struct ast_channel *chan, const char *cmd, char *da ast_log(LOG_WARNING, "Result number %u is not valid for DUNDi query results for ID %s!\n", num, args.id); finish: - ast_module_user_remove(u); - return res; } @@ -4968,7 +4949,12 @@ static int set_config(char *config_file, struct sockaddr_in* sin, int reload) static int unload_module(void) { pthread_t previous_netthreadid = netthreadid, previous_precachethreadid = precachethreadid, previous_clearcachethreadid = clearcachethreadid; - ast_module_user_hangup_all(); + + ast_cli_unregister_multiple(cli_dundi, ARRAY_LEN(cli_dundi)); + ast_unregister_switch(&dundi_switch); + ast_custom_function_unregister(&dundi_function); + ast_custom_function_unregister(&dundi_query_function); + ast_custom_function_unregister(&dundi_result_function); /* Stop all currently running threads */ dundi_shutdown = 1; @@ -4985,11 +4971,6 @@ static int unload_module(void) pthread_join(previous_clearcachethreadid, NULL); } - ast_cli_unregister_multiple(cli_dundi, ARRAY_LEN(cli_dundi)); - ast_unregister_switch(&dundi_switch); - ast_custom_function_unregister(&dundi_function); - ast_custom_function_unregister(&dundi_query_function); - ast_custom_function_unregister(&dundi_result_function); close(netsocket); io_context_destroy(io); ast_sched_context_destroy(sched); From 8e7dd42f673084f3ef560f7535806f683176a448 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 28 Nov 2012 00:19:59 +0000 Subject: [PATCH 042/186] Merged revisions 376691 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376691 | rmudgett | 2012-11-27 18:13:10 -0600 (Tue, 27 Nov 2012) | 39 lines Fix extension matching with the '-' char. The '-' char is supposed to be ignored by the dialplan extension matching. Unfortunately, it's treatment is not handled consistently throughout the extension matching code. * Made the old exten matching code consistently ignore '-' chars. * Made the old exten matching code consistently handle case in the matching. * Made ignore empty character sets. * Fixed ast_extension_cmp() to return -1, 0, or 1 as documented. The only user of it in pbx_lua.c was testing for -1. It was originally returning the strcmp() value for less than which is not usually going to be -1. * Fix character set sorting if the sets have the same number of characters and start with the same character. Character set [0-9] now sorts before [02-9a] as originally intended. * Updated some extension label and priority already in use warnings to also indicate if the extension is aliased. (closes issue ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy" Harzenetter Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/2201/ ........ Merged revisions 376688 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376689 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376690 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376698 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- UPGRADE.txt | 3 + main/pbx.c | 512 ++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 378 insertions(+), 137 deletions(-) diff --git a/UPGRADE.txt b/UPGRADE.txt index 429709fc1d..66eb5aaeac 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -61,6 +61,9 @@ Dialplan: In previous versions of Asterisk, variables created and evaluated in the dialplan were evaluated case-insensitively, but built-in variables and variable evaluation done internally within Asterisk was done case-sensitively. + - Asterisk has always had code to ignore dash '-' characters that are not + part of a character set in the dialplan extensions. The code now + consistently ignores these characters when matching dialplan extensions. From 10 to 11: diff --git a/main/pbx.c b/main/pbx.c index 19b284c83f..e186b861e4 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -2419,10 +2419,122 @@ static void destroy_pattern_tree(struct match_char *pattern_tree) /* pattern tre ast_free(pattern_tree); } +/*! + * \internal + * \brief Get the length of the exten string. + * + * \param str Exten to get length. + * + * \retval strlen of exten. + */ +static int ext_cmp_exten_strlen(const char *str) +{ + int len; + + len = 0; + for (;;) { + /* Ignore '-' chars as eye candy fluff. */ + while (*str == '-') { + ++str; + } + if (!*str) { + break; + } + ++str; + ++len; + } + return len; +} + +/*! + * \internal + * \brief Partial comparison of non-pattern extens. + * + * \param left Exten to compare. + * \param right Exten to compare. Also matches if this string ends first. + * + * \retval <0 if left < right + * \retval =0 if left == right + * \retval >0 if left > right + */ +static int ext_cmp_exten_partial(const char *left, const char *right) +{ + int cmp; + + for (;;) { + /* Ignore '-' chars as eye candy fluff. */ + while (*left == '-') { + ++left; + } + while (*right == '-') { + ++right; + } + + if (!*right) { + /* + * Right ended first for partial match or both ended at the same + * time for a match. + */ + cmp = 0; + break; + } + + cmp = *left - *right; + if (cmp) { + break; + } + ++left; + ++right; + } + return cmp; +} + +/*! + * \internal + * \brief Comparison of non-pattern extens. + * + * \param left Exten to compare. + * \param right Exten to compare. + * + * \retval <0 if left < right + * \retval =0 if left == right + * \retval >0 if left > right + */ +static int ext_cmp_exten(const char *left, const char *right) +{ + int cmp; + + for (;;) { + /* Ignore '-' chars as eye candy fluff. */ + while (*left == '-') { + ++left; + } + while (*right == '-') { + ++right; + } + + cmp = *left - *right; + if (cmp) { + break; + } + if (!*left) { + /* + * Get here only if both strings ended at the same time. cmp + * would be non-zero if only one string ended. + */ + break; + } + ++left; + ++right; + } + return cmp; +} + /* * Special characters used in patterns: * '_' underscore is the leading character of a pattern. * In other position it is treated as a regular char. + * '-' The '-' is a separator and ignored. Why? So patterns like NXX-XXX-XXXX work. * . one or more of any character. Only allowed at the end of * a pattern. * ! zero or more of anything. Also impacts the result of CANMATCH @@ -2451,144 +2563,227 @@ static void destroy_pattern_tree(struct match_char *pattern_tree) /* pattern tre */ /*! - * \brief helper functions to sort extensions and patterns in the desired way, + * \brief helper functions to sort extension patterns in the desired way, * so that more specific patterns appear first. * - * ext_cmp1 compares individual characters (or sets of), returning + * \details + * The function compares individual characters (or sets of), returning * an int where bits 0-7 are the ASCII code of the first char in the set, - * while bit 8-15 are the cardinality of the set minus 1. - * This way more specific patterns (smaller cardinality) appear first. + * bits 8-15 are the number of characters in the set, and bits 16-20 are + * for special cases. + * This way more specific patterns (smaller character sets) appear first. * Wildcards have a special value, so that we can directly compare them to * sets by subtracting the two values. In particular: - * 0x000xx one character, xx - * 0x0yyxx yy character set starting with xx - * 0x10000 '.' (one or more of anything) - * 0x20000 '!' (zero or more of anything) - * 0x30000 NUL (end of string) - * 0x40000 error in set. + * 0x001xx one character, character set starting with xx + * 0x0yyxx yy characters, character set starting with xx + * 0x18000 '.' (one or more of anything) + * 0x28000 '!' (zero or more of anything) + * 0x30000 NUL (end of string) + * 0x40000 error in set. * The pointer to the string is advanced according to needs. * NOTES: - * 1. the empty set is equivalent to NUL. - * 2. given that a full set has always 0 as the first element, - * we could encode the special cases as 0xffXX where XX - * is 1, 2, 3, 4 as used above. + * 1. the empty set is ignored. + * 2. given that a full set has always 0 as the first element, + * we could encode the special cases as 0xffXX where XX + * is 1, 2, 3, 4 as used above. */ -static int ext_cmp1(const char **p, unsigned char *bitwise) +static int ext_cmp_pattern_pos(const char **p, unsigned char *bitwise) { - int c, cmin = 0xff, count = 0; +#define BITS_PER 8 /* Number of bits per unit (byte). */ + unsigned char c; + unsigned char cmin; + int count; const char *end; - /* load value and advance pointer */ - c = *(*p)++; + do { + /* Get character and advance. (Ignore '-' chars as eye candy fluff.) */ + do { + c = *(*p)++; + } while (c == '-'); - /* always return unless we have a set of chars */ - switch (toupper(c)) { - default: /* ordinary character */ - bitwise[c / 8] = 1 << (c % 8); - return 0x0100 | (c & 0xff); + /* always return unless we have a set of chars */ + switch (c) { + default: + /* ordinary character */ + bitwise[c / BITS_PER] = 1 << ((BITS_PER - 1) - (c % BITS_PER)); + return 0x0100 | c; - case 'N': /* 2..9 */ - bitwise[6] = 0xfc; - bitwise[7] = 0x03; - return 0x0800 | '2'; + case 'n': + case 'N': + /* 2..9 */ + bitwise[6] = 0x3f; + bitwise[7] = 0xc0; + return 0x0800 | '2'; - case 'X': /* 0..9 */ - bitwise[6] = 0xff; - bitwise[7] = 0x03; - return 0x0A00 | '0'; + case 'x': + case 'X': + /* 0..9 */ + bitwise[6] = 0xff; + bitwise[7] = 0xc0; + return 0x0A00 | '0'; - case 'Z': /* 1..9 */ - bitwise[6] = 0xfe; - bitwise[7] = 0x03; - return 0x0900 | '1'; + case 'z': + case 'Z': + /* 1..9 */ + bitwise[6] = 0x7f; + bitwise[7] = 0xc0; + return 0x0900 | '1'; - case '.': /* wildcard */ - return 0x18000; + case '.': + /* wildcard */ + return 0x18000; - case '!': /* earlymatch */ - return 0x28000; /* less specific than NULL */ + case '!': + /* earlymatch */ + return 0x28000; /* less specific than '.' */ - case '\0': /* empty string */ - *p = NULL; - return 0x30000; + case '\0': + /* empty string */ + *p = NULL; + return 0x30000; - case '[': /* pattern */ - break; - } - /* locate end of set */ - end = strchr(*p, ']'); - - if (end == NULL) { - ast_log(LOG_WARNING, "Wrong usage of [] in the extension\n"); - return 0x40000; /* XXX make this entry go last... */ - } - - for (; *p < end ; (*p)++) { - unsigned char c1, c2; /* first-last char in range */ - c1 = (unsigned char)((*p)[0]); - if (*p + 2 < end && (*p)[1] == '-') { /* this is a range */ - c2 = (unsigned char)((*p)[2]); - *p += 2; /* skip a total of 3 chars */ - } else { /* individual character */ - c2 = c1; + case '[': + /* char set */ + break; } - if (c1 < cmin) { - cmin = c1; + /* locate end of set */ + end = strchr(*p, ']'); + + if (!end) { + ast_log(LOG_WARNING, "Wrong usage of [] in the extension\n"); + return 0x40000; /* XXX make this entry go last... */ } - for (; c1 <= c2; c1++) { - unsigned char mask = 1 << (c1 % 8); - /*!\note If two patterns score the same, the one with the lowest - * ascii values will compare as coming first. */ - /* Flag the character as included (used) and count it. */ - if (!(bitwise[ c1 / 8 ] & mask)) { - bitwise[ c1 / 8 ] |= mask; - count += 0x100; + + count = 0; + cmin = 0xFF; + for (; *p < end; ++*p) { + unsigned char c1; /* first char in range */ + unsigned char c2; /* last char in range */ + + c1 = (*p)[0]; + if (*p + 2 < end && (*p)[1] == '-') { /* this is a range */ + c2 = (*p)[2]; + *p += 2; /* skip a total of 3 chars */ + } else { /* individual character */ + c2 = c1; + } + if (c1 < cmin) { + cmin = c1; + } + for (; c1 <= c2; ++c1) { + unsigned char mask = 1 << ((BITS_PER - 1) - (c1 % BITS_PER)); + + /* + * Note: If two character sets score the same, the one with the + * lowest ASCII values will compare as coming first. Must fill + * in most significant bits for lower ASCII values to accomplish + * the desired sort order. + */ + if (!(bitwise[c1 / BITS_PER] & mask)) { + /* Add the character to the set. */ + bitwise[c1 / BITS_PER] |= mask; + count += 0x100; + } } } - } - (*p)++; - return count == 0 ? 0x30000 : (count | cmin); + ++*p; + } while (!count);/* While the char set was empty. */ + return count | cmin; } /*! - * \brief the full routine to compare extensions in rules. + * \internal + * \brief Comparison of exten patterns. + * + * \param left Pattern to compare. + * \param right Pattern to compare. + * + * \retval <0 if left < right + * \retval =0 if left == right + * \retval >0 if left > right */ -static int ext_cmp(const char *a, const char *b) +static int ext_cmp_pattern(const char *left, const char *right) { - /* make sure non-patterns come first. - * If a is not a pattern, it either comes first or - * we do a more complex pattern comparison. - */ - int ret = 0; + int cmp; + int left_pos; + int right_pos; - if (a[0] != '_') - return (b[0] == '_') ? -1 : strcmp(a, b); + for (;;) { + unsigned char left_bitwise[32] = { 0, }; + unsigned char right_bitwise[32] = { 0, }; - /* Now we know a is a pattern; if b is not, a comes first */ - if (b[0] != '_') - return 1; - - /* ok we need full pattern sorting routine. - * skip past the underscores */ - ++a; ++b; - do { - unsigned char bitwise[2][32] = { { 0, } }; - ret = ext_cmp1(&a, bitwise[0]) - ext_cmp1(&b, bitwise[1]); - if (ret == 0) { - /* Are the classes different, even though they score the same? */ - ret = memcmp(bitwise[0], bitwise[1], 32); + left_pos = ext_cmp_pattern_pos(&left, left_bitwise); + right_pos = ext_cmp_pattern_pos(&right, right_bitwise); + cmp = left_pos - right_pos; + if (!cmp) { + /* + * Are the character sets different, even though they score the same? + * + * Note: Must swap left and right to get the sense of the + * comparison correct. Otherwise, we would need to multiply by + * -1 instead. + */ + cmp = memcmp(right_bitwise, left_bitwise, ARRAY_LEN(left_bitwise)); + } + if (cmp) { + break; + } + if (!left) { + /* + * Get here only if both patterns ended at the same time. cmp + * would be non-zero if only one pattern ended. + */ + break; } - } while (!ret && a && b); - if (ret == 0) { - return 0; - } else { - return (ret > 0) ? 1 : -1; } + return cmp; +} + +/*! + * \internal + * \brief Comparison of dialplan extens for sorting purposes. + * + * \param left Exten/pattern to compare. + * \param right Exten/pattern to compare. + * + * \retval <0 if left < right + * \retval =0 if left == right + * \retval >0 if left > right + */ +static int ext_cmp(const char *left, const char *right) +{ + /* Make sure non-pattern extens come first. */ + if (left[0] != '_') { + if (right[0] == '_') { + return -1; + } + /* Compare two non-pattern extens. */ + return ext_cmp_exten(left, right); + } + if (right[0] != '_') { + return 1; + } + + /* + * OK, we need full pattern sorting routine. + * + * Skip past the underscores + */ + return ext_cmp_pattern(left + 1, right + 1); } int ast_extension_cmp(const char *a, const char *b) { - return ext_cmp(a, b); + int cmp; + + cmp = ext_cmp(a, b); + if (cmp < 0) { + return -1; + } + if (cmp > 0) { + return 1; + } + return 0; } /*! @@ -2611,15 +2806,9 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext ast_log(LOG_NOTICE,"match core: pat: '%s', dat: '%s', mode=%d\n", pattern, data, (int)mode); #endif - if ( (mode == E_MATCH) && (pattern[0] == '_') && (!strcasecmp(pattern,data)) ) { /* note: if this test is left out, then _x. will not match _x. !!! */ -#ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (1) - pattern matches pattern\n"); -#endif - return 1; - } - if (pattern[0] != '_') { /* not a pattern, try exact or partial match */ - int ld = strlen(data), lp = strlen(pattern); + int lp = ext_cmp_exten_strlen(pattern); + int ld = ext_cmp_exten_strlen(data); if (lp < ld) { /* pattern too short, cannot match */ #ifdef NEED_DEBUG_HERE @@ -2630,11 +2819,11 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext /* depending on the mode, accept full or partial match or both */ if (mode == E_MATCH) { #ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (!strcmp(%s,%s) when mode== E_MATCH)\n", pattern, data); + ast_log(LOG_NOTICE,"return (!ext_cmp_exten(%s,%s) when mode== E_MATCH)\n", pattern, data); #endif - return !strcmp(pattern, data); /* 1 on match, 0 on fail */ + return !ext_cmp_exten(pattern, data); /* 1 on match, 0 on fail */ } - if (ld == 0 || !strncasecmp(pattern, data, ld)) { /* partial or full match */ + if (ld == 0 || !ext_cmp_exten_partial(pattern, data)) { /* partial or full match */ #ifdef NEED_DEBUG_HERE ast_log(LOG_NOTICE,"return (mode(%d) == E_MATCHMORE ? lp(%d) > ld(%d) : 1)\n", mode, lp, ld); #endif @@ -2646,26 +2835,60 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext return 0; } } - pattern++; /* skip leading _ */ + if (mode == E_MATCH && data[0] == '_') { + /* + * XXX It is bad design that we don't know if we should be + * comparing data and pattern as patterns or comparing data if + * it conforms to pattern when the function is called. First, + * assume they are both patterns. If they don't match then try + * to see if data conforms to the given pattern. + * + * note: if this test is left out, then _x. will not match _x. !!! + */ +#ifdef NEED_DEBUG_HERE + ast_log(LOG_NOTICE, "Comparing as patterns first. pattern:%s data:%s\n", pattern, data); +#endif + if (!ext_cmp_pattern(pattern + 1, data + 1)) { +#ifdef NEED_DEBUG_HERE + ast_log(LOG_NOTICE,"return (1) - pattern matches pattern\n"); +#endif + return 1; + } + } + + ++pattern; /* skip leading _ */ /* * XXX below we stop at '/' which is a separator for the CID info. However we should * not store '/' in the pattern at all. When we insure it, we can remove the checks. */ - while (*data && *pattern && *pattern != '/') { + for (;;) { const char *end; - if (*data == '-') { /* skip '-' in data (just a separator) */ - data++; - continue; + /* Ignore '-' chars as eye candy fluff. */ + while (*data == '-') { + ++data; } - switch (toupper(*pattern)) { + while (*pattern == '-') { + ++pattern; + } + if (!*data || !*pattern || *pattern == '/') { + break; + } + + switch (*pattern) { case '[': /* a range */ - end = strchr(pattern+1, ']'); /* XXX should deal with escapes ? */ - if (end == NULL) { + ++pattern; + end = strchr(pattern, ']'); /* XXX should deal with escapes ? */ + if (!end) { ast_log(LOG_WARNING, "Wrong usage of [] in the extension\n"); return 0; /* unconditional failure */ } - for (pattern++; pattern != end; pattern++) { + if (pattern == end) { + /* Ignore empty character sets. */ + ++pattern; + continue; + } + for (; pattern < end; ++pattern) { if (pattern+2 < end && pattern[1] == '-') { /* this is a range */ if (*data >= pattern[0] && *data <= pattern[2]) break; /* match found */ @@ -2676,34 +2899,37 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext } else if (*data == pattern[0]) break; /* match found */ } - if (pattern == end) { + if (pattern >= end) { #ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (0) when pattern==end\n"); + ast_log(LOG_NOTICE,"return (0) when pattern>=end\n"); #endif return 0; } pattern = end; /* skip and continue */ break; + case 'n': case 'N': if (*data < '2' || *data > '9') { #ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (0) N is matched\n"); + ast_log(LOG_NOTICE,"return (0) N is not matched\n"); #endif return 0; } break; + case 'x': case 'X': if (*data < '0' || *data > '9') { #ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (0) X is matched\n"); + ast_log(LOG_NOTICE,"return (0) X is not matched\n"); #endif return 0; } break; + case 'z': case 'Z': if (*data < '1' || *data > '9') { #ifdef NEED_DEBUG_HERE - ast_log(LOG_NOTICE,"return (0) Z is matched\n"); + ast_log(LOG_NOTICE,"return (0) Z is not matched\n"); #endif return 0; } @@ -2718,10 +2944,6 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext ast_log(LOG_NOTICE, "return (2) when '!' is matched\n"); #endif return 2; - case ' ': - case '-': /* Ignore these in patterns */ - data--; /* compensate the final data++ */ - break; default: if (*data != *pattern) { #ifdef NEED_DEBUG_HERE @@ -2729,9 +2951,10 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext #endif return 0; } + break; } - data++; - pattern++; + ++data; + ++pattern; } if (*data) /* data longer than pattern, no match */ { #ifdef NEED_DEBUG_HERE @@ -2741,7 +2964,7 @@ static int _extension_match_core(const char *pattern, const char *data, enum ext } /* - * match so far, but ran off the end of the data. + * match so far, but ran off the end of data. * Depending on what is next, determine match or not. */ if (*pattern == '\0' || *pattern == '/') { /* exact match */ @@ -9356,8 +9579,15 @@ static int add_priority(struct ast_context *con, struct ast_exten *tmp, for (ep = NULL; e ; ep = e, e = e->peer) { if (e->label && tmp->label && e->priority != tmp->priority && !strcmp(e->label, tmp->label)) { - ast_log(LOG_WARNING, "Extension '%s', priority %d in '%s', label '%s' already in use at " - "priority %d\n", tmp->exten, tmp->priority, con->name, tmp->label, e->priority); + if (strcmp(e->exten, tmp->exten)) { + ast_log(LOG_WARNING, + "Extension '%s' priority %d in '%s', label '%s' already in use at aliased extension '%s' priority %d\n", + tmp->exten, tmp->priority, con->name, tmp->label, e->exten, e->priority); + } else { + ast_log(LOG_WARNING, + "Extension '%s' priority %d in '%s', label '%s' already in use at priority %d\n", + tmp->exten, tmp->priority, con->name, tmp->label, e->priority); + } repeated_label = 1; } if (e->priority >= tmp->priority) { @@ -9382,7 +9612,15 @@ static int add_priority(struct ast_context *con, struct ast_exten *tmp, /* Can't have something exactly the same. Is this a replacement? If so, replace, otherwise, bonk. */ if (!replace) { - ast_log(LOG_WARNING, "Unable to register extension '%s', priority %d in '%s', already in use\n", tmp->exten, tmp->priority, con->name); + if (strcmp(e->exten, tmp->exten)) { + ast_log(LOG_WARNING, + "Unable to register extension '%s' priority %d in '%s', already in use by aliased extension '%s'\n", + tmp->exten, tmp->priority, con->name, e->exten); + } else { + ast_log(LOG_WARNING, + "Unable to register extension '%s' priority %d in '%s', already in use\n", + tmp->exten, tmp->priority, con->name); + } if (tmp->datad) { tmp->datad(tmp->data); /* if you free this, null it out */ From b6ace287f01309dbc5cb637d6cc3a829b7d533bb Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 28 Nov 2012 17:20:23 +0000 Subject: [PATCH 043/186] Merged revisions 376728 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376728 | jrose | 2012-11-28 10:47:44 -0600 (Wed, 28 Nov 2012) | 22 lines manager: Make challenge work with allowmultiplelogin=no Prior to this patch, challenge would yield a multiple logins error if used without providing the username (which isn't really supposed to be an argument to challenge) if allowmultiplelogin was set to no because allowmultiplelogin finds a user with a zero length login name. This check is simply disabled for the challenge action when the username is empty by this patch. (closes issue ASTERISK-20677) Reported by: Vladimir Patches: challenge_action_nomultiplelogin.diff uploaded by Jonathan Rose (license 6182) ........ Merged revisions 376725 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376726 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376727 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376735 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/manager.c b/main/manager.c index d089825710..011ae103ef 100644 --- a/main/manager.c +++ b/main/manager.c @@ -5127,7 +5127,7 @@ static int process_message(struct mansession *s, const struct message *m) || !strcasecmp(action, "Challenge"))) { user = astman_get_header(m, "Username"); - if (check_manager_session_inuse(user)) { + if (!ast_strlen_zero(user) && check_manager_session_inuse(user)) { report_session_limit(s); sleep(1); mansession_lock(s); From 1e1f6c78671b899fe83b82309c237044e92cd627 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 00:21:13 +0000 Subject: [PATCH 044/186] Merged revisions 376761 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376761 | rmudgett | 2012-11-28 18:07:55 -0600 (Wed, 28 Nov 2012) | 25 lines Enhance MALLOC_DEBUG CLI commands. * Fixed CLI "memory show allocations" misspelling of anomalies option. The command will still accept the original misspelling. * Miscellaneous tweaks to CLI "memory show allocations" command output format. * Made CLI "memory show summary" summarize by line number instead of by function if a filename is given. * Made CLI "memory show summary" sort its output by filename or function-name/line-number depending upon request. * Miscellaneous tweaks to CLI "memory show summary" command output format. ........ Merged revisions 376758 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376759 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376760 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376768 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/astmm.c | 151 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 105 insertions(+), 46 deletions(-) diff --git a/main/astmm.c b/main/astmm.c index 983fb2324e..d26ba945c9 100644 --- a/main/astmm.c +++ b/main/astmm.c @@ -588,67 +588,84 @@ static char *handle_memory_show(struct ast_cli_entry *e, int cmd, struct ast_cli unsigned int len = 0; unsigned int cache_len = 0; unsigned int count = 0; + int check_anomalies; switch (cmd) { case CLI_INIT: e->command = "memory show allocations"; e->usage = - "Usage: memory show allocations [|anomolies]\n" + "Usage: memory show allocations [|anomalies]\n" " Dumps a list of segments of allocated memory.\n" " Defaults to listing all memory allocations.\n" " - Restricts output to memory allocated by the file.\n" - " anomolies - Only check for fence violations.\n"; + " anomalies - Only check for fence violations.\n"; return NULL; case CLI_GENERATE: return NULL; } - - if (a->argc > 3) + if (a->argc == 4) { fn = a->argv[3]; + } else if (a->argc != 3) { + return CLI_SHOWUSAGE; + } + + /* Look for historical misspelled option as well. */ + check_anomalies = fn && (!strcasecmp(fn, "anomalies") || !strcasecmp(fn, "anomolies")); ast_mutex_lock(®lock); for (x = 0; x < ARRAY_LEN(regions); x++) { for (reg = regions[x]; reg; reg = reg->next) { - if (!fn || !strcasecmp(fn, reg->file) || !strcasecmp(fn, "anomolies")) { + if (check_anomalies) { region_check_fences(reg); - } - if (!fn || !strcasecmp(fn, reg->file)) { - ast_cli(a->fd, "%10d bytes allocated%s in %20s at line %5d of %s\n", - (int) reg->len, reg->cache ? " (cache)" : "", + } else if (!fn || !strcasecmp(fn, reg->file)) { + region_check_fences(reg); + + ast_cli(a->fd, "%10u bytes allocated%s by %20s() line %5u of %s\n", + (unsigned int) reg->len, reg->cache ? " (cache)" : "", reg->func, reg->lineno, reg->file); + len += reg->len; - if (reg->cache) + if (reg->cache) { cache_len += reg->len; + } count++; } } } ast_mutex_unlock(®lock); - if (cache_len) - ast_cli(a->fd, "%d bytes allocated (%d in caches) in %d allocations\n", len, cache_len, count); - else - ast_cli(a->fd, "%d bytes allocated in %d allocations\n", len, count); + if (check_anomalies) { + ast_cli(a->fd, "Anomaly check complete.\n"); + } else if (cache_len) { + ast_cli(a->fd, "%u bytes allocated (%u in caches) in %u allocations\n", + len, cache_len, count); + } else { + ast_cli(a->fd, "%u bytes allocated in %u allocations\n", len, count); + } return CLI_SUCCESS; } static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { +#define my_max(a, b) ((a) >= (b) ? (a) : (b)) + const char *fn = NULL; - int x; + int idx; + int cmp; struct ast_region *reg; unsigned int len = 0; unsigned int cache_len = 0; - int count = 0; + unsigned int count = 0; struct file_summary { - char fn[80]; - int len; - int cache_len; - int count; struct file_summary *next; - } *list = NULL, *cur; + unsigned int len; + unsigned int cache_len; + unsigned int count; + unsigned int lineno; + char name[my_max(sizeof(reg->file), sizeof(reg->func))]; + } *list = NULL, *cur, **prev; switch (cmd) { case CLI_INIT: @@ -656,37 +673,77 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct e->usage = "Usage: memory show summary []\n" " Summarizes heap memory allocations by file, or optionally\n" - " by function, if a file is specified.\n"; + " by line, if a file is specified.\n"; return NULL; case CLI_GENERATE: return NULL; } - if (a->argc > 3) + if (a->argc == 4) { fn = a->argv[3]; + } else if (a->argc != 3) { + return CLI_SHOWUSAGE; + } ast_mutex_lock(®lock); - for (x = 0; x < ARRAY_LEN(regions); x++) { - for (reg = regions[x]; reg; reg = reg->next) { - if (fn && strcasecmp(fn, reg->file)) - continue; + for (idx = 0; idx < ARRAY_LEN(regions); ++idx) { + for (reg = regions[idx]; reg; reg = reg->next) { + if (fn) { + if (strcasecmp(fn, reg->file)) { + continue; + } - for (cur = list; cur; cur = cur->next) { - if ((!fn && !strcmp(cur->fn, reg->file)) || (fn && !strcmp(cur->fn, reg->func))) + /* Sort list by func/lineno. Find existing or place to insert. */ + for (prev = &list; (cur = *prev); prev = &cur->next) { + cmp = strcmp(cur->name, reg->func); + if (cmp < 0) { + continue; + } + if (cmp > 0) { + /* Insert before current */ + cur = NULL; + break; + } + cmp = cur->lineno - reg->lineno; + if (cmp < 0) { + continue; + } + if (cmp > 0) { + /* Insert before current */ + cur = NULL; + } break; + } + } else { + /* Sort list by filename. Find existing or place to insert. */ + for (prev = &list; (cur = *prev); prev = &cur->next) { + cmp = strcmp(cur->name, reg->file); + if (cmp < 0) { + continue; + } + if (cmp > 0) { + /* Insert before current */ + cur = NULL; + } + break; + } } + if (!cur) { cur = ast_alloca(sizeof(*cur)); memset(cur, 0, sizeof(*cur)); - ast_copy_string(cur->fn, fn ? reg->func : reg->file, sizeof(cur->fn)); - cur->next = list; - list = cur; + cur->lineno = reg->lineno; + ast_copy_string(cur->name, fn ? reg->func : reg->file, sizeof(cur->name)); + + cur->next = *prev; + *prev = cur; } cur->len += reg->len; - if (reg->cache) + if (reg->cache) { cur->cache_len += reg->len; - cur->count++; + } + ++cur->count; } } ast_mutex_unlock(®lock); @@ -698,27 +755,29 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct count += cur->count; if (cur->cache_len) { if (fn) { - ast_cli(a->fd, "%10d bytes (%10d cache) in %d allocations in function '%s' of '%s'\n", - cur->len, cur->cache_len, cur->count, cur->fn, fn); + ast_cli(a->fd, "%10u bytes (%10u cache) in %10u allocations by %20s() line %5u of %s\n", + cur->len, cur->cache_len, cur->count, cur->name, cur->lineno, fn); } else { - ast_cli(a->fd, "%10d bytes (%10d cache) in %d allocations in file '%s'\n", - cur->len, cur->cache_len, cur->count, cur->fn); + ast_cli(a->fd, "%10u bytes (%10u cache) in %10u allocations in file %s\n", + cur->len, cur->cache_len, cur->count, cur->name); } } else { if (fn) { - ast_cli(a->fd, "%10d bytes in %d allocations in function '%s' of '%s'\n", - cur->len, cur->count, cur->fn, fn); + ast_cli(a->fd, "%10u bytes in %10u allocations by %20s() line %5u of %s\n", + cur->len, cur->count, cur->name, cur->lineno, fn); } else { - ast_cli(a->fd, "%10d bytes in %d allocations in file '%s'\n", - cur->len, cur->count, cur->fn); + ast_cli(a->fd, "%10u bytes in %10u allocations in file %s\n", + cur->len, cur->count, cur->name); } } } - if (cache_len) - ast_cli(a->fd, "%d bytes allocated (%d in caches) in %d allocations\n", len, cache_len, count); - else - ast_cli(a->fd, "%d bytes allocated in %d allocations\n", len, count); + if (cache_len) { + ast_cli(a->fd, "%u bytes allocated (%u in caches) in %u allocations\n", + len, cache_len, count); + } else { + ast_cli(a->fd, "%u bytes allocated in %u allocations\n", len, count); + } return CLI_SUCCESS; } From 9b9da2938be01eeb62914a191d6125b594aea608 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 01:20:42 +0000 Subject: [PATCH 045/186] Merged revisions 376791 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376791 | rmudgett | 2012-11-28 18:48:12 -0600 (Wed, 28 Nov 2012) | 32 lines Add MALLOC_DEBUG atexit unreleased malloc memory summary. * Adds the following CLI commands to control MALLOC_DEBUG reporting of unreleased malloc memory when Asterisk is shut down. memory atexit list on memory atexit list off memory atexit summary byline memory atexit summary byfunc memory atexit summary byfile memory atexit summary off * Made check all remaining allocated region blocks atexit for fence violations. * Increased the allocated region hash table size by about three times. It still isn't large enough considering the number of malloced blocks Asterisk uses. * Made CLI "memory show allocations anomalies" use regions_check_all_fences(). Review: https://reviewboard.asterisk.org/r/2196/ ........ Merged revisions 376788 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376789 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376790 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376798 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 12 +- main/astmm.c | 614 +++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 588 insertions(+), 38 deletions(-) diff --git a/main/asterisk.c b/main/asterisk.c index 637bf1277d..6085e9589e 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -3965,6 +3965,10 @@ int main(int argc, char *argv[]) * an Asterisk instance, and that there isn't one already running. */ multi_thread_safe = 1; +#if defined(__AST_DEBUG_MALLOC) + __ast_mm_init_phase_1(); +#endif /* defined(__AST_DEBUG_MALLOC) */ + /* Spawning of astcanary must happen AFTER the call to daemon(3) */ if (isroot && ast_opt_high_priority) { snprintf(canary_filename, sizeof(canary_filename), "%s/alt.asterisk.canary.tweet.tweet.tweet", ast_config_AST_RUN_DIR); @@ -4034,10 +4038,6 @@ int main(int argc, char *argv[]) ast_el_read_history(filename); } -#if defined(__AST_DEBUG_MALLOC) - __ast_mm_init_phase_1(); -#endif /* defined(__AST_DEBUG_MALLOC) */ - ast_ulaw_init(); ast_alaw_init(); tdd_init(); @@ -4271,9 +4271,9 @@ int main(int argc, char *argv[]) pthread_sigmask(SIG_UNBLOCK, &sigs, NULL); -#ifdef __AST_DEBUG_MALLOC +#if defined(__AST_DEBUG_MALLOC) __ast_mm_init_phase_2(); -#endif +#endif /* defined(__AST_DEBUG_MALLOC) */ ast_lastreloadtime = ast_startuptime = ast_tvnow(); ast_cli_register_multiple(cli_asterisk, ARRAY_LEN(cli_asterisk)); diff --git a/main/astmm.c b/main/astmm.c index d26ba945c9..1283de2dfe 100644 --- a/main/astmm.c +++ b/main/astmm.c @@ -43,7 +43,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/strings.h" #include "asterisk/unaligned.h" -#define SOME_PRIME 563 +/*! + * The larger the number the faster memory can be freed. + * However, more memory then is used for the regions[] hash + * table. + */ +#define SOME_PRIME 1567 enum func_type { FUNC_CALLOC = 1, @@ -72,7 +77,7 @@ enum func_type { static FILE *mmlog; struct ast_region { - struct ast_region *next; + AST_LIST_ENTRY(ast_region) node; size_t len; unsigned int cache; /* region was allocated as part of a cache pool */ unsigned int lineno; @@ -121,6 +126,22 @@ static struct ast_freed_regions whales; /*! Small memory blocks that have been freed. */ static struct ast_freed_regions minnows; +enum summary_opts { + /*! No summary at exit. */ + SUMMARY_OFF, + /*! Bit set if summary by line at exit. */ + SUMMARY_BY_LINE = (1 << 0), + /*! Bit set if summary by function at exit. */ + SUMMARY_BY_FUNC = (1 << 1), + /*! Bit set if summary by file at exit. */ + SUMMARY_BY_FILE = (1 << 2), +}; + +/*! Summary options of unfreed regions at exit. */ +static enum summary_opts atexit_summary; +/*! Nonzero if the unfreed regions are listed at exit. */ +static int atexit_list; + #define HASH(a) (((unsigned long)(a)) % ARRAY_LEN(regions)) /*! Tracking this mutex will cause infinite recursion, as the mutex tracking @@ -189,7 +210,7 @@ static void *__ast_alloc_region(size_t size, const enum func_type which, const c hash = HASH(reg->data); ast_mutex_lock(®lock); - reg->next = regions[hash]; + AST_LIST_NEXT(reg, node) = regions[hash]; regions[hash] = reg; ast_mutex_unlock(®lock); @@ -322,12 +343,12 @@ static struct ast_region *region_remove(void *ptr) hash = HASH(ptr); ast_mutex_lock(®lock); - for (reg = regions[hash]; reg; reg = reg->next) { + for (reg = regions[hash]; reg; reg = AST_LIST_NEXT(reg, node)) { if (reg->data == ptr) { if (prev) { - prev->next = reg->next; + AST_LIST_NEXT(prev, node) = AST_LIST_NEXT(reg, node); } else { - regions[hash] = reg->next; + regions[hash] = AST_LIST_NEXT(reg, node); } break; } @@ -369,6 +390,26 @@ static void region_check_fences(struct ast_region *reg) } } +/*! + * \internal + * \brief Check the fences of all regions currently allocated. + * + * \return Nothing + */ +static void regions_check_all_fences(void) +{ + int idx; + struct ast_region *reg; + + ast_mutex_lock(®lock); + for (idx = 0; idx < ARRAY_LEN(regions); ++idx) { + for (reg = regions[idx]; reg; reg = AST_LIST_NEXT(reg, node)) { + region_check_fences(reg); + } + } + ast_mutex_unlock(®lock); +} + static void __ast_free_region(void *ptr, const char *file, int lineno, const char *func) { struct ast_region *reg; @@ -449,7 +490,7 @@ static struct ast_region *region_find(void *ptr) struct ast_region *reg; hash = HASH(ptr); - for (reg = regions[hash]; reg; reg = reg->next) { + for (reg = regions[hash]; reg; reg = AST_LIST_NEXT(reg, node)) { if (reg->data == ptr) { break; } @@ -580,15 +621,116 @@ int __ast_vasprintf(char **strp, const char *fmt, va_list ap, const char *file, return size; } -static char *handle_memory_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +static char *handle_memory_atexit_list(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + switch (cmd) { + case CLI_INIT: + e->command = "memory atexit list"; + e->usage = + "Usage: memory atexit list {on|off}\n" + " Enable dumping a list of still allocated memory segments at exit.\n"; + return NULL; + case CLI_GENERATE: + if (a->pos == 3) { + const char * const options[] = { "off", "on", NULL }; + + return ast_cli_complete(a->word, options, a->n); + } + return NULL; + } + + if (a->argc != 4) { + return CLI_SHOWUSAGE; + } + + if (ast_true(a->argv[3])) { + atexit_list = 1; + } else if (ast_false(a->argv[3])) { + atexit_list = 0; + } else { + return CLI_SHOWUSAGE; + } + + ast_cli(a->fd, "The atexit list is: %s\n", atexit_list ? "On" : "Off"); + + return CLI_SUCCESS; +} + +static char *handle_memory_atexit_summary(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + char buf[80]; + + switch (cmd) { + case CLI_INIT: + e->command = "memory atexit summary"; + e->usage = + "Usage: memory atexit summary {off|byline|byfunc|byfile}\n" + " Summary of still allocated memory segments at exit options.\n" + " off - Disable at exit summary.\n" + " byline - Enable at exit summary by file line number.\n" + " byfunc - Enable at exit summary by function name.\n" + " byfile - Enable at exit summary by file.\n" + "\n" + " Note: byline, byfunc, and byfile are cumulative enables.\n"; + return NULL; + case CLI_GENERATE: + if (a->pos == 3) { + const char * const options[] = { "off", "byline", "byfunc", "byfile", NULL }; + + return ast_cli_complete(a->word, options, a->n); + } + return NULL; + } + + if (a->argc != 4) { + return CLI_SHOWUSAGE; + } + + if (ast_false(a->argv[3])) { + atexit_summary = SUMMARY_OFF; + } else if (!strcasecmp(a->argv[3], "byline")) { + atexit_summary |= SUMMARY_BY_LINE; + } else if (!strcasecmp(a->argv[3], "byfunc")) { + atexit_summary |= SUMMARY_BY_FUNC; + } else if (!strcasecmp(a->argv[3], "byfile")) { + atexit_summary |= SUMMARY_BY_FILE; + } else { + return CLI_SHOWUSAGE; + } + + if (atexit_summary) { + buf[0] = '\0'; + if (atexit_summary & SUMMARY_BY_LINE) { + strcat(buf, "byline"); + } + if (atexit_summary & SUMMARY_BY_FUNC) { + if (buf[0]) { + strcat(buf, " | "); + } + strcat(buf, "byfunc"); + } + if (atexit_summary & SUMMARY_BY_FILE) { + if (buf[0]) { + strcat(buf, " | "); + } + strcat(buf, "byfile"); + } + } else { + strcpy(buf, "Off"); + } + ast_cli(a->fd, "The atexit summary is: %s\n", buf); + + return CLI_SUCCESS; +} + +static char *handle_memory_show_allocations(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { const char *fn = NULL; struct ast_region *reg; - unsigned int x; + unsigned int idx; unsigned int len = 0; unsigned int cache_len = 0; unsigned int count = 0; - int check_anomalies; switch (cmd) { case CLI_INIT: @@ -611,33 +753,35 @@ static char *handle_memory_show(struct ast_cli_entry *e, int cmd, struct ast_cli } /* Look for historical misspelled option as well. */ - check_anomalies = fn && (!strcasecmp(fn, "anomalies") || !strcasecmp(fn, "anomolies")); + if (fn && (!strcasecmp(fn, "anomalies") || !strcasecmp(fn, "anomolies"))) { + regions_check_all_fences(); + ast_cli(a->fd, "Anomaly check complete.\n"); + return CLI_SUCCESS; + } ast_mutex_lock(®lock); - for (x = 0; x < ARRAY_LEN(regions); x++) { - for (reg = regions[x]; reg; reg = reg->next) { - if (check_anomalies) { - region_check_fences(reg); - } else if (!fn || !strcasecmp(fn, reg->file)) { - region_check_fences(reg); - - ast_cli(a->fd, "%10u bytes allocated%s by %20s() line %5u of %s\n", - (unsigned int) reg->len, reg->cache ? " (cache)" : "", - reg->func, reg->lineno, reg->file); - - len += reg->len; - if (reg->cache) { - cache_len += reg->len; - } - count++; + for (idx = 0; idx < ARRAY_LEN(regions); ++idx) { + for (reg = regions[idx]; reg; reg = AST_LIST_NEXT(reg, node)) { + if (fn && strcasecmp(fn, reg->file)) { + continue; } + + region_check_fences(reg); + + ast_cli(a->fd, "%10u bytes allocated%s by %20s() line %5u of %s\n", + (unsigned int) reg->len, reg->cache ? " (cache)" : "", + reg->func, reg->lineno, reg->file); + + len += reg->len; + if (reg->cache) { + cache_len += reg->len; + } + ++count; } } ast_mutex_unlock(®lock); - if (check_anomalies) { - ast_cli(a->fd, "Anomaly check complete.\n"); - } else if (cache_len) { + if (cache_len) { ast_cli(a->fd, "%u bytes allocated (%u in caches) in %u allocations\n", len, cache_len, count); } else { @@ -687,7 +831,7 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct ast_mutex_lock(®lock); for (idx = 0; idx < ARRAY_LEN(regions); ++idx) { - for (reg = regions[idx]; reg; reg = reg->next) { + for (reg = regions[idx]; reg; reg = AST_LIST_NEXT(reg, node)) { if (fn) { if (strcasecmp(fn, reg->file)) { continue; @@ -783,10 +927,404 @@ static char *handle_memory_show_summary(struct ast_cli_entry *e, int cmd, struct } static struct ast_cli_entry cli_memory[] = { - AST_CLI_DEFINE(handle_memory_show, "Display outstanding memory allocations"), + AST_CLI_DEFINE(handle_memory_atexit_list, "Enable memory allocations not freed at exit list."), + AST_CLI_DEFINE(handle_memory_atexit_summary, "Enable memory allocations not freed at exit summary."), + AST_CLI_DEFINE(handle_memory_show_allocations, "Display outstanding memory allocations"), AST_CLI_DEFINE(handle_memory_show_summary, "Summarize outstanding memory allocations"), }; +AST_LIST_HEAD_NOLOCK(region_list, ast_region); + +/*! + * \internal + * \brief Convert the allocated regions hash table to a list. + * + * \param list Fill list with the allocated regions. + * + * \details + * Take all allocated regions from the regions[] and put them + * into the list. + * + * \note reglock must be locked before calling. + * + * \note This function is destructive to the regions[] lists. + * + * \return Length of list created. + */ +static size_t mm_atexit_hash_list(struct region_list *list) +{ + struct ast_region *reg; + size_t total_length; + int idx; + + total_length = 0; + for (idx = 0; idx < ARRAY_LEN(regions); ++idx) { + while ((reg = regions[idx])) { + regions[idx] = AST_LIST_NEXT(reg, node); + AST_LIST_NEXT(reg, node) = NULL; + AST_LIST_INSERT_HEAD(list, reg, node); + ++total_length; + } + } + return total_length; +} + +/*! + * \internal + * \brief Put the regions list into the allocated regions hash table. + * + * \param list List to put into the allocated regions hash table. + * + * \note reglock must be locked before calling. + * + * \return Nothing + */ +static void mm_atexit_hash_restore(struct region_list *list) +{ + struct ast_region *reg; + int hash; + + while ((reg = AST_LIST_REMOVE_HEAD(list, node))) { + hash = HASH(reg->data); + AST_LIST_NEXT(reg, node) = regions[hash]; + regions[hash] = reg; + } +} + +/*! + * \internal + * \brief Sort regions comparision. + * + * \param left Region to compare. + * \param right Region to compare. + * + * \retval <0 if left < right + * \retval =0 if left == right + * \retval >0 if left > right + */ +static int mm_atexit_cmp(struct ast_region *left, struct ast_region *right) +{ + int cmp; + ptrdiff_t cmp_ptr; + ssize_t cmp_size; + + /* Sort by filename. */ + cmp = strcmp(left->file, right->file); + if (cmp) { + return cmp; + } + + /* Sort by line number. */ + cmp = left->lineno - right->lineno; + if (cmp) { + return cmp; + } + + /* Sort by allocated size. */ + cmp_size = left->len - right->len; + if (cmp_size) { + if (cmp_size < 0) { + return -1; + } + return 1; + } + + /* Sort by allocated pointers just because. */ + cmp_ptr = left->data - right->data; + if (cmp_ptr) { + if (cmp_ptr < 0) { + return -1; + } + return 1; + } + + return 0; +} + +/*! + * \internal + * \brief Merge the given sorted sublists into sorted order onto the end of the list. + * + * \param list Merge sublists onto this list. + * \param sub1 First sublist to merge. + * \param sub2 Second sublist to merge. + * + * \return Nothing + */ +static void mm_atexit_list_merge(struct region_list *list, struct region_list *sub1, struct region_list *sub2) +{ + struct ast_region *reg; + + for (;;) { + if (AST_LIST_EMPTY(sub1)) { + /* The remaining sublist goes onto the list. */ + AST_LIST_APPEND_LIST(list, sub2, node); + break; + } + if (AST_LIST_EMPTY(sub2)) { + /* The remaining sublist goes onto the list. */ + AST_LIST_APPEND_LIST(list, sub1, node); + break; + } + + if (mm_atexit_cmp(AST_LIST_FIRST(sub1), AST_LIST_FIRST(sub2)) <= 0) { + reg = AST_LIST_REMOVE_HEAD(sub1, node); + } else { + reg = AST_LIST_REMOVE_HEAD(sub2, node); + } + AST_LIST_INSERT_TAIL(list, reg, node); + } +} + +/*! + * \internal + * \brief Take sublists off of the given list. + * + * \param list Source list to remove sublists from the beginning of list. + * \param sub Array of sublists to fill. (Lists are empty on entry.) + * \param num_lists Number of lists to remove from the source list. + * \param size Size of the sublists to remove. + * \param remaining Remaining number of elements on the source list. + * + * \return Nothing + */ +static void mm_atexit_list_split(struct region_list *list, struct region_list sub[], size_t num_lists, size_t size, size_t *remaining) +{ + int idx; + + for (idx = 0; idx < num_lists; ++idx) { + size_t count; + + if (*remaining < size) { + /* The remaining source list goes onto the sublist. */ + AST_LIST_APPEND_LIST(&sub[idx], list, node); + *remaining = 0; + break; + } + + /* Take a sublist off the beginning of the source list. */ + *remaining -= size; + for (count = size; count--;) { + struct ast_region *reg; + + reg = AST_LIST_REMOVE_HEAD(list, node); + AST_LIST_INSERT_TAIL(&sub[idx], reg, node); + } + } +} + +/*! + * \internal + * \brief Sort the regions list using mergesort. + * + * \param list Allocated regions list to sort. + * \param length Length of the list. + * + * \return Nothing + */ +static void mm_atexit_list_sort(struct region_list *list, size_t length) +{ + /*! Semi-sorted merged list. */ + struct region_list merged = AST_LIST_HEAD_NOLOCK_INIT_VALUE; + /*! Sublists to merge. (Can only merge two sublists at this time.) */ + struct region_list sub[2] = { + AST_LIST_HEAD_NOLOCK_INIT_VALUE, + AST_LIST_HEAD_NOLOCK_INIT_VALUE + }; + /*! Sublist size. */ + size_t size = 1; + /*! Remaining elements in the list. */ + size_t remaining; + /*! Number of sublist merge passes to process the list. */ + int passes; + + for (;;) { + remaining = length; + + passes = 0; + while (!AST_LIST_EMPTY(list)) { + mm_atexit_list_split(list, sub, ARRAY_LEN(sub), size, &remaining); + mm_atexit_list_merge(&merged, &sub[0], &sub[1]); + ++passes; + } + AST_LIST_APPEND_LIST(list, &merged, node); + if (passes <= 1) { + /* The list is now sorted. */ + break; + } + + /* Double the sublist size to remove for next round. */ + size <<= 1; + } +} + +/*! + * \internal + * \brief List all regions currently allocated. + * + * \param alloced regions list. + * + * \return Nothing + */ +static void mm_atexit_regions_list(struct region_list *alloced) +{ + struct ast_region *reg; + + AST_LIST_TRAVERSE(alloced, reg, node) { + astmm_log("%s %s() line %u: %u bytes%s at %p\n", + reg->file, reg->func, reg->lineno, + (unsigned int) reg->len, reg->cache ? " (cache)" : "", reg->data); + } +} + +/*! + * \internal + * \brief Summarize all regions currently allocated. + * + * \param alloced Sorted regions list. + * + * \return Nothing + */ +static void mm_atexit_regions_summary(struct region_list *alloced) +{ + struct ast_region *reg; + struct ast_region *next; + struct { + unsigned int count; + unsigned int len; + unsigned int cache_len; + } by_line, by_func, by_file, total; + + by_line.count = 0; + by_line.len = 0; + by_line.cache_len = 0; + + by_func.count = 0; + by_func.len = 0; + by_func.cache_len = 0; + + by_file.count = 0; + by_file.len = 0; + by_file.cache_len = 0; + + total.count = 0; + total.len = 0; + total.cache_len = 0; + + AST_LIST_TRAVERSE(alloced, reg, node) { + next = AST_LIST_NEXT(reg, node); + + ++by_line.count; + by_line.len += reg->len; + if (reg->cache) { + by_line.cache_len += reg->len; + } + if (next && !strcmp(reg->file, next->file) && reg->lineno == next->lineno) { + continue; + } + if (atexit_summary & SUMMARY_BY_LINE) { + if (by_line.cache_len) { + astmm_log("%10u bytes (%u in caches) in %u allocations. %s %s() line %u\n", + by_line.len, by_line.cache_len, by_line.count, reg->file, reg->func, reg->lineno); + } else { + astmm_log("%10u bytes in %5u allocations. %s %s() line %u\n", + by_line.len, by_line.count, reg->file, reg->func, reg->lineno); + } + } + + by_func.count += by_line.count; + by_func.len += by_line.len; + by_func.cache_len += by_line.cache_len; + by_line.count = 0; + by_line.len = 0; + by_line.cache_len = 0; + if (next && !strcmp(reg->file, next->file) && !strcmp(reg->func, next->func)) { + continue; + } + if (atexit_summary & SUMMARY_BY_FUNC) { + if (by_func.cache_len) { + astmm_log("%10u bytes (%u in caches) in %u allocations. %s %s()\n", + by_func.len, by_func.cache_len, by_func.count, reg->file, reg->func); + } else { + astmm_log("%10u bytes in %5u allocations. %s %s()\n", + by_func.len, by_func.count, reg->file, reg->func); + } + } + + by_file.count += by_func.count; + by_file.len += by_func.len; + by_file.cache_len += by_func.cache_len; + by_func.count = 0; + by_func.len = 0; + by_func.cache_len = 0; + if (next && !strcmp(reg->file, next->file)) { + continue; + } + if (atexit_summary & SUMMARY_BY_FILE) { + if (by_file.cache_len) { + astmm_log("%10u bytes (%u in caches) in %u allocations. %s\n", + by_file.len, by_file.cache_len, by_file.count, reg->file); + } else { + astmm_log("%10u bytes in %5u allocations. %s\n", + by_file.len, by_file.count, reg->file); + } + } + + total.count += by_file.count; + total.len += by_file.len; + total.cache_len += by_file.cache_len; + by_file.count = 0; + by_file.len = 0; + by_file.cache_len = 0; + } + + if (total.cache_len) { + astmm_log("%u bytes (%u in caches) in %u allocations.\n", + total.len, total.cache_len, total.count); + } else { + astmm_log("%u bytes in %u allocations.\n", total.len, total.count); + } +} + +/*! + * \internal + * \brief Dump the memory allocations atexit. + * + * \note reglock must be locked before calling. + * + * \return Nothing + */ +static void mm_atexit_dump(void) +{ + struct region_list alloced_atexit = AST_LIST_HEAD_NOLOCK_INIT_VALUE; + size_t length; + + length = mm_atexit_hash_list(&alloced_atexit); + if (!length) { + /* Wow! This is amazing! */ + astmm_log("Exiting with all memory freed.\n"); + return; + } + + mm_atexit_list_sort(&alloced_atexit, length); + + astmm_log("Exiting with the following memory not freed:\n"); + if (atexit_list) { + mm_atexit_regions_list(&alloced_atexit); + } + if (atexit_summary) { + mm_atexit_regions_summary(&alloced_atexit); + } + + /* + * Put the alloced list back into regions[]. + * + * We have do do this because we can get called before all other + * threads have terminated. + */ + mm_atexit_hash_restore(&alloced_atexit); +} + /*! * \internal * \return Nothing @@ -795,10 +1333,22 @@ static void mm_atexit_final(void) { FILE *log; + fprintf(stderr, "Waiting 10 seconds to let other threads die.\n"); + sleep(10); + + regions_check_all_fences(); + /* Flush all delayed memory free circular arrays. */ freed_regions_flush(&whales); freed_regions_flush(&minnows); + /* Peform atexit allocation dumps. */ + if (atexit_list || atexit_summary) { + ast_mutex_lock(®lock); + mm_atexit_dump(); + ast_mutex_unlock(®lock); + } + /* Close the log file. */ log = mmlog; mmlog = NULL; From 93ec26e40affa4901c458e93b6d744915b1a850b Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 17:19:50 +0000 Subject: [PATCH 046/186] Merged revisions 376820-376821 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r376820 | pkiefer | 2012-11-29 10:44:42 -0600 (Thu, 29 Nov 2012) | 14 lines Fix chan_sip websocket payload handling Websocket by default doesn't return an ast_str for the payload received. When converting it to an ast_str on chan_sip the last character was being omitted, because ast_str functions expects that the given length includes the trailing 0x00. payload_len only has the actual string length without counting the trailing zero. For most cases this passed unnoticed as most of SIP messages ends with \r\n. (closes issue ASTERISK-20745) Reported by: I?\195?\177aki Baz Castillo Review: https://reviewboard.asterisk.org/r/2219/ ........ r376821 | dlee | 2012-11-29 11:16:50 -0600 (Thu, 29 Nov 2012) | 5 lines Fixed ast_random's comment about locking. The original comment was separated from the code at some point, and didn't reflect the use of libc's other than glibc for Linux. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376827 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 2 +- main/utils.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 44c8037ba8..67c2a1c7cd 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2635,7 +2635,7 @@ static void sip_websocket_callback(struct ast_websocket *session, struct ast_var if (opcode == AST_WEBSOCKET_OPCODE_TEXT || opcode == AST_WEBSOCKET_OPCODE_BINARY) { struct sip_request req = { 0, }; - if (!(req.data = ast_str_create(payload_len))) { + if (!(req.data = ast_str_create(payload_len + 1))) { goto end; } diff --git a/main/utils.c b/main/utils.c index 1ea8371097..24a8326a80 100644 --- a/main/utils.c +++ b/main/utils.c @@ -1487,9 +1487,6 @@ int ast_remaining_ms(struct timeval start, int max_ms) #undef ONE_MILLION -/*! \brief glibc puts a lock inside random(3), so that the results are thread-safe. - * BSD libc (and others) do not. */ - #ifndef linux AST_MUTEX_DEFINE_STATIC(randomlock); #endif @@ -1508,6 +1505,13 @@ long int ast_random(void) } } #endif + /* XXX - Thread safety really depends on the libc, not the OS. + * + * But... popular Linux libc's (uClibc, glibc, eglibc), all have a + * somewhat thread safe random(3) (results are random, but not + * reproducible). The libc's for other systems (BSD, et al.), not so + * much. + */ #ifdef linux res = random(); #else From ddde765c590bb817f01c65cba500db1720fc657f Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 29 Nov 2012 18:54:51 +0000 Subject: [PATCH 047/186] Commit some progress towards threadpools. Does this compile? Not even close. But I figure I don't want to lose this all in the case of some catastrophe. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376833 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 96 ++++++++++++++++++++ main/threadpool.c | 161 ++++++++++++++++++++++++++++++++++ 2 files changed, 257 insertions(+) create mode 100644 include/asterisk/threadpool.h create mode 100644 main/threadpool.c diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h new file mode 100644 index 0000000000..7a20abdcbe --- /dev/null +++ b/include/asterisk/threadpool.h @@ -0,0 +1,96 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + + +#ifndef _ASTERISK_THREADPOOL_H +#define _ASTERISK_THREADPOOL_H + +struct ast_threadpool; +struct ast_taskprocessor; +struct ast_threadpool_listener; + +struct ast_threadpool_listener_callbacks { + /*! + * \brief Indicates that the state of threads in the pool has changed + * + * \param listener The threadpool listener + * \param active_threads The number of active threads in the pool + * \param idle_threads The number of idle threads in the pool + * \param zombie_threads The number of zombie threads in the pool + */ + void (*state_changed)(struct ast_threadpool_listener *listener, + int active_threads, + int idle_threads, + int zombie_threads); + /*! + * \brief Indicates that a task was pushed to the threadpool's taskprocessor + * + * \param listener The threadpool listener + * \param was_empty Indicates whether the taskprocessor was empty prior to adding the task + */ + void (*tps_task_pushed)(struct ast_threadpool_listener *listener, + int was_empty); + /*! + * \brief Indicates the threadpoo's taskprocessor has become empty + * + * \param listener The threadpool's listener + */ + void (*emptied)(struct ast_threadpool_listener *listener); +}; + +/*! + * \brief listener for a threadpool + * + * The listener is notified of changes in a threadpool. It can + * react by doing things like increasing the number of threads + * in the pool + */ +struct ast_threadpool_listener { + /*! Callbacks called by the threadpool */ + struct ast_threadpool_listener_callbacks *callbacks; + /*! Handle to the threadpool */ + struct ast_threadpool *threadpool; + /*! User data for the listener */ + void *private_data; +}; + +/*! + * \brief Create a new threadpool + * + * This function creates a threadpool and returns a taskprocessor. Tasks pushed + * to this taskprocessor will be handled by the threadpool and will be reported + * on the threadpool's listener. + * + * \param listener The listener the threadpool will notify of changes + * \retval NULL Failed to create the threadpool + * \retval non-NULL The associated taskprocessor + */ +struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener); + +/*! + * \brief Set the number of threads for the thread pool + * + * This number may be more or less than the current number of + * threads in the threadpool. + * + * \param threadpool The threadpool to adjust + * \param size The new desired size of the threadpool + */ +void ast_threadpool_set_size(struct ast_threadpool *threadpool, unsigned int size); + +#endif /* ASTERISK_THREADPOOL_H */ diff --git a/main/threadpool.c b/main/threadpool.c new file mode 100644 index 0000000000..362c765cff --- /dev/null +++ b/main/threadpool.c @@ -0,0 +1,161 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + + +#include "asterisk.h" + +#include "asterisk/threadpool.h" +#include "asterisk/taskprocessor.h" + +struct ast_threadpool; + +enum worker_state { + ALIVE, + ZOMBIE, + DEAD, +}; + +struct worker_thread { + ast_cond_t cond; + ast_mutex_t lock; + pthread_t thread; + struct ast_threadpool *pool; + AST_LIST_ENTRY(struct worker_thread) next; + int wake_up; + enum worker_state state; +}; + +static int worker_idle(struct worker_thread *worker) +{ + SCOPED_MUTEX(lock, &worker->lock); + if (worker->state != ALIVE) { + return false; + } + threadpool_active_thread_idle(worker->pool, worker); + while (!worker->wake_up) { + ast_cond_wait(&worker->cond, lock); + } + worker->wake_up = false; + return worker->state == ALIVE; +} + +static int worker_active(struct worker_thread *worker) +{ + int alive = 1; + while (alive) { + if (threadpool_execute(worker->pool)) { + alive = worker_idle(worker); + } + } + + /* Reaching this portion means the thread is + * on death's door. It may have been killed while + * it was idle, in which case it can just die + * peacefully. If it's a zombie, though, then + * it needs to let the pool know so + * that the thread can be removed from the + * list of zombie threads. + */ + if (worker->state == ZOMBIE) { + threadpool_zombie_thread_dead(worker->pool, worker); + } + + return 0; +} + +struct ast_threadpool { + struct ast_threadpool_listener *threadpool_listener; + int active_threads; + int idle_threads; + int zombie_threads; +} + +static void *threadpool_tps_listener_alloc(struct ast_taskprocessor_listener *listener) +{ + RAII_VAR(ast_threadpool *, threadpool, + ao2_alloc(sizeof(*threadpool), threadpool_destroy), ao2_cleanup); + + return threadpool; +} + +static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listener) +{ + /* XXX stub */ +} + +static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) +{ + /* XXX stub */ +} + +static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) +{ + /* XXX stub */ +} + +static void threadpool_tps_listener_destroy(struct ast_taskprocessor_listener *listener) +{ + /* XXX stub */ +} + +static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callbacks = { + .alloc = threadpool_tps_listener_alloc, + .task_pushed = threadpool_tps_task_pushed, + .emptied = threadpool_tps_emptied, + .shutdown = threadpool_tps_shutdown, + .destroy = threadpool_tps_listener_destroy, +}; + +/*! + * \brief Allocate the taskprocessor to be used for the threadpool + * + * We use a custom taskprocessor listener. We allocate our custom + * listener and then create a taskprocessor. + */ +static struct ast_taskprocessor_listener *threadpool_tps_alloc(void) +{ + RAII_VAR(struct threadpool_tps_listener *, tps_listener, + ast_taskprocessor_listener_alloc(&threadpool_tps_listener_callbacks), + ao2_cleanup); + + if (!tps_listener) { + return NULL; + } + + return ast_taskprocessor_create_with_listener(tps_listener); +} + +void ast_threadpool_set_size(struct ast_threadpool *pool, int size) +{ +} + +struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size) +{ + struct ast_threadpool *pool; + RAII_VAR(ast_taskprocessor *, tps, threadpool_tps_alloc(), ast_taskprocessor_unreference); + + if (!tps) { + return NULL; + } + + pool = tps->listener->private_data; + pool->tps = tps; + ast_threadpool_set_size(pool, initial_size); + + return pool; +} From f052e88b49743306dea12b14efe8973286a0f758 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 22:20:25 +0000 Subject: [PATCH 048/186] Merged revisions 376837 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376837 | elguero | 2012-11-29 15:58:41 -0600 (Thu, 29 Nov 2012) | 25 lines Improve Code Readability And Fix Setting natdetected Flag For 1.8, 10, 11 and trunk we are are improving the code readability. For 11 and trunk, auto nat detection was added. The natdetected flag was being set to 1 when the host address in the VIA header did not specifiy a port. This patch fixes this by setting the port on the temporary sock address used to SIP_STANDARD_PORT in order for the sock address comparison to work properly. (closes issue ASTERISK-20724) Reported by: Michael L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2206/ ........ Merged revisions 376834 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376835 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376836 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376844 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 67c2a1c7cd..0dc6069c8d 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -17896,10 +17896,13 @@ static void check_via(struct sip_pvt *p, struct sip_request *req) if (ast_sockaddr_resolve_first(&tmp, c, 0)) { ast_log(LOG_WARNING, "Could not resolve socket address for '%s'\n", c); + port = STANDARD_SIP_PORT; + } else if (!(port = ast_sockaddr_port(&tmp)) { + port = STANDARD_SIP_PORT; + ast_sockaddr_set_port(&tmp, port); } - port = ast_sockaddr_port(&tmp); - ast_sockaddr_set_port(&p->sa, - port != 0 ? port : STANDARD_SIP_PORT); + + ast_sockaddr_set_port(&p->sa, port); /* Check and see if the requesting UA is likely to be behind a NAT. If they are, set the * natdetected flag so that later, peers with nat=auto_* can use the value. Also From b2df2488b632b0a6ec23d330c7e6ec8a2054a065 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 29 Nov 2012 23:19:44 +0000 Subject: [PATCH 049/186] Merged revisions 376867,376871 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376867 | rmudgett | 2012-11-29 16:34:24 -0600 (Thu, 29 Nov 2012) | 13 lines Fix compile error. (issue ASTERISK-20724) ........ Merged revisions 376864 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376865 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376866 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r376871 | rmudgett | 2012-11-29 17:01:16 -0600 (Thu, 29 Nov 2012) | 13 lines chan_local: Fix local_pvt ref leak in local_devicestate(). Regression introduced by ASTERISK-20390 fix. ........ Merged revisions 376868 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376869 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376870 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376878 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_local.c | 21 +++++++++++++-------- channels/chan_sip.c | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/channels/chan_local.c b/channels/chan_local.c index 4e0316670d..da86e14733 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -311,15 +311,20 @@ static int local_devicestate(const char *data) res = AST_DEVICE_NOT_INUSE; it = ao2_iterator_init(locals, 0); - while ((lp = ao2_iterator_next(&it)) && (res == AST_DEVICE_NOT_INUSE)) { - if (!strcmp(exten, lp->exten) && !strcmp(context, lp->context) && lp->owner) { - ao2_lock(lp); - if (ast_test_flag(lp, LOCAL_LAUNCHED_PBX)) { - res = AST_DEVICE_INUSE; - } - ao2_unlock(lp); + for (; (lp = ao2_iterator_next(&it)); ao2_ref(lp, -1)) { + int is_inuse; + + ao2_lock(lp); + is_inuse = !strcmp(exten, lp->exten) + && !strcmp(context, lp->context) + && lp->owner + && ast_test_flag(lp, LOCAL_LAUNCHED_PBX); + ao2_unlock(lp); + if (is_inuse) { + res = AST_DEVICE_INUSE; + ao2_ref(lp, -1); + break; } - ao2_ref(lp, -1); } ao2_iterator_destroy(&it); diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 0dc6069c8d..30177d1951 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -17897,7 +17897,7 @@ static void check_via(struct sip_pvt *p, struct sip_request *req) if (ast_sockaddr_resolve_first(&tmp, c, 0)) { ast_log(LOG_WARNING, "Could not resolve socket address for '%s'\n", c); port = STANDARD_SIP_PORT; - } else if (!(port = ast_sockaddr_port(&tmp)) { + } else if (!(port = ast_sockaddr_port(&tmp))) { port = STANDARD_SIP_PORT; ast_sockaddr_set_port(&tmp, port); } From e044fa5fdefdf1c22ee7d4de8ccd91f84b5c7a80 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 30 Nov 2012 00:19:50 +0000 Subject: [PATCH 050/186] Some more progress. Still does not compile. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376898 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 269 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 257 insertions(+), 12 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 362c765cff..15450bc2ff 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -22,7 +22,16 @@ #include "asterisk/threadpool.h" #include "asterisk/taskprocessor.h" -struct ast_threadpool; +#define THREAD_BUCKETS 89 + +static int id_counter; + +struct ast_threadpool { + struct ast_threadpool_listener *threadpool_listener; + struct ao2_container *active_threads; + struct ao2_container *idle_threads; + struct ao2_container *zombie_threads; +} enum worker_state { ALIVE, @@ -31,15 +40,131 @@ enum worker_state { }; struct worker_thread { + int id; ast_cond_t cond; ast_mutex_t lock; pthread_t thread; struct ast_threadpool *pool; - AST_LIST_ENTRY(struct worker_thread) next; - int wake_up; enum worker_state state; + int wake_up; }; +static int worker_thread_hash(const void *obj) +{ + struct worker_thread *worker= obj; + + return worker->id; +} + +static int worker_thread_cmp(void *obj, void *arg, int flags) +{ + struct worker_thread *worker1 = obj; + struct worker_thread *worker2 = arg; + + return worker1->id == worker2->id ? CMP_MATCH : 0; +} + +static worker_thread *worker_thread_alloc(struct ast_threadpool *pool) +{ + struct worker_thread *worker = ao2_alloc(1, sizeof(*worker)); + if (!worker) { + /* XXX Dangit! */ + return NULL; + } + worker->id = ast_atomic_fetchadd_int(&id_counter, 1); + ast_mutex_init(&worker->lock); + ast_cond_init(&worker->cond, NULL); + worker->pool = pool; + worker->thread = AST_PTHREADT_NULL; + worker->state = ALIVE; + if (ast_pthread_create(&worker->thread, NULL, worker_active, worker) < 0) { + /* XXX Poop! */ + ao2_ref(worker, -1); + return NULL; + } + return worker; +} + +static void threadpool_send_state_changed(struct ast_threadpool *pool) +{ + int active_size = ao2_container_count(pool->active_threads); + int idle_size = ao2_container_count(pool->idle_threads); + int zombie_size = ao2_container_count(pool->zombie_threads); + + pool->listener->callbacks->state_changed(pool->listener, active_size, idle_size, zombie_size); +} + +struct thread_worker_pair { + struct ast_threadpool *pool; + struct worker_thread *worker; +}; + +static void thread_worker_pair_destructor(void *obj) +{ + struct thread_worker_pair *pair = obj; + ao2_ref(pair->pool, -1); + ao2_ref(pair->worker, -1); +} + +struct thread_worker_pair *thread_worker_pair_init(struct ast_threadpool *pool, + struct worker_thread *worker) +{ + struct thread_worker_pair *pair = ao2_alloc(sizeof(*pair), thread_worker_pair_destructor); + if (!pair) { + /*XXX Crap */ + return NULL; + } + pair->pool = ao2_ref(pool); + pair->worker = ao2_ref(worker); + return pair; +} + +static int queued_active_thread_idle(void *data) +{ + struct thread_worker_pair *pair = data; + + ao2_link(pair->pool->idle_threads, pair->worker); + ao2_unlink(pair->pool->active_threads, pair->worker); + + threadpool_send_state_changed(pair->pool); + + ao2_ref(pair, -1); + return 0; +} + +static void threadpool_active_thread_idle(struct ast_threadpool *pool, + struct worker_thread *worker) +{ + struct thread_worker_pair *pair = thread_worker_pair_init(pool, worker); + if (!pair) { + /*XXX Crap */ + return; + } + ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle(pair)); +} + +static int queued_zombie_thread_dead(void *data) +{ + struct thread_worker_pair *pair = data; + + ao2_unlink(pair->pool->zombie_threads, pair->worker); + threadpool_send_state_changed(pair->pool); + + ao2_ref(pair, -1); + return 0; +} + +static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, + struct worker_thread *worker) +{ + struct thread_worker_pair *pair = thread_worker_pair_init(pool, worker); + if (!pair) { + /* XXX Crap */ + return; + } + ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead(pair)); +} + static int worker_idle(struct worker_thread *worker) { SCOPED_MUTEX(lock, &worker->lock); @@ -78,19 +203,31 @@ static int worker_active(struct worker_thread *worker) return 0; } -struct ast_threadpool { - struct ast_threadpool_listener *threadpool_listener; - int active_threads; - int idle_threads; - int zombie_threads; -} static void *threadpool_tps_listener_alloc(struct ast_taskprocessor_listener *listener) { - RAII_VAR(ast_threadpool *, threadpool, - ao2_alloc(sizeof(*threadpool), threadpool_destroy), ao2_cleanup); + RAII_VAR(ast_threadpool *, pool, + ao2_alloc(sizeof(*pool), threadpool_destroy), ao2_cleanup); - return threadpool; + pool->control_tps = ast_taskprocessor_get(/* XXX ??? */, TPS_REF_DEFAULT); + if (!pool->control_tps) { + return NULL; + } + pool->active_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); + if (!pool->active_threads) { + return NULL; + } + pool->idle_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); + if (!pool->idle_threads) { + return NULL; + } + pool->zombie_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); + if (!pool->zombie_thread) { + return NULL; + } + + ao2_ref(pool, +1); + return pool; } static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listener) @@ -140,8 +277,116 @@ static struct ast_taskprocessor_listener *threadpool_tps_alloc(void) return ast_taskprocessor_create_with_listener(tps_listener); } +static void grow(struct ast_threadpool *pool, int delta) +{ + int i; + for (i = 0; i < delta; ++i) { + struct worker_thread *worker = worker_thread_alloc(pool); + if (!worker) { + /* XXX Abandon */ + return; + } + ao2_link(pool->active_threads, worker); + } +} + +static int kill_threads(void *obj, void *arg, int flags) +{ + int *num_to_kill = arg; + + if ((*num_to_kill)-- > 0) { + return CMP_MATCH; + } else { + return CMP_STOP; + } +} + +static int zombify_threads(void *obj, void *arg, void *data, int flags) +{ + struct worker_thread *worker = obj; + struct ast_threadpool *pool = arg; + int *num_to_zombify = data; + + if ((*num_to_zombify)-- > 0) { + ao2_link(pool->zombie_threads, worker); + return CMP_MATCH; + } else { + return CMP_STOP; + } +} + +static void shrink(struct ast_threadpool *pool, int delta) +{ + /* + * Preference is to kill idle threads, but + * we'll move on to deactivating active threads + * if we have to + */ + int idle_threads = ao2_container_count(pool->idle_threads); + int idle_threads_to_kill = MIN(delta, idle_threads); + int active_threads_to_zombify = delta - idle_threads_to_kill; + int i = 0; + + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_NOLOCK, + kill_threads, &idle_threads_to_kill); + + ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_NOLOCK, + zombify_threads, pool, &active_threads_to_zombify); +} + +struct set_size_data { + struct threadpool *pool; + int size; +}; + +void set_size_data_destroy(void *obj) +{ + struct set_size_data *ssd = obj; + ao2_ref(ssd->pool, -1); +} + +static int queued_set_size(void *data) +{ + struct set_size_data *ssd = data; + struct ast_threadpool *pool = ssd->pool; + int num_threads = ssd->size; + + /* We don't count zombie threads as being "live when potentially resizing */ + int current_size = ao2_container_count(pool->active_threads) + + ao2_container_count(pool->idle_threads); + + if (current_size = num_threads) { + return 0; + } + + if (current_size < num_threads) { + grow(pool, num_threads - current_size); + } else { + shrink(pool, current_size - num_threads); + } + + threadpool_send_state_changed(pool); + ao2_ref(set_size_data, -1); +} + void ast_threadpool_set_size(struct ast_threadpool *pool, int size) { + struct set_size_data *ssd; + if (size < 0) { + ast_log(LOG_WARNING, "Invalid threadpool size used for resizing: %d\n", size); + return; + } + + ssd = ao2_alloc(sizeof(*ssd), set_size_data_destroy); + if (!ssd) { + /* XXX Crap */ + return; + } + + ssd->pool = ao2_ref(pool); + ssd->size = size; + + ast_taskprocessor_push(pool->control_tps, queued_set_size, ssd); } struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size) From f10729c1a2671457674cc69eedb8f77b9eb96103 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 30 Nov 2012 17:20:20 +0000 Subject: [PATCH 051/186] Merged revisions 376918,376922 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376918 | mmichelson | 2012-11-30 10:56:53 -0600 (Fri, 30 Nov 2012) | 29 lines Fix potential crashes during SIP attended transfers. The principal behind this patch is simple. During a transfer, we manipulate channels that are owned by a separate thread than the one we currently are running in, so it makes sense that we need to grab a reference to the channels so that they cannot disappear out from under us. In the wild, crashes were sometimes seen when the transferring party would hang up the call before the transfer target answered the call. The most common place to see the crash occur was when attempting to send a connected line update to the transferer channel. (closes issue ASTERISK-20226) Reported by Jared Smith Patches: ASTERISK-20226.patch uploaded by Mark Michelson (License #5049) Tested by: Jared Smith ........ Merged revisions 376901 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376916 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376917 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r376922 | seanbright | 2012-11-30 11:08:41 -0600 (Fri, 30 Nov 2012) | 11 lines Minor spelling fix to the VOLUME documentation. ........ Merged revisions 376919 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376920 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376921 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376929 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 9 ++++++++- funcs/func_volume.c | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 30177d1951..9c797d60de 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -25817,8 +25817,11 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual * } /* We have a channel, find the bridge */ - target.chan1 = targetcall_pvt->owner; /* Transferer to Asterisk */ + target.chan1 = ast_channel_ref(targetcall_pvt->owner); /* Transferer to Asterisk */ target.chan2 = ast_bridged_channel(targetcall_pvt->owner); /* Asterisk to target */ + if (target.chan2) { + ast_channel_ref(target.chan2); + } if (!target.chan2 || !(ast_channel_state(target.chan2) == AST_STATE_UP || ast_channel_state(target.chan2) == AST_STATE_RINGING) ) { /* Wrong state of new channel */ @@ -25960,6 +25963,10 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual * /* at this point if the transfer is successful only the transferer pvt should be locked. */ ast_party_connected_line_free(&connected_to_target); ast_party_connected_line_free(&connected_to_transferee); + ast_channel_unref(target.chan1); + if (target.chan2) { + ast_channel_unref(target.chan2); + } if (targetcall_pvt) ao2_t_ref(targetcall_pvt, -1, "drop targetcall_pvt"); return 1; diff --git a/funcs/func_volume.c b/funcs/func_volume.c index ce10b56807..953a37dcdd 100644 --- a/funcs/func_volume.c +++ b/funcs/func_volume.c @@ -65,7 +65,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") Set(VOLUME(TX)=3) Set(VOLUME(RX)=2) Set(VOLUME(TX,p)=3) - Set(VOLUME(RX,p)=3> + Set(VOLUME(RX,p)=3) ***/ From 9820184db53b2461d41746f25f3f12aabec4e339 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 30 Nov 2012 22:19:35 +0000 Subject: [PATCH 052/186] Merged revisions 376953 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376953 | rmudgett | 2012-11-30 15:38:01 -0600 (Fri, 30 Nov 2012) | 24 lines chan_misdn: Fix sending RELEASE_COMPLETE in response to SETUP. Fix sending a RELEASE_COMPLETE in response to a SETUP if chan_misdn does not have a B channel available to assign to the call. (closes issue ABE-2869) Reported by: Guenther Kelleter Patches: setup-reject_2.diff (license #6372) patch uploaded by Guenther Kelleter Modified ........ Merged revision 376949 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier ........ Merged revisions 376950 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 376951 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 376952 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376962 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/misdn/isdn_lib.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 42bbd8f8fb..8dcf41faab 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -2700,6 +2700,10 @@ static int handle_frm_te(msg_t *msg) dummybc.l3_id = frm->dinfo; bc = &dummybc; + /* set a reasonable cause */ + bc->out_cause = AST_CAUSE_REQUESTED_CHAN_UNAVAIL; + /* if we want to send something the flag must be set! */ + bc->need_release_complete = 1; misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE); free_msg(msg); @@ -4066,14 +4070,19 @@ static void manager_event_handler(void *arg) if (bc) send_msg(glob_mgr->midev, bc, msg); else { + struct misdn_bchannel dummybc; + + misdn_make_dummy(&dummybc, stack->port, frm->dinfo, stack->nt, 0); if (frm->dinfo == MISDN_ID_GLOBAL || frm->dinfo == MISDN_ID_DUMMY ) { - struct misdn_bchannel dummybc; cb_log(5,0," --> GLOBAL/DUMMY\n"); - misdn_make_dummy(&dummybc, stack->port, frm->dinfo, stack->nt, 0); - send_msg(glob_mgr->midev, &dummybc, msg); } else { - cb_log(0,0,"No bc for Message\n"); + /* + * We need to be able to at least answer with RELEASE_COMPLETE + * on SETUP|INDICATION errors so use a dummy bc. + */ + cb_log(0,0,"No bc for Message. Using dummy_bc\n"); } + send_msg(glob_mgr->midev, &dummybc, msg); } } } From f598d0eb745e7f200d26f665f295bdc28042037a Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sat, 1 Dec 2012 01:19:10 +0000 Subject: [PATCH 053/186] Merged revisions 376984 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r376984 | file | 2012-11-30 18:47:42 -0600 (Fri, 30 Nov 2012) | 10 lines Tweak extension used for incoming calls received on Motif. Based on feedback from numerous individuals this patch tweaks incoming calls to first look for an extension with the name of the endpoint. If no such extension exists the call will silently fall back to the "s" extension as it previously did. ........ Merged revisions 376983 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@376989 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_motif.c | 6 +++++- configs/motif.conf.sample | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/channels/chan_motif.c b/channels/chan_motif.c index fad388ea28..d567081490 100644 --- a/channels/chan_motif.c +++ b/channels/chan_motif.c @@ -686,7 +686,11 @@ static struct ast_channel *jingle_new(struct jingle_endpoint *endpoint, struct j } ast_channel_context_set(chan, endpoint->context); - ast_channel_exten_set(chan, "s"); + if (ast_exists_extension(NULL, endpoint->context, endpoint->name, 1, NULL)) { + ast_channel_exten_set(chan, endpoint->name); + } else { + ast_channel_exten_set(chan, "s"); + } ast_channel_priority_set(chan, 1); ao2_unlock(endpoint); diff --git a/configs/motif.conf.sample b/configs/motif.conf.sample index c651e69309..ae3ab30d72 100644 --- a/configs/motif.conf.sample +++ b/configs/motif.conf.sample @@ -49,6 +49,11 @@ ; ; The only supported method for DTMF is RFC2833. This is always enabled on audio streams and negotiated if possible. +; Incoming Calls +; +; Incoming calls will first look for the extension matching the name of the endpoint in the configured context. If +; no such extension exists the call will automatically fall back to the "s" extension. + ; CallerID ; ; The incoming caller id number is populated with the username of the caller and the name is populated with the full From 129b1fba4891a26fe9aea91f82357293018c60c9 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 10:20:59 +0000 Subject: [PATCH 054/186] Merged revisions 376998 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r376998 | oej | 2012-12-03 03:35:55 -0600 (Mon, 03 Dec 2012) | 4 lines Formatting changes Found a large amount of missing {} in the code before patching in another branch ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377003 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 30 +++++++++++++-------- res/res_rtp_asterisk.c | 60 ++++++++++++++++++++++++++++-------------- 2 files changed, 59 insertions(+), 31 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9c797d60de..2b925373cd 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6078,41 +6078,49 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer) } } } - if (!ast_strlen_zero(peer->fromuser)) + if (!ast_strlen_zero(peer->fromuser)) { ast_string_field_set(dialog, fromuser, peer->fromuser); - if (!ast_strlen_zero(peer->language)) + } + if (!ast_strlen_zero(peer->language)) { ast_string_field_set(dialog, language, peer->language); + } /* Set timer T1 to RTT for this peer (if known by qualify=) */ /* Minimum is settable or default to 100 ms */ /* If there is a maxms and lastms from a qualify use that over a manual T1 value. Otherwise, use the peer's T1 value. */ - if (peer->maxms && peer->lastms) + if (peer->maxms && peer->lastms) { dialog->timer_t1 = peer->lastms < global_t1min ? global_t1min : peer->lastms; - else + } else { dialog->timer_t1 = peer->timer_t1; + } /* Set timer B to control transaction timeouts, the peer setting is the default and overrides the known timer */ - if (peer->timer_b) + if (peer->timer_b) { dialog->timer_b = peer->timer_b; - else + } else { dialog->timer_b = 64 * dialog->timer_t1; + } if ((ast_test_flag(&dialog->flags[0], SIP_DTMF) == SIP_DTMF_RFC2833) || - (ast_test_flag(&dialog->flags[0], SIP_DTMF) == SIP_DTMF_AUTO)) + (ast_test_flag(&dialog->flags[0], SIP_DTMF) == SIP_DTMF_AUTO)) { dialog->noncodeccapability |= AST_RTP_DTMF; - else + } else { dialog->noncodeccapability &= ~AST_RTP_DTMF; + } dialog->directmediaacl = ast_duplicate_acl_list(peer->directmediaacl); - if (peer->call_limit) + if (peer->call_limit) { ast_set_flag(&dialog->flags[0], SIP_CALL_LIMIT); - if (!dialog->portinuri) + } + if (!dialog->portinuri) { dialog->portinuri = peer->portinuri; + } dialog->chanvars = copy_vars(peer->chanvars); - if (peer->fromdomainport) + if (peer->fromdomainport) { dialog->fromdomainport = peer->fromdomainport; + } return 0; } diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 7179d592a4..d362a29f1a 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -2995,8 +2995,9 @@ static struct ast_frame *process_dtmf_cisco(struct ast_rtp_instance *instance, u f = create_dtmf_frame(instance, AST_FRAME_DTMF_END, ast_rtp_instance_get_prop(instance, AST_RTP_PROPERTY_DTMF_COMPENSATE)); f->samples = rtp->dtmfsamples * (rtp->lastrxformat.id ? (rtp_get_rate(&rtp->lastrxformat) / 1000) : 8); rtp->resp = 0; - } else if (rtp->resp == resp) + } else if (rtp->resp == resp) { rtp->dtmfsamples += 20 * (rtp->lastrxformat.id ? (rtp_get_rate(&rtp->lastrxformat) / 1000) : 8); + } rtp->dtmf_timeout = 0; @@ -3010,8 +3011,9 @@ static struct ast_frame *process_cn_rfc3389(struct ast_rtp_instance *instance, u /* Convert comfort noise into audio with various codecs. Unfortunately this doesn't totally help us out becuase we don't have an engine to keep it going and we are not guaranteed to have it every 20ms or anything */ - if (rtpdebug) + if (rtpdebug) { ast_debug(0, "- RTP 3389 Comfort noise event: Level %d (len = %d)\n", (int) rtp->lastrxformat.id, len); + } if (ast_test_flag(rtp, FLAG_3389_WARNING)) { struct ast_sockaddr remote_address = { {0,} }; @@ -3024,8 +3026,9 @@ static struct ast_frame *process_cn_rfc3389(struct ast_rtp_instance *instance, u } /* Must have at least one byte */ - if (!len) + if (!len) { return NULL; + } if (len < 24) { rtp->f.data.ptr = rtp->rawdata + AST_FRIENDLY_OFFSET; rtp->f.datalen = len - 1; @@ -3099,9 +3102,10 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) /* Send to whoever sent to us */ if (ast_sockaddr_cmp(&rtp->rtcp->them, &addr)) { ast_sockaddr_copy(&rtp->rtcp->them, &addr); - if (rtpdebug) + if (rtpdebug) { ast_debug(0, "RTCP NAT: Got RTCP from other end. Now sending to address %s\n", ast_sockaddr_stringify(&rtp->rtcp->them)); + } } } @@ -3121,8 +3125,9 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) length &= 0xffff; if ((i + length) > packetwords) { - if (rtpdebug) + if (rtpdebug) { ast_debug(1, "RTCP Read too short\n"); + } return &ast_null_frame; } @@ -3153,8 +3158,9 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) ast_verbose("SPC: %lu\tSOC: %lu\n", (unsigned long) ntohl(rtcpheader[i + 3]), (unsigned long) ntohl(rtcpheader[i + 4])); } i += 5; - if (rc < 1) + if (rc < 1) { break; + } /* Intentional fall through */ case RTCP_PT_RR: /* Don't handle multiple reception reports (rc > 1) yet */ @@ -3182,13 +3188,16 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) if (comp - dlsr >= lsr) { rtp->rtcp->accumulated_transit += rttsec; - if (rtp->rtcp->rtt_count == 0) + if (rtp->rtcp->rtt_count == 0) { rtp->rtcp->minrtt = rttsec; + } - if (rtp->rtcp->maxrttrtcp->maxrttrtcp->maxrtt = rttsec; - if (rtp->rtcp->minrtt>rttsec) + } + if (rtp->rtcp->minrtt>rttsec) { rtp->rtcp->minrtt = rttsec; + } normdevrtt_current = normdev_compute(rtp->rtcp->normdevrtt, rttsec, rtp->rtcp->rtt_count); @@ -3210,14 +3219,17 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) rtp->rtcp->reported_jitter = ntohl(rtcpheader[i + 3]); reported_jitter = (double) rtp->rtcp->reported_jitter; - if (rtp->rtcp->reported_jitter_count == 0) + if (rtp->rtcp->reported_jitter_count == 0) { rtp->rtcp->reported_minjitter = reported_jitter; + } - if (reported_jitter < rtp->rtcp->reported_minjitter) + if (reported_jitter < rtp->rtcp->reported_minjitter) { rtp->rtcp->reported_minjitter = reported_jitter; + } - if (reported_jitter > rtp->rtcp->reported_maxjitter) + if (reported_jitter > rtp->rtcp->reported_maxjitter) { rtp->rtcp->reported_maxjitter = reported_jitter; + } reported_normdev_jitter_current = normdev_compute(rtp->rtcp->reported_normdev_jitter, reported_jitter, rtp->rtcp->reported_jitter_count); @@ -3230,14 +3242,17 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) reported_lost = (double) rtp->rtcp->reported_lost; /* using same counter as for jitter */ - if (rtp->rtcp->reported_jitter_count == 0) + if (rtp->rtcp->reported_jitter_count == 0) { rtp->rtcp->reported_minlost = reported_lost; + } - if (reported_lost < rtp->rtcp->reported_minlost) + if (reported_lost < rtp->rtcp->reported_minlost) { rtp->rtcp->reported_minlost = reported_lost; + } - if (reported_lost > rtp->rtcp->reported_maxlost) + if (reported_lost > rtp->rtcp->reported_maxlost) { rtp->rtcp->reported_maxlost = reported_lost; + } reported_normdev_lost_current = normdev_compute(rtp->rtcp->reported_normdev_lost, reported_lost, rtp->rtcp->reported_jitter_count); rtp->rtcp->reported_stdev_lost = stddev_compute(rtp->rtcp->reported_stdev_lost, reported_lost, rtp->rtcp->reported_normdev_lost, reported_normdev_lost_current, rtp->rtcp->reported_jitter_count); @@ -3254,8 +3269,9 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) ast_verbose(" Interarrival jitter: %u\n", rtp->rtcp->reported_jitter); ast_verbose(" Last SR(our NTP): %lu.%010lu\n",(unsigned long) ntohl(rtcpheader[i + 4]) >> 16,((unsigned long) ntohl(rtcpheader[i + 4]) << 16) * 4096); ast_verbose(" DLSR: %4.4f (sec)\n",ntohl(rtcpheader[i + 5])/65536.0); - if (rtt) + if (rtt) { ast_verbose(" RTT: %lu(sec)\n", (unsigned long) rtt); + } } if (rtt) { manager_event(EVENT_FLAG_REPORTING, "RTCPReceived", "From: %s\r\n" @@ -3309,8 +3325,9 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) } break; case RTCP_PT_FUR: - if (rtcp_debug_test_addr(&addr)) + if (rtcp_debug_test_addr(&addr)) { ast_verbose("Received an RTCP Fast Update Request\n"); + } rtp->f.frametype = AST_FRAME_CONTROL; rtp->f.subclass.integer = AST_CONTROL_VIDUPDATE; rtp->f.datalen = 0; @@ -3320,14 +3337,16 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance) f = &rtp->f; break; case RTCP_PT_SDES: - if (rtcp_debug_test_addr(&addr)) + if (rtcp_debug_test_addr(&addr)) { ast_verbose("Received an SDES from %s\n", ast_sockaddr_stringify(&rtp->rtcp->them)); + } break; case RTCP_PT_BYE: - if (rtcp_debug_test_addr(&addr)) + if (rtcp_debug_test_addr(&addr)) { ast_verbose("Received a BYE from %s\n", ast_sockaddr_stringify(&rtp->rtcp->them)); + } break; default: ast_debug(1, "Unknown RTCP packet (pt=%d) received from %s\n", @@ -3401,12 +3420,13 @@ static int bridge_p2p_rtp_write(struct ast_rtp_instance *instance, unsigned int ast_sockaddr_stringify(&remote_address), strerror(errno)); } else if (((ast_test_flag(bridged, FLAG_NAT_ACTIVE) == FLAG_NAT_INACTIVE) || rtpdebug) && !ast_test_flag(bridged, FLAG_NAT_INACTIVE_NOWARN)) { - if (option_debug || rtpdebug) + if (option_debug || rtpdebug) { ast_log(LOG_WARNING, "RTP NAT: Can't write RTP to private " "address %s, waiting for other end to " "send audio...\n", ast_sockaddr_stringify(&remote_address)); + } ast_set_flag(bridged, FLAG_NAT_INACTIVE_NOWARN); } return 0; From b44f72f79481f84e7cdc21243ac127e62b9e5ed0 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 15:19:37 +0000 Subject: [PATCH 055/186] Merged revisions 377018,377022 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377018 | oej | 2012-12-03 08:46:02 -0600 (Mon, 03 Dec 2012) | 5 lines Move functions to AFTER the block of forward declarations of functions. It was a mess. The first part of chan_sip.c is constants, declarations, structures and stuff, then forward declarations and then actual code. It's still a mess, but a bit less messy ;-) ................ r377022 | file | 2012-12-03 08:56:36 -0600 (Mon, 03 Dec 2012) | 13 lines Fix an RTP instance reference count leak in chan_motif. When setting up an RTP instance the RTCP portion of the instance keeps a reference to the instance itself. In order to release this reference and stop RTCP the stop API call must be called before destroying the instance. (closes issue ASTERISK-20751) Reported by: joshoa ........ Merged revisions 377021 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377028 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_motif.c | 2 + channels/chan_sip.c | 405 +++++++++++++++++++++--------------------- 2 files changed, 209 insertions(+), 198 deletions(-) diff --git a/channels/chan_motif.c b/channels/chan_motif.c index d567081490..0b07ed158e 100644 --- a/channels/chan_motif.c +++ b/channels/chan_motif.c @@ -434,10 +434,12 @@ static void jingle_session_destructor(void *obj) } if (session->rtp) { + ast_rtp_instance_stop(session->rtp); ast_rtp_instance_destroy(session->rtp); } if (session->vrtp) { + ast_rtp_instance_stop(session->vrtp); ast_rtp_instance_destroy(session->vrtp); } diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 2b925373cd..3e1e2c45d0 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -909,17 +909,6 @@ static const struct { [AST_CC_CCNL] = { AST_CC_CCNL, "NL" }, }; -static enum ast_cc_service_type service_string_to_service_type(const char * const service_string) -{ - enum ast_cc_service_type service; - for (service = AST_CC_CCBS; service <= AST_CC_CCNL; ++service) { - if (!strcasecmp(service_string, sip_cc_service_map[service].service_string)) { - return service; - } - } - return AST_CC_NONE; -} - static const struct { enum sip_cc_notify_state state; const char *state_string; @@ -930,80 +919,6 @@ static const struct { AST_LIST_HEAD_STATIC(epa_static_data_list, epa_backend); -static int sip_epa_register(const struct epa_static_data *static_data) -{ - struct epa_backend *backend = ast_calloc(1, sizeof(*backend)); - - if (!backend) { - return -1; - } - - backend->static_data = static_data; - - AST_LIST_LOCK(&epa_static_data_list); - AST_LIST_INSERT_TAIL(&epa_static_data_list, backend, next); - AST_LIST_UNLOCK(&epa_static_data_list); - return 0; -} - -static void sip_epa_unregister_all(void) -{ - struct epa_backend *backend; - - AST_LIST_LOCK(&epa_static_data_list); - while ((backend = AST_LIST_REMOVE_HEAD(&epa_static_data_list, next))) { - ast_free(backend); - } - AST_LIST_UNLOCK(&epa_static_data_list); -} - -static void cc_handle_publish_error(struct sip_pvt *pvt, const int resp, struct sip_request *req, struct sip_epa_entry *epa_entry); - -static void cc_epa_destructor(void *data) -{ - struct sip_epa_entry *epa_entry = data; - struct cc_epa_entry *cc_entry = epa_entry->instance_data; - ast_free(cc_entry); -} - -static const struct epa_static_data cc_epa_static_data = { - .event = CALL_COMPLETION, - .name = "call-completion", - .handle_error = cc_handle_publish_error, - .destructor = cc_epa_destructor, -}; - -static const struct epa_static_data *find_static_data(const char * const event_package) -{ - const struct epa_backend *backend = NULL; - - AST_LIST_LOCK(&epa_static_data_list); - AST_LIST_TRAVERSE(&epa_static_data_list, backend, next) { - if (!strcmp(backend->static_data->name, event_package)) { - break; - } - } - AST_LIST_UNLOCK(&epa_static_data_list); - return backend ? backend->static_data : NULL; -} - -static struct sip_epa_entry *create_epa_entry (const char * const event_package, const char * const destination) -{ - struct sip_epa_entry *epa_entry; - const struct epa_static_data *static_data; - - if (!(static_data = find_static_data(event_package))) { - return NULL; - } - - if (!(epa_entry = ao2_t_alloc(sizeof(*epa_entry), static_data->destructor, "Allocate new EPA entry"))) { - return NULL; - } - - epa_entry->static_data = static_data; - ast_copy_string(epa_entry->destination, destination, sizeof(epa_entry->destination)); - return epa_entry; -} /*! * Used to create new entity IDs by ESCs. @@ -1043,118 +958,6 @@ static struct event_state_compositor { #endif }; -static const int ESC_MAX_BUCKETS = 37; - -static void esc_entry_destructor(void *obj) -{ - struct sip_esc_entry *esc_entry = obj; - if (esc_entry->sched_id > -1) { - AST_SCHED_DEL(sched, esc_entry->sched_id); - } -} - -static int esc_hash_fn(const void *obj, const int flags) -{ - const struct sip_esc_entry *entry = obj; - return ast_str_hash(entry->entity_tag); -} - -static int esc_cmp_fn(void *obj, void *arg, int flags) -{ - struct sip_esc_entry *entry1 = obj; - struct sip_esc_entry *entry2 = arg; - - return (!strcmp(entry1->entity_tag, entry2->entity_tag)) ? (CMP_MATCH | CMP_STOP) : 0; -} - -static struct event_state_compositor *get_esc(const char * const event_package) { - int i; - for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { - if (!strcasecmp(event_package, event_state_compositors[i].name)) { - return &event_state_compositors[i]; - } - } - return NULL; -} - -static struct sip_esc_entry *get_esc_entry(const char * entity_tag, struct event_state_compositor *esc) { - struct sip_esc_entry *entry; - struct sip_esc_entry finder; - - ast_copy_string(finder.entity_tag, entity_tag, sizeof(finder.entity_tag)); - - entry = ao2_find(esc->compositor, &finder, OBJ_POINTER); - - return entry; -} - -static int publish_expire(const void *data) -{ - struct sip_esc_entry *esc_entry = (struct sip_esc_entry *) data; - struct event_state_compositor *esc = get_esc(esc_entry->event); - - ast_assert(esc != NULL); - - ao2_unlink(esc->compositor, esc_entry); - ao2_ref(esc_entry, -1); - return 0; -} - -static void create_new_sip_etag(struct sip_esc_entry *esc_entry, int is_linked) -{ - int new_etag = ast_atomic_fetchadd_int(&esc_etag_counter, +1); - struct event_state_compositor *esc = get_esc(esc_entry->event); - - ast_assert(esc != NULL); - if (is_linked) { - ao2_unlink(esc->compositor, esc_entry); - } - snprintf(esc_entry->entity_tag, sizeof(esc_entry->entity_tag), "%d", new_etag); - ao2_link(esc->compositor, esc_entry); -} - -static struct sip_esc_entry *create_esc_entry(struct event_state_compositor *esc, struct sip_request *req, const int expires) -{ - struct sip_esc_entry *esc_entry; - int expires_ms; - - if (!(esc_entry = ao2_alloc(sizeof(*esc_entry), esc_entry_destructor))) { - return NULL; - } - - esc_entry->event = esc->name; - - expires_ms = expires * 1000; - /* Bump refcount for scheduler */ - ao2_ref(esc_entry, +1); - esc_entry->sched_id = ast_sched_add(sched, expires_ms, publish_expire, esc_entry); - - /* Note: This links the esc_entry into the ESC properly */ - create_new_sip_etag(esc_entry, 0); - - return esc_entry; -} - -static int initialize_escs(void) -{ - int i, res = 0; - for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { - if (!((event_state_compositors[i].compositor) = - ao2_container_alloc(ESC_MAX_BUCKETS, esc_hash_fn, esc_cmp_fn))) { - res = -1; - } - } - return res; -} - -static void destroy_escs(void) -{ - int i; - for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { - ao2_ref(event_state_compositors[i].compositor, -1); - } -} - struct state_notify_data { int state; struct ao2_container *device_state_info; @@ -1163,6 +966,9 @@ struct state_notify_data { const char *presence_message; }; + +static const int ESC_MAX_BUCKETS = 37; + /*! * \details * Here we implement the container for dialogs which are in the @@ -1302,6 +1108,8 @@ static struct ast_config *notify_types = NULL; /*!< The list of manual NOTIFY (head) = (element)->next; \ } while (0) +struct ao2_container *sip_monitor_instances; + /*---------------------------- Forward declarations of functions in chan_sip.c */ /* Note: This is added to help splitting up chan_sip.c into several files in coming releases. */ @@ -1758,6 +1566,208 @@ static struct ast_cc_agent_callbacks sip_cc_agent_callbacks = { .destructor = sip_cc_agent_destructor, }; +/* -------- End of declarations of structures, constants and forward declarations of functions + Below starts actual code + ------------------------ +*/ + +static int sip_epa_register(const struct epa_static_data *static_data) +{ + struct epa_backend *backend = ast_calloc(1, sizeof(*backend)); + + if (!backend) { + return -1; + } + + backend->static_data = static_data; + + AST_LIST_LOCK(&epa_static_data_list); + AST_LIST_INSERT_TAIL(&epa_static_data_list, backend, next); + AST_LIST_UNLOCK(&epa_static_data_list); + return 0; +} + +static void sip_epa_unregister_all(void) +{ + struct epa_backend *backend; + + AST_LIST_LOCK(&epa_static_data_list); + while ((backend = AST_LIST_REMOVE_HEAD(&epa_static_data_list, next))) { + ast_free(backend); + } + AST_LIST_UNLOCK(&epa_static_data_list); +} + +static void cc_handle_publish_error(struct sip_pvt *pvt, const int resp, struct sip_request *req, struct sip_epa_entry *epa_entry); + +static void cc_epa_destructor(void *data) +{ + struct sip_epa_entry *epa_entry = data; + struct cc_epa_entry *cc_entry = epa_entry->instance_data; + ast_free(cc_entry); +} + +static const struct epa_static_data cc_epa_static_data = { + .event = CALL_COMPLETION, + .name = "call-completion", + .handle_error = cc_handle_publish_error, + .destructor = cc_epa_destructor, +}; + +static const struct epa_static_data *find_static_data(const char * const event_package) +{ + const struct epa_backend *backend = NULL; + + AST_LIST_LOCK(&epa_static_data_list); + AST_LIST_TRAVERSE(&epa_static_data_list, backend, next) { + if (!strcmp(backend->static_data->name, event_package)) { + break; + } + } + AST_LIST_UNLOCK(&epa_static_data_list); + return backend ? backend->static_data : NULL; +} + +static struct sip_epa_entry *create_epa_entry (const char * const event_package, const char * const destination) +{ + struct sip_epa_entry *epa_entry; + const struct epa_static_data *static_data; + + if (!(static_data = find_static_data(event_package))) { + return NULL; + } + + if (!(epa_entry = ao2_t_alloc(sizeof(*epa_entry), static_data->destructor, "Allocate new EPA entry"))) { + return NULL; + } + + epa_entry->static_data = static_data; + ast_copy_string(epa_entry->destination, destination, sizeof(epa_entry->destination)); + return epa_entry; +} +static enum ast_cc_service_type service_string_to_service_type(const char * const service_string) +{ + enum ast_cc_service_type service; + for (service = AST_CC_CCBS; service <= AST_CC_CCNL; ++service) { + if (!strcasecmp(service_string, sip_cc_service_map[service].service_string)) { + return service; + } + } + return AST_CC_NONE; +} + +/* Even state compositors code */ +static void esc_entry_destructor(void *obj) +{ + struct sip_esc_entry *esc_entry = obj; + if (esc_entry->sched_id > -1) { + AST_SCHED_DEL(sched, esc_entry->sched_id); + } +} + +static int esc_hash_fn(const void *obj, const int flags) +{ + const struct sip_esc_entry *entry = obj; + return ast_str_hash(entry->entity_tag); +} + +static int esc_cmp_fn(void *obj, void *arg, int flags) +{ + struct sip_esc_entry *entry1 = obj; + struct sip_esc_entry *entry2 = arg; + + return (!strcmp(entry1->entity_tag, entry2->entity_tag)) ? (CMP_MATCH | CMP_STOP) : 0; +} + +static struct event_state_compositor *get_esc(const char * const event_package) { + int i; + for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { + if (!strcasecmp(event_package, event_state_compositors[i].name)) { + return &event_state_compositors[i]; + } + } + return NULL; +} + +static struct sip_esc_entry *get_esc_entry(const char * entity_tag, struct event_state_compositor *esc) { + struct sip_esc_entry *entry; + struct sip_esc_entry finder; + + ast_copy_string(finder.entity_tag, entity_tag, sizeof(finder.entity_tag)); + + entry = ao2_find(esc->compositor, &finder, OBJ_POINTER); + + return entry; +} + +static int publish_expire(const void *data) +{ + struct sip_esc_entry *esc_entry = (struct sip_esc_entry *) data; + struct event_state_compositor *esc = get_esc(esc_entry->event); + + ast_assert(esc != NULL); + + ao2_unlink(esc->compositor, esc_entry); + ao2_ref(esc_entry, -1); + return 0; +} + +static void create_new_sip_etag(struct sip_esc_entry *esc_entry, int is_linked) +{ + int new_etag = ast_atomic_fetchadd_int(&esc_etag_counter, +1); + struct event_state_compositor *esc = get_esc(esc_entry->event); + + ast_assert(esc != NULL); + if (is_linked) { + ao2_unlink(esc->compositor, esc_entry); + } + snprintf(esc_entry->entity_tag, sizeof(esc_entry->entity_tag), "%d", new_etag); + ao2_link(esc->compositor, esc_entry); +} + +static struct sip_esc_entry *create_esc_entry(struct event_state_compositor *esc, struct sip_request *req, const int expires) +{ + struct sip_esc_entry *esc_entry; + int expires_ms; + + if (!(esc_entry = ao2_alloc(sizeof(*esc_entry), esc_entry_destructor))) { + return NULL; + } + + esc_entry->event = esc->name; + + expires_ms = expires * 1000; + /* Bump refcount for scheduler */ + ao2_ref(esc_entry, +1); + esc_entry->sched_id = ast_sched_add(sched, expires_ms, publish_expire, esc_entry); + + /* Note: This links the esc_entry into the ESC properly */ + create_new_sip_etag(esc_entry, 0); + + return esc_entry; +} + +static int initialize_escs(void) +{ + int i, res = 0; + for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { + if (!((event_state_compositors[i].compositor) = + ao2_container_alloc(ESC_MAX_BUCKETS, esc_hash_fn, esc_cmp_fn))) { + res = -1; + } + } + return res; +} + +static void destroy_escs(void) +{ + int i; + for (i = 0; i < ARRAY_LEN(event_state_compositors); i++) { + ao2_ref(event_state_compositors[i].compositor, -1); + } +} + + static int find_by_notify_uri_helper(void *obj, void *arg, int flags) { struct ast_cc_agent *agent = obj; @@ -1940,7 +1950,6 @@ static void sip_cc_agent_destructor(struct ast_cc_agent *agent) ast_free(agent_pvt); } -struct ao2_container *sip_monitor_instances; static int sip_monitor_instance_hash_fn(const void *obj, const int flags) { From e7ce12839daeb903eeaff999171025e6652b7c26 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 3 Dec 2012 16:59:26 +0000 Subject: [PATCH 056/186] This now compiles. That's a milestone, of sorts. Things really need arranging/documenting, and there's no function to be able to push tasks to a threadpool. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377036 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 16 +- main/threadpool.c | 282 ++++++++++++++++++++++++++-------- 2 files changed, 229 insertions(+), 69 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 7a20abdcbe..d4c10b8d59 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -72,15 +72,15 @@ struct ast_threadpool_listener { /*! * \brief Create a new threadpool * - * This function creates a threadpool and returns a taskprocessor. Tasks pushed - * to this taskprocessor will be handled by the threadpool and will be reported - * on the threadpool's listener. + * This function creates a threadpool. Tasks may be pushed onto this thread pool + * in and will be automatically acted upon by threads within the pool. * * \param listener The listener the threadpool will notify of changes + * \param initial_size The number of threads for the pool to start with * \retval NULL Failed to create the threadpool - * \retval non-NULL The associated taskprocessor + * \retval non-NULL The newly-created threadpool */ -struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener); +struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size); /*! * \brief Set the number of threads for the thread pool @@ -93,4 +93,10 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis */ void ast_threadpool_set_size(struct ast_threadpool *threadpool, unsigned int size); +/*! + * \brief Shut down a threadpool and destroy it + * + * \param pool The pool to shut down + */ +void ast_threadpool_shutdown(struct ast_threadpool *pool); #endif /* ASTERISK_THREADPOOL_H */ diff --git a/main/threadpool.c b/main/threadpool.c index 15450bc2ff..7b7df4e682 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -21,17 +21,21 @@ #include "asterisk/threadpool.h" #include "asterisk/taskprocessor.h" +#include "asterisk/astobj2.h" +#include "asterisk/utils.h" #define THREAD_BUCKETS 89 static int id_counter; struct ast_threadpool { - struct ast_threadpool_listener *threadpool_listener; + struct ast_threadpool_listener *listener; struct ao2_container *active_threads; struct ao2_container *idle_threads; struct ao2_container *zombie_threads; -} + struct ast_taskprocessor *tps; + struct ast_taskprocessor *control_tps; +}; enum worker_state { ALIVE, @@ -49,9 +53,9 @@ struct worker_thread { int wake_up; }; -static int worker_thread_hash(const void *obj) +static int worker_thread_hash(const void *obj, int flags) { - struct worker_thread *worker= obj; + const struct worker_thread *worker = obj; return worker->id; } @@ -64,9 +68,26 @@ static int worker_thread_cmp(void *obj, void *arg, int flags) return worker1->id == worker2->id ? CMP_MATCH : 0; } -static worker_thread *worker_thread_alloc(struct ast_threadpool *pool) +static void worker_thread_destroy(void *obj) { - struct worker_thread *worker = ao2_alloc(1, sizeof(*worker)); + struct worker_thread *worker = obj; + ast_mutex_destroy(&worker->lock); + ast_cond_destroy(&worker->cond); +} + +static int worker_active(struct worker_thread *worker); + +static void *worker_start(void *arg) +{ + struct worker_thread *worker = arg; + + worker_active(worker); + return NULL; +} + +static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) +{ + struct worker_thread *worker = ao2_alloc(sizeof(*worker), worker_thread_destroy); if (!worker) { /* XXX Dangit! */ return NULL; @@ -77,7 +98,7 @@ static worker_thread *worker_thread_alloc(struct ast_threadpool *pool) worker->pool = pool; worker->thread = AST_PTHREADT_NULL; worker->state = ALIVE; - if (ast_pthread_create(&worker->thread, NULL, worker_active, worker) < 0) { + if (ast_pthread_create(&worker->thread, NULL, worker_start, worker) < 0) { /* XXX Poop! */ ao2_ref(worker, -1); return NULL; @@ -106,7 +127,7 @@ static void thread_worker_pair_destructor(void *obj) ao2_ref(pair->worker, -1); } -struct thread_worker_pair *thread_worker_pair_init(struct ast_threadpool *pool, +static struct thread_worker_pair *thread_worker_pair_init(struct ast_threadpool *pool, struct worker_thread *worker) { struct thread_worker_pair *pair = ao2_alloc(sizeof(*pair), thread_worker_pair_destructor); @@ -114,8 +135,10 @@ struct thread_worker_pair *thread_worker_pair_init(struct ast_threadpool *pool, /*XXX Crap */ return NULL; } - pair->pool = ao2_ref(pool); - pair->worker = ao2_ref(worker); + ao2_ref(pool, +1); + pair->pool = pool; + ao2_ref(worker, +1); + pair->worker = worker; return pair; } @@ -140,7 +163,7 @@ static void threadpool_active_thread_idle(struct ast_threadpool *pool, /*XXX Crap */ return; } - ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle(pair)); + ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle, pair); } static int queued_zombie_thread_dead(void *data) @@ -162,23 +185,28 @@ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, /* XXX Crap */ return; } - ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead(pair)); + ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); } static int worker_idle(struct worker_thread *worker) { SCOPED_MUTEX(lock, &worker->lock); if (worker->state != ALIVE) { - return false; + return 0; } threadpool_active_thread_idle(worker->pool, worker); while (!worker->wake_up) { ast_cond_wait(&worker->cond, lock); } - worker->wake_up = false; + worker->wake_up = 0; return worker->state == ALIVE; } +static int threadpool_execute(struct ast_threadpool *pool) +{ + return ast_taskprocessor_execute(pool->tps); +} + static int worker_active(struct worker_thread *worker) { int alive = 1; @@ -203,13 +231,47 @@ static int worker_active(struct worker_thread *worker) return 0; } +static void worker_set_state(struct worker_thread *worker, enum worker_state state) +{ + SCOPED_MUTEX(lock, &worker->lock); + worker->state = state; + worker->wake_up = 1; + ast_cond_signal(&worker->cond); +} + +static int worker_shutdown(void *obj, void *arg, int flags) +{ + struct worker_thread *worker = obj; + + worker_set_state(worker, DEAD); + if (worker->thread != AST_PTHREADT_NULL) { + pthread_join(worker->thread, NULL); + worker->thread = AST_PTHREADT_NULL; + } + return 0; +} + +static void threadpool_tps_listener_destroy(void *private_data) +{ + struct ast_threadpool *pool = private_data; + /* XXX Probably should let the listener know we're being destroyed? */ + + /* Threads should all be shut down by now, so this should be a painless + * operation + */ + ao2_ref(pool->active_threads, -1); + ao2_ref(pool->idle_threads, -1); + ao2_ref(pool->zombie_threads, -1); + ao2_ref(pool->listener, -1); + ao2_ref(pool, -1); +} static void *threadpool_tps_listener_alloc(struct ast_taskprocessor_listener *listener) { - RAII_VAR(ast_threadpool *, pool, - ao2_alloc(sizeof(*pool), threadpool_destroy), ao2_cleanup); + RAII_VAR(struct ast_threadpool *, pool, + ao2_alloc(sizeof(*pool), threadpool_tps_listener_destroy), ao2_cleanup); - pool->control_tps = ast_taskprocessor_get(/* XXX ??? */, TPS_REF_DEFAULT); + pool->control_tps = ast_taskprocessor_get("CHANGE THIS", TPS_REF_DEFAULT); if (!pool->control_tps) { return NULL; } @@ -222,32 +284,115 @@ static void *threadpool_tps_listener_alloc(struct ast_taskprocessor_listener *li return NULL; } pool->zombie_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); - if (!pool->zombie_thread) { + if (!pool->zombie_threads) { return NULL; } + pool->tps = listener->tps; + ao2_ref(pool, +1); return pool; } -static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listener) +struct task_pushed_data { + struct ast_threadpool *pool; + int was_empty; +}; + +static void task_pushed_data_destroy(void *obj) { - /* XXX stub */ + struct task_pushed_data *tpd = obj; + ao2_ref(tpd->pool, -1); +} + +static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *pool, + int was_empty) +{ + struct task_pushed_data *tpd = ao2_alloc(sizeof(*tpd), + task_pushed_data_destroy); + + if (!tpd) { + return NULL; + } + ao2_ref(pool, +1); + tpd->pool = pool; + tpd->was_empty = was_empty; + return tpd; +} + +static int activate_threads(void *obj, void *arg, int flags) +{ + struct worker_thread *worker = obj; + struct ast_threadpool *pool = arg; + + ao2_link(pool->active_threads, worker); + worker_set_state(worker, ALIVE); + return 0; +} + +static int handle_task_pushed(void *data) +{ + struct task_pushed_data *tpd = data; + struct ast_threadpool *pool = tpd->pool; + int was_empty = tpd->was_empty; + + pool->listener->callbacks->tps_task_pushed(pool->listener, was_empty); + ao2_callback(pool->idle_threads, OBJ_UNLINK, activate_threads, pool); + ao2_ref(tpd, -1); + return 0; +} + +static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listener, + int was_empty) +{ + struct ast_threadpool *pool = listener->private_data; + struct task_pushed_data *tpd = task_pushed_data_alloc(pool, was_empty); + + if (!tpd) { + /* XXX Drat! */ + return; + } + + ast_taskprocessor_push(pool->control_tps, handle_task_pushed, tpd); +} + +static int handle_emptied(void *data) +{ + struct ast_threadpool *pool = data; + + pool->listener->callbacks->emptied(pool->listener); + ao2_ref(pool, -1); + return 0; } static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) { - /* XXX stub */ + struct ast_threadpool *pool = listener->private_data; + + ao2_ref(pool, +1); + ast_taskprocessor_push(pool->control_tps, handle_emptied, pool); } static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) { - /* XXX stub */ -} + /* + * The threadpool triggers the taskprocessor to shut down. As a result, + * we have the freedom of shutting things down in three stages: + * + * 1) Before the tasprocessor is shut down + * 2) During taskprocessor shutdown (here) + * 3) After taskprocessor shutdown + * + * In the spirit of the taskprocessor shutdown, this would be + * where we make sure that all the worker threads are no longer + * executing. We could just do this before we even shut down + * the taskprocessor, but this feels more "right". + */ -static void threadpool_tps_listener_destroy(struct ast_taskprocessor_listener *listener) -{ - /* XXX stub */ + struct ast_threadpool *pool = listener->private_data; + ao2_callback(pool->active_threads, 0, worker_shutdown, NULL); + ao2_callback(pool->idle_threads, 0, worker_shutdown, NULL); + ao2_callback(pool->zombie_threads, 0, worker_shutdown, NULL); } static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callbacks = { @@ -258,25 +403,6 @@ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callb .destroy = threadpool_tps_listener_destroy, }; -/*! - * \brief Allocate the taskprocessor to be used for the threadpool - * - * We use a custom taskprocessor listener. We allocate our custom - * listener and then create a taskprocessor. - */ -static struct ast_taskprocessor_listener *threadpool_tps_alloc(void) -{ - RAII_VAR(struct threadpool_tps_listener *, tps_listener, - ast_taskprocessor_listener_alloc(&threadpool_tps_listener_callbacks), - ao2_cleanup); - - if (!tps_listener) { - return NULL; - } - - return ast_taskprocessor_create_with_listener(tps_listener); -} - static void grow(struct ast_threadpool *pool, int delta) { int i; @@ -292,9 +418,11 @@ static void grow(struct ast_threadpool *pool, int delta) static int kill_threads(void *obj, void *arg, int flags) { + struct worker_thread *worker = obj; int *num_to_kill = arg; if ((*num_to_kill)-- > 0) { + worker_shutdown(worker, arg, flags); return CMP_MATCH; } else { return CMP_STOP; @@ -309,6 +437,7 @@ static int zombify_threads(void *obj, void *arg, void *data, int flags) if ((*num_to_zombify)-- > 0) { ao2_link(pool->zombie_threads, worker); + worker_set_state(worker, ZOMBIE); return CMP_MATCH; } else { return CMP_STOP; @@ -325,7 +454,6 @@ static void shrink(struct ast_threadpool *pool, int delta) int idle_threads = ao2_container_count(pool->idle_threads); int idle_threads_to_kill = MIN(delta, idle_threads); int active_threads_to_zombify = delta - idle_threads_to_kill; - int i = 0; ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_NOLOCK, kill_threads, &idle_threads_to_kill); @@ -335,16 +463,31 @@ static void shrink(struct ast_threadpool *pool, int delta) } struct set_size_data { - struct threadpool *pool; + struct ast_threadpool *pool; int size; }; -void set_size_data_destroy(void *obj) +static void set_size_data_destroy(void *obj) { struct set_size_data *ssd = obj; ao2_ref(ssd->pool, -1); } +static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, + int size) +{ + struct set_size_data *ssd = ao2_alloc(sizeof(*ssd), set_size_data_destroy); + if (!ssd) { + /* XXX Crap */ + return NULL; + } + + ao2_ref(pool, +1); + ssd->pool = pool; + ssd->size = size; + return ssd; +} + static int queued_set_size(void *data) { struct set_size_data *ssd = data; @@ -355,7 +498,7 @@ static int queued_set_size(void *data) int current_size = ao2_container_count(pool->active_threads) + ao2_container_count(pool->idle_threads); - if (current_size = num_threads) { + if (current_size == num_threads) { return 0; } @@ -366,41 +509,52 @@ static int queued_set_size(void *data) } threadpool_send_state_changed(pool); - ao2_ref(set_size_data, -1); + ao2_ref(ssd, -1); + return 0; } -void ast_threadpool_set_size(struct ast_threadpool *pool, int size) +void ast_threadpool_set_size(struct ast_threadpool *pool, unsigned int size) { struct set_size_data *ssd; - if (size < 0) { - ast_log(LOG_WARNING, "Invalid threadpool size used for resizing: %d\n", size); - return; - } - ssd = ao2_alloc(sizeof(*ssd), set_size_data_destroy); + ssd = set_size_data_alloc(pool, size); if (!ssd) { - /* XXX Crap */ + /* XXX *groan* */ return; } - ssd->pool = ao2_ref(pool); - ssd->size = size; - ast_taskprocessor_push(pool->control_tps, queued_set_size, ssd); } struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size) { struct ast_threadpool *pool; - RAII_VAR(ast_taskprocessor *, tps, threadpool_tps_alloc(), ast_taskprocessor_unreference); + struct ast_taskprocessor *tps; + RAII_VAR(struct ast_taskprocessor_listener *, tps_listener, + ast_taskprocessor_listener_alloc(&threadpool_tps_listener_callbacks), + ao2_cleanup); + + if (!tps_listener) { + return NULL; + } + + tps = ast_taskprocessor_create_with_listener("XXX CHANGE THIS XXX", tps_listener); if (!tps) { return NULL; } - pool = tps->listener->private_data; - pool->tps = tps; + pool = tps_listener->private_data; ast_threadpool_set_size(pool, initial_size); - return pool; } + +void ast_threadpool_shutdown(struct ast_threadpool *pool) +{ + /* Pretty simple really. We just shut down the + * taskprocessors and everything else just + * takes care of itself via the taskprocessor callbacks + */ + ast_taskprocessor_unreference(pool->control_tps); + ast_taskprocessor_unreference(pool->tps); +} From f6f7774b193fe05580f8c6044ddde69f52c3aa2c Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 17:19:46 +0000 Subject: [PATCH 057/186] Merged revisions 377035,377040 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377035 | oej | 2012-12-03 10:45:49 -0600 (Mon, 03 Dec 2012) | 2 lines Formatting fixes ................ r377040 | rmudgett | 2012-12-03 11:10:40 -0600 (Mon, 03 Dec 2012) | 16 lines Fix CCSS CLI commands and logger level not unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell ........ Merged revisions 377037 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377038 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377039 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377047 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/ccss.c | 2 ++ res/res_rtp_asterisk.c | 46 +++++++++++++++++++++++++++--------------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/main/ccss.c b/main/ccss.c index 11e3a008fe..6ce022ddf5 100644 --- a/main/ccss.c +++ b/main/ccss.c @@ -4536,6 +4536,8 @@ static void cc_shutdown(void) ast_cc_monitor_unregister(&generic_monitor_cbs); ast_unregister_application(cccancel_app); ast_unregister_application(ccreq_app); + ast_logger_unregister_level(CC_LOGGER_LEVEL_NAME); + ast_cli_unregister_multiple(cc_cli, ARRAY_LEN(cc_cli)); if (cc_sched_context) { ast_sched_context_destroy(cc_sched_context); diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index d362a29f1a..5f9d40fb10 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -671,8 +671,9 @@ static char *generate_random_string(char *buf, size_t size) long val[4]; int x; - for (x=0; x<4; x++) + for (x=0; x<4; x++) { val[x] = ast_random(); + } snprintf(buf, size, "%08lx%08lx%08lx%08lx", val[0], val[1], val[2], val[3]); return buf; @@ -2164,8 +2165,9 @@ static int ast_rtcp_write_rr(struct ast_rtp_instance *instance) double rxlost_current; struct ast_sockaddr remote_address = { {0,} }; - if (!rtp || !rtp->rtcp) + if (!rtp || !rtp->rtcp) { return 0; + } if (ast_sockaddr_isnull(&rtp->rtcp->them)) { /* @@ -2183,25 +2185,31 @@ static int ast_rtcp_write_rr(struct ast_rtp_instance *instance) rtp->rtcp->received_prior = rtp->rxcount; lost_interval = expected_interval - received_interval; - if (lost_interval <= 0) + if (lost_interval <= 0) { rtp->rtcp->rxlost = 0; - else rtp->rtcp->rxlost = rtp->rtcp->rxlost; - if (rtp->rtcp->rxlost_count == 0) + } else { + rtp->rtcp->rxlost = rtp->rtcp->rxlost; + } + if (rtp->rtcp->rxlost_count == 0) { rtp->rtcp->minrxlost = rtp->rtcp->rxlost; - if (lost_interval < rtp->rtcp->minrxlost) + } + if (lost_interval < rtp->rtcp->minrxlost) { rtp->rtcp->minrxlost = rtp->rtcp->rxlost; - if (lost_interval > rtp->rtcp->maxrxlost) + } + if (lost_interval > rtp->rtcp->maxrxlost) { rtp->rtcp->maxrxlost = rtp->rtcp->rxlost; + } rxlost_current = normdev_compute(rtp->rtcp->normdev_rxlost, rtp->rtcp->rxlost, rtp->rtcp->rxlost_count); rtp->rtcp->stdev_rxlost = stddev_compute(rtp->rtcp->stdev_rxlost, rtp->rtcp->rxlost, rtp->rtcp->normdev_rxlost, rxlost_current, rtp->rtcp->rxlost_count); rtp->rtcp->normdev_rxlost = rxlost_current; rtp->rtcp->rxlost_count++; - if (expected_interval == 0 || lost_interval <= 0) + if (expected_interval == 0 || lost_interval <= 0) { fraction = 0; - else + } else { fraction = (lost_interval << 8) / expected_interval; + } gettimeofday(&now, NULL); timersub(&now, &rtp->rtcp->rxlsr, &dlsr); rtcpheader = (unsigned int *)bdata; @@ -2274,8 +2282,9 @@ static int ast_rtcp_write_sr(struct ast_rtp_instance *instance) int ice; struct ast_sockaddr remote_address = { {0,} }; - if (!rtp || !rtp->rtcp) + if (!rtp || !rtp->rtcp) { return 0; + } if (ast_sockaddr_isnull(&rtp->rtcp->them)) { /* This'll stop rtcp for this rtp session */ /* @@ -2297,18 +2306,20 @@ static int ast_rtcp_write_sr(struct ast_rtp_instance *instance) extended = rtp->cycles + rtp->lastrxseqno; expected = extended - rtp->seedrxseqno + 1; - if (rtp->rxcount > expected) + if (rtp->rxcount > expected) { expected += rtp->rxcount - expected; + } lost = expected - rtp->rxcount; expected_interval = expected - rtp->rtcp->expected_prior; rtp->rtcp->expected_prior = expected; received_interval = rtp->rxcount - rtp->rtcp->received_prior; rtp->rtcp->received_prior = rtp->rxcount; lost_interval = expected_interval - received_interval; - if (expected_interval == 0 || lost_interval <= 0) + if (expected_interval == 0 || lost_interval <= 0) { fraction = 0; - else + } else { fraction = (lost_interval << 8) / expected_interval; + } timersub(&now, &rtp->rtcp->rxlsr, &dlsr); rtcpheader[7] = htonl(rtp->themssrc); rtcpheader[8] = htonl(((fraction & 0xff) << 24) | (lost & 0xffffff)); @@ -2567,16 +2578,18 @@ static struct ast_frame *red_t140_to_red(struct rtp_red *red) { /* write each generation length in red header */ len = red->hdrlen; - for (i = 0; i < red->num_gen; i++) + for (i = 0; i < red->num_gen; i++) { len += data[i*4+3] = red->len[i]; + } /* add primary data to buffer */ memcpy(&data[len], red->t140.data.ptr, red->t140.datalen); red->t140red.datalen = len + red->t140.datalen; /* no primary data and no generations to send */ - if (len == red->hdrlen && !red->t140.datalen) + if (len == red->hdrlen && !red->t140.datalen) { return NULL; + } /* reset t.140 buffer */ red->t140.datalen = 0; @@ -2735,8 +2748,9 @@ static void calc_rxstamp(struct timeval *tv, struct ast_rtp *rtp, unsigned int t transit = current_time - dtv; d = transit - rtp->rxtransit; rtp->rxtransit = transit; - if (d<0) + if (d<0) { d=-d; + } rtp->rxjitter += (1./16.) * (d - rtp->rxjitter); if (rtp->rtcp) { From 66fe664c007253748a23d48f4acc00a05a8d4b84 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 3 Dec 2012 17:24:11 +0000 Subject: [PATCH 058/186] Fix a few miscellaneous things * Renamed some taskprocessor listener callbacks * Fixed what would become a refcounting issue for pools * Removed some XXX comments from allocation failure points git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377061 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 51 +++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 7b7df4e682..aa38ee5dbf 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -89,7 +89,6 @@ static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) { struct worker_thread *worker = ao2_alloc(sizeof(*worker), worker_thread_destroy); if (!worker) { - /* XXX Dangit! */ return NULL; } worker->id = ast_atomic_fetchadd_int(&id_counter, 1); @@ -99,7 +98,7 @@ static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) worker->thread = AST_PTHREADT_NULL; worker->state = ALIVE; if (ast_pthread_create(&worker->thread, NULL, worker_start, worker) < 0) { - /* XXX Poop! */ + ast_log(LOG_ERROR, "Unable to start worker thread!\n"); ao2_ref(worker, -1); return NULL; } @@ -127,12 +126,11 @@ static void thread_worker_pair_destructor(void *obj) ao2_ref(pair->worker, -1); } -static struct thread_worker_pair *thread_worker_pair_init(struct ast_threadpool *pool, +static struct thread_worker_pair *thread_worker_pair_alloc(struct ast_threadpool *pool, struct worker_thread *worker) { struct thread_worker_pair *pair = ao2_alloc(sizeof(*pair), thread_worker_pair_destructor); if (!pair) { - /*XXX Crap */ return NULL; } ao2_ref(pool, +1); @@ -158,9 +156,8 @@ static int queued_active_thread_idle(void *data) static void threadpool_active_thread_idle(struct ast_threadpool *pool, struct worker_thread *worker) { - struct thread_worker_pair *pair = thread_worker_pair_init(pool, worker); + struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); if (!pair) { - /*XXX Crap */ return; } ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle, pair); @@ -180,9 +177,8 @@ static int queued_zombie_thread_dead(void *data) static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, struct worker_thread *worker) { - struct thread_worker_pair *pair = thread_worker_pair_init(pool, worker); + struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); if (!pair) { - /* XXX Crap */ return; } ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); @@ -251,7 +247,7 @@ static int worker_shutdown(void *obj, void *arg, int flags) return 0; } -static void threadpool_tps_listener_destroy(void *private_data) +static void threadpool_destructor(void *private_data) { struct ast_threadpool *pool = private_data; /* XXX Probably should let the listener know we're being destroyed? */ @@ -259,17 +255,16 @@ static void threadpool_tps_listener_destroy(void *private_data) /* Threads should all be shut down by now, so this should be a painless * operation */ - ao2_ref(pool->active_threads, -1); - ao2_ref(pool->idle_threads, -1); - ao2_ref(pool->zombie_threads, -1); - ao2_ref(pool->listener, -1); - ao2_ref(pool, -1); + ao2_cleanup(pool->active_threads); + ao2_cleanup(pool->idle_threads); + ao2_cleanup(pool->zombie_threads); + ao2_cleanup(pool->listener); } -static void *threadpool_tps_listener_alloc(struct ast_taskprocessor_listener *listener) +static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) { RAII_VAR(struct ast_threadpool *, pool, - ao2_alloc(sizeof(*pool), threadpool_tps_listener_destroy), ao2_cleanup); + ao2_alloc(sizeof(*pool), threadpool_destructor), ao2_cleanup); pool->control_tps = ast_taskprocessor_get("CHANGE THIS", TPS_REF_DEFAULT); if (!pool->control_tps) { @@ -349,7 +344,6 @@ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listen struct task_pushed_data *tpd = task_pushed_data_alloc(pool, was_empty); if (!tpd) { - /* XXX Drat! */ return; } @@ -395,12 +389,18 @@ static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) ao2_callback(pool->zombie_threads, 0, worker_shutdown, NULL); } +static void threadpool_destroy(void *private_data) +{ + struct ast_threadpool *pool = private_data; + ao2_cleanup(pool); +} + static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callbacks = { - .alloc = threadpool_tps_listener_alloc, + .alloc = threadpool_alloc, .task_pushed = threadpool_tps_task_pushed, .emptied = threadpool_tps_emptied, .shutdown = threadpool_tps_shutdown, - .destroy = threadpool_tps_listener_destroy, + .destroy = threadpool_destroy, }; static void grow(struct ast_threadpool *pool, int delta) @@ -409,7 +409,6 @@ static void grow(struct ast_threadpool *pool, int delta) for (i = 0; i < delta; ++i) { struct worker_thread *worker = worker_thread_alloc(pool); if (!worker) { - /* XXX Abandon */ return; } ao2_link(pool->active_threads, worker); @@ -464,7 +463,7 @@ static void shrink(struct ast_threadpool *pool, int delta) struct set_size_data { struct ast_threadpool *pool; - int size; + unsigned int size; }; static void set_size_data_destroy(void *obj) @@ -474,11 +473,10 @@ static void set_size_data_destroy(void *obj) } static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, - int size) + unsigned int size) { struct set_size_data *ssd = ao2_alloc(sizeof(*ssd), set_size_data_destroy); if (!ssd) { - /* XXX Crap */ return NULL; } @@ -492,13 +490,15 @@ static int queued_set_size(void *data) { struct set_size_data *ssd = data; struct ast_threadpool *pool = ssd->pool; - int num_threads = ssd->size; + unsigned int num_threads = ssd->size; /* We don't count zombie threads as being "live when potentially resizing */ - int current_size = ao2_container_count(pool->active_threads) + + unsigned int current_size = ao2_container_count(pool->active_threads) + ao2_container_count(pool->idle_threads); if (current_size == num_threads) { + ast_log(LOG_NOTICE, "Not changing threadpool size since new size %u is the same as current %u\n", + num_threads, current_size); return 0; } @@ -519,7 +519,6 @@ void ast_threadpool_set_size(struct ast_threadpool *pool, unsigned int size) ssd = set_size_data_alloc(pool, size); if (!ssd) { - /* XXX *groan* */ return; } From 1ba058bb7d1eac129e95921b8600b5127e011055 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 19:19:39 +0000 Subject: [PATCH 059/186] Merged revisions 377072,377077 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377072 | rmudgett | 2012-12-03 12:45:18 -0600 (Mon, 03 Dec 2012) | 21 lines Cleanup CDR resources on exit. * Simplify do_reload() return handling since it never returned anything other than 0. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: cdr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377070 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377071 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377077 | rmudgett | 2012-12-03 13:17:24 -0600 (Mon, 03 Dec 2012) | 18 lines Cleanup CLI resources on exit and CLI command registration errors. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch uploaded by Corey Farrell cli-leaks-11-trunk.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377073 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377074 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377075 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377083 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/cdr.c | 46 ++++++++++++++++++++++++++-------------------- main/cli.c | 41 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 24 deletions(-) diff --git a/main/cdr.c b/main/cdr.c index 416895de55..24849001ce 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -1542,7 +1542,7 @@ static char *handle_cli_submit(struct ast_cli_entry *e, int cmd, struct ast_cli_ static struct ast_cli_entry cli_submit = AST_CLI_DEFINE(handle_cli_submit, "Posts all pending batched CDR data"); static struct ast_cli_entry cli_status = AST_CLI_DEFINE(handle_cli_status, "Display the CDR status"); -static int do_reload(int reload) +static void do_reload(int reload) { struct ast_config *config; struct ast_variable *v; @@ -1550,11 +1550,10 @@ static int do_reload(int reload) int cfg_time; int was_enabled; int was_batchmode; - int res = 0; struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; if ((config = ast_config_load2("cdr.conf", "cdr", config_flags)) == CONFIG_STATUS_FILEUNCHANGED) { - return 0; + return; } ast_mutex_lock(&cdr_batch_lock); @@ -1573,7 +1572,7 @@ static int do_reload(int reload) if (config == CONFIG_STATUS_FILEMISSING || config == CONFIG_STATUS_FILEINVALID) { ast_mutex_unlock(&cdr_batch_lock); - return 0; + return; } /* don't run the next scheduled CDR posting while reloading */ @@ -1634,7 +1633,6 @@ static int do_reload(int reload) } else { ast_cli_register(&cli_submit); ast_register_atexit(ast_cdr_engine_term); - res = 0; } /* if this reload disabled the CDR and/or batch mode and there is a background thread, kill it */ @@ -1647,27 +1645,39 @@ static int do_reload(int reload) ast_cond_destroy(&cdr_pending_cond); ast_cli_unregister(&cli_submit); ast_unregister_atexit(ast_cdr_engine_term); - res = 0; /* if leaving batch mode, then post the CDRs in the batch, and don't reschedule, since we are stopping CDR logging */ if (!batchmode && was_batchmode) { ast_cdr_engine_term(); } - } else { - res = 0; } ast_mutex_unlock(&cdr_batch_lock); ast_config_destroy(config); manager_event(EVENT_FLAG_SYSTEM, "Reload", "Module: CDR\r\nMessage: CDR subsystem reload requested\r\n"); +} - return res; +static void cdr_engine_shutdown(void) +{ + if (cdr_thread != AST_PTHREADT_NULL) { + /* wake up the thread so it will exit */ + pthread_cancel(cdr_thread); + pthread_kill(cdr_thread, SIGURG); + pthread_join(cdr_thread, NULL); + cdr_thread = AST_PTHREADT_NULL; + ast_cond_destroy(&cdr_pending_cond); + } + ast_cli_unregister(&cli_submit); + + ast_cli_unregister(&cli_status); + ast_sched_context_destroy(sched); + sched = NULL; + ast_free(batch); + batch = NULL; } int ast_cdr_engine_init(void) { - int res; - sched = ast_sched_context_create(); if (!sched) { ast_log(LOG_ERROR, "Unable to create schedule context.\n"); @@ -1675,15 +1685,10 @@ int ast_cdr_engine_init(void) } ast_cli_register(&cli_status); + do_reload(0); + ast_register_atexit(cdr_engine_shutdown); - res = do_reload(0); - if (res) { - ast_mutex_lock(&cdr_batch_lock); - res = init_batch(); - ast_mutex_unlock(&cdr_batch_lock); - } - - return res; + return 0; } /* \note This actually gets called a couple of times at shutdown. Once, before we start @@ -1695,7 +1700,8 @@ void ast_cdr_engine_term(void) int ast_cdr_engine_reload(void) { - return do_reload(1); + do_reload(1); + return 0; } int ast_cdr_data_add_structure(struct ast_data *tree, struct ast_cdr *cdr, int recur) diff --git a/main/cli.c b/main/cli.c index fc307b164b..818ce757f3 100644 --- a/main/cli.c +++ b/main/cli.c @@ -1897,10 +1897,16 @@ int ast_cli_perms_init(int reload) return 0; } +static void cli_shutdown(void) +{ + ast_cli_unregister_multiple(cli_cli, ARRAY_LEN(cli_cli)); +} + /*! \brief initialize the _full_cmd string in * each of the builtins. */ void ast_builtins_init(void) { ast_cli_register_multiple(cli_cli, ARRAY_LEN(cli_cli)); + ast_register_atexit(cli_shutdown); } /*! @@ -2065,6 +2071,18 @@ static char *find_best(const char *argv[]) return cmdline; } +static int cli_is_registered(struct ast_cli_entry *e) +{ + struct ast_cli_entry *cur = NULL; + + while ((cur = cli_next(cur))) { + if (cur == e) { + return 1; + } + } + return 0; +} + static int __ast_cli_unregister(struct ast_cli_entry *e, struct ast_cli_entry *ed) { if (e->inuse) { @@ -2096,6 +2114,15 @@ static int __ast_cli_register(struct ast_cli_entry *e, struct ast_cli_entry *ed) char **dst = (char **)e->cmda; /* need to cast as the entry is readonly */ char *s; + AST_RWLIST_WRLOCK(&helpers); + + if (cli_is_registered(e)) { + ast_log(LOG_WARNING, "Command '%s' already registered (the same ast_cli_entry)\n", + S_OR(e->_full_cmd, e->command)); + ret = 0; /* report success */ + goto done; + } + memset(&a, '\0', sizeof(a)); e->handler(e, CLI_INIT, &a); /* XXX check that usage and command are filled up */ @@ -2111,14 +2138,16 @@ static int __ast_cli_register(struct ast_cli_entry *e, struct ast_cli_entry *ed) } *dst++ = NULL; - AST_RWLIST_WRLOCK(&helpers); - if (find_cli(e->cmda, 1)) { - ast_log(LOG_WARNING, "Command '%s' already registered (or something close enough)\n", S_OR(e->_full_cmd, e->command)); + ast_log(LOG_WARNING, "Command '%s' already registered (or something close enough)\n", + S_OR(e->_full_cmd, e->command)); goto done; } - if (set_full_cmd(e)) + if (set_full_cmd(e)) { + ast_log(LOG_WARNING, "Error registering CLI Command '%s'\n", + S_OR(e->_full_cmd, e->command)); goto done; + } lf = e->cmdlen; AST_RWLIST_TRAVERSE_SAFE_BEGIN(&helpers, cur, list) { @@ -2138,6 +2167,10 @@ static int __ast_cli_register(struct ast_cli_entry *e, struct ast_cli_entry *ed) done: AST_RWLIST_UNLOCK(&helpers); + if (ret) { + ast_free(e->command); + e->command = NULL; + } return ret; } From aea70ddc83df9b6542df1b87c43f17c7917200dc Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 20:19:34 +0000 Subject: [PATCH 060/186] Merged revisions 377107 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377107 | rmudgett | 2012-12-03 13:33:06 -0600 (Mon, 03 Dec 2012) | 16 lines Cleanup config cache on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: config-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell ........ Merged revisions 377104 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377105 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377106 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377114 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/config.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/main/config.c b/main/config.c index bf91963169..f56421ee04 100644 --- a/main/config.c +++ b/main/config.c @@ -3131,9 +3131,23 @@ static struct ast_cli_entry cli_config[] = { AST_CLI_DEFINE(handle_cli_config_list, "Show all files that have loaded a configuration file"), }; +static void config_shutdown(void) +{ + struct cache_file_mtime *cfmtime; + + AST_LIST_LOCK(&cfmtime_head); + while ((cfmtime = AST_LIST_REMOVE_HEAD(&cfmtime_head, list))) { + ast_free(cfmtime); + } + AST_LIST_UNLOCK(&cfmtime_head); + + ast_cli_unregister_multiple(cli_config, ARRAY_LEN(cli_config)); +} + int register_config_cli(void) { ast_cli_register_multiple(cli_config, ARRAY_LEN(cli_config)); + ast_register_atexit(config_shutdown); return 0; } From d53adbe4499ee227c09a00490e4aaee6d95eca0d Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 21:19:40 +0000 Subject: [PATCH 061/186] Merged revisions 377138 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377138 | rmudgett | 2012-12-03 14:46:11 -0600 (Mon, 03 Dec 2012) | 23 lines Cleanup core main on exit. * Cleanup time zones on exit. * Make exit clean/unclean report consistent for AMI and CLI in really_quit(). (issue ASTERISK-20649) Reported by: Corey Farrell Patches: core-cleanup-1_8-10.patch (license #5909) patch uploaded by Corey Farrell core-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377135 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377136 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377137 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377145 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/_private.h | 1 + main/asterisk.c | 31 +++++++++++++++++++++++++++---- main/stdtime/localtime.c | 14 +++++++++++++- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/include/asterisk/_private.h b/include/asterisk/_private.h index e1f8c7246b..a7ed68136f 100644 --- a/include/asterisk/_private.h +++ b/include/asterisk/_private.h @@ -19,6 +19,7 @@ int load_modules(unsigned int); /*!< Provided by loader.c */ int load_pbx(void); /*!< Provided by pbx.c */ int init_logger(void); /*!< Provided by logger.c */ void close_logger(void); /*!< Provided by logger.c */ +void clean_time_zones(void); /*!< Provided by localtime.c */ int init_framer(void); /*!< Provided by frame.c */ int ast_term_init(void); /*!< Provided by term.c */ int astdb_init(void); /*!< Provided by db.c */ diff --git a/main/asterisk.c b/main/asterisk.c index 6085e9589e..47ed657ad2 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1847,6 +1847,8 @@ static int can_safely_quit(shutdown_nice_t niceness, int restart) static void really_quit(int num, shutdown_nice_t niceness, int restart) { + int active_channels; + if (niceness >= SHUTDOWN_NICE) { ast_module_shutdown(); } @@ -1873,6 +1875,7 @@ static void really_quit(int num, shutdown_nice_t niceness, int restart) } } } + active_channels = ast_active_channels(); /* The manager event for shutdown must happen prior to ast_run_atexits, as * the manager interface will dispose of its sessions as part of its * shutdown. @@ -1898,13 +1901,13 @@ static void really_quit(int num, shutdown_nice_t niceness, int restart) ***/ manager_event(EVENT_FLAG_SYSTEM, "Shutdown", "Shutdown: %s\r\n" "Restart: %s\r\n", - ast_active_channels() ? "Uncleanly" : "Cleanly", + active_channels ? "Uncleanly" : "Cleanly", restart ? "True" : "False"); ast_verb(0, "Executing last minute cleanups\n"); ast_run_atexits(); /* Called on exit */ - ast_verb(0, "Asterisk %s ending (%d).\n", ast_active_channels() ? "uncleanly" : "cleanly", num); + ast_verb(0, "Asterisk %s ending (%d).\n", active_channels ? "uncleanly" : "cleanly", num); ast_debug(1, "Asterisk ending (%d).\n", num); if (ast_socket > -1) { pthread_cancel(lthread); @@ -1929,6 +1932,7 @@ static void really_quit(int num, shutdown_nice_t niceness, int restart) /* close logger */ close_logger(); + clean_time_zones(); /* If there is a consolethread running send it a SIGHUP so it can execvp, otherwise we can do it ourselves */ @@ -1942,6 +1946,7 @@ static void really_quit(int num, shutdown_nice_t niceness, int restart) } else { /* close logger */ close_logger(); + clean_time_zones(); } exit(0); @@ -2375,14 +2380,25 @@ static char *show_license(struct ast_cli_entry *e, int cmd, struct ast_cli_args #define ASTERISK_PROMPT2 "%s*CLI> " -static struct ast_cli_entry cli_asterisk[] = { - AST_CLI_DEFINE(handle_abort_shutdown, "Cancel a running shutdown"), +/*! + * \brief Shutdown Asterisk CLI commands. + * + * \note These CLI commands cannot be unregistered at shutdown + * because one of them is likely the reason for the shutdown. + * The CLI generates a warning if a command is in-use when it is + * unregistered. + */ +static struct ast_cli_entry cli_asterisk_shutdown[] = { AST_CLI_DEFINE(handle_stop_now, "Shut down Asterisk immediately"), AST_CLI_DEFINE(handle_stop_gracefully, "Gracefully shut down Asterisk"), AST_CLI_DEFINE(handle_stop_when_convenient, "Shut down Asterisk at empty call volume"), AST_CLI_DEFINE(handle_restart_now, "Restart Asterisk immediately"), AST_CLI_DEFINE(handle_restart_gracefully, "Restart Asterisk gracefully"), AST_CLI_DEFINE(handle_restart_when_convenient, "Restart Asterisk at empty call volume"), +}; + +static struct ast_cli_entry cli_asterisk[] = { + AST_CLI_DEFINE(handle_abort_shutdown, "Cancel a running shutdown"), AST_CLI_DEFINE(show_warranty, "Show the warranty (if any) for this copy of Asterisk"), AST_CLI_DEFINE(show_license, "Show the license(s) for this copy of Asterisk"), AST_CLI_DEFINE(handle_version, "Display version info"), @@ -3549,6 +3565,11 @@ static void print_intro_message(const char *runuser, const char *rungroup) } } +static void main_atexit(void) +{ + ast_cli_unregister_multiple(cli_asterisk, ARRAY_LEN(cli_asterisk)); +} + int main(int argc, char *argv[]) { int c; @@ -4276,7 +4297,9 @@ int main(int argc, char *argv[]) #endif /* defined(__AST_DEBUG_MALLOC) */ ast_lastreloadtime = ast_startuptime = ast_tvnow(); + ast_cli_register_multiple(cli_asterisk_shutdown, ARRAY_LEN(cli_asterisk_shutdown)); ast_cli_register_multiple(cli_asterisk, ARRAY_LEN(cli_asterisk)); + ast_register_atexit(main_atexit); run_startup_commands(); diff --git a/main/stdtime/localtime.c b/main/stdtime/localtime.c index 36559f151f..f7b4bd0050 100644 --- a/main/stdtime/localtime.c +++ b/main/stdtime/localtime.c @@ -71,6 +71,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "private.h" #include "tzfile.h" +#include "asterisk/_private.h" #include "asterisk/lock.h" #include "asterisk/localtime.h" #include "asterisk/strings.h" @@ -444,7 +445,7 @@ static void *kqueue_daemon(void *data) closedir(sp->dir); } #endif - free(sp); + ast_free(sp); /* Just in case the signal was sent late */ AST_LIST_LOCK(&zonelist); @@ -1436,6 +1437,17 @@ static int gmtload(struct state *sp) return -1; } +void clean_time_zones(void) +{ + struct state *sp; + + AST_LIST_LOCK(&zonelist); + while ((sp = AST_LIST_REMOVE_HEAD(&zonelist, list))) { + ast_free(sp); + } + AST_LIST_UNLOCK(&zonelist); +} + static const struct state *ast_tzset(const char *zone) { struct state *sp; From f40b6ad46d10525366bc0976774a1eae3079459a Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 3 Dec 2012 23:19:30 +0000 Subject: [PATCH 062/186] Merged revisions 377168 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377168 | rmudgett | 2012-12-03 17:00:08 -0600 (Mon, 03 Dec 2012) | 21 lines Cleanup ast_run_atexits() atexits list. * Convert atexits list to a mutex instead of a rd/wr lock. The lock is only write locked. * Move CLI verbose Asterisk ending message to where AMI message is output in really_quit() to avoid further surprises about using stuff already shutdown. (issue ASTERISK-20649) Reported by: Corey Farrell ........ Merged revisions 377165 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377166 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377167 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377175 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 79 +++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/main/asterisk.c b/main/asterisk.c index 47ed657ad2..aa12836c2a 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -308,10 +308,10 @@ struct console { struct ast_atexit { void (*func)(void); - AST_RWLIST_ENTRY(ast_atexit) list; + AST_LIST_ENTRY(ast_atexit) list; }; -static AST_RWLIST_HEAD_STATIC(atexits, ast_atexit); +static AST_LIST_HEAD_STATIC(atexits, ast_atexit); struct timeval ast_startuptime; struct timeval ast_lastreloadtime; @@ -1047,39 +1047,57 @@ static char *handle_show_version_files(struct ast_cli_entry *e, int cmd, struct #endif /* ! LOW_MEMORY */ +static void ast_run_atexits(void) +{ + struct ast_atexit *ae; + + AST_LIST_LOCK(&atexits); + while ((ae = AST_LIST_REMOVE_HEAD(&atexits, list))) { + if (ae->func) { + ae->func(); + } + ast_free(ae); + } + AST_LIST_UNLOCK(&atexits); +} + +static void __ast_unregister_atexit(void (*func)(void)) +{ + struct ast_atexit *ae; + + AST_LIST_TRAVERSE_SAFE_BEGIN(&atexits, ae, list) { + if (ae->func == func) { + AST_LIST_REMOVE_CURRENT(list); + ast_free(ae); + break; + } + } + AST_LIST_TRAVERSE_SAFE_END; +} + int ast_register_atexit(void (*func)(void)) { struct ast_atexit *ae; - if (!(ae = ast_calloc(1, sizeof(*ae)))) + ae = ast_calloc(1, sizeof(*ae)); + if (!ae) { return -1; - + } ae->func = func; - ast_unregister_atexit(func); - - AST_RWLIST_WRLOCK(&atexits); - AST_RWLIST_INSERT_HEAD(&atexits, ae, list); - AST_RWLIST_UNLOCK(&atexits); + AST_LIST_LOCK(&atexits); + __ast_unregister_atexit(func); + AST_LIST_INSERT_HEAD(&atexits, ae, list); + AST_LIST_UNLOCK(&atexits); return 0; } void ast_unregister_atexit(void (*func)(void)) { - struct ast_atexit *ae = NULL; - - AST_RWLIST_WRLOCK(&atexits); - AST_RWLIST_TRAVERSE_SAFE_BEGIN(&atexits, ae, list) { - if (ae->func == func) { - AST_RWLIST_REMOVE_CURRENT(list); - break; - } - } - AST_RWLIST_TRAVERSE_SAFE_END; - AST_RWLIST_UNLOCK(&atexits); - - free(ae); + AST_LIST_LOCK(&atexits); + __ast_unregister_atexit(func); + AST_LIST_UNLOCK(&atexits); } /* Sending commands from consoles back to the daemon requires a terminating NULL */ @@ -1751,17 +1769,6 @@ int ast_set_priority(int pri) return 0; } -static void ast_run_atexits(void) -{ - struct ast_atexit *ae; - AST_RWLIST_RDLOCK(&atexits); - AST_RWLIST_TRAVERSE(&atexits, ae, list) { - if (ae->func) - ae->func(); - } - AST_RWLIST_UNLOCK(&atexits); -} - static int can_safely_quit(shutdown_nice_t niceness, int restart); static void really_quit(int num, shutdown_nice_t niceness, int restart); @@ -1845,6 +1852,7 @@ static int can_safely_quit(shutdown_nice_t niceness, int restart) return 1; } +/*! Called when exiting is certain. */ static void really_quit(int num, shutdown_nice_t niceness, int restart) { int active_channels; @@ -1903,11 +1911,12 @@ static void really_quit(int num, shutdown_nice_t niceness, int restart) "Restart: %s\r\n", active_channels ? "Uncleanly" : "Cleanly", restart ? "True" : "False"); + ast_verb(0, "Asterisk %s ending (%d).\n", + active_channels ? "uncleanly" : "cleanly", num); ast_verb(0, "Executing last minute cleanups\n"); ast_run_atexits(); - /* Called on exit */ - ast_verb(0, "Asterisk %s ending (%d).\n", active_channels ? "uncleanly" : "cleanly", num); + ast_debug(1, "Asterisk ending (%d).\n", num); if (ast_socket > -1) { pthread_cancel(lthread); From 47a9abdedaebb7a32a11d256e6a39368f90bd931 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 4 Dec 2012 13:20:08 +0000 Subject: [PATCH 063/186] Merged revisions 377196 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377196 | russell | 2012-12-04 07:01:23 -0600 (Tue, 04 Dec 2012) | 7 lines Add libuuid to install_prereq for Fedora. I ran this script and my build failed. pjproject requires this. ........ Merged revisions 377195 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377201 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- contrib/scripts/install_prereq | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/scripts/install_prereq b/contrib/scripts/install_prereq index 8c530e51b7..af61dcdce7 100755 --- a/contrib/scripts/install_prereq +++ b/contrib/scripts/install_prereq @@ -31,7 +31,7 @@ PACKAGES_DEBIAN="$PACKAGES_DEBIAN libresample-dev libc-client-dev binutils-dev l PACKAGES_RH="automake gcc gcc-c++ ncurses-devel openssl-devel libxml2-devel unixODBC-devel libcurl-devel libogg-devel libvorbis-devel speex-devel" PACKAGES_RH="$PACKAGES_RH spandsp-devel freetds-devel net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libtool-ltdl-devel lua-devel" PACKAGES_RH="$PACKAGES_RH libsqlite3x-devel radiusclient-ng-devel portaudio-devel postgresql-devel libresample-devel neon-devel libical-devel" -PACKAGES_RH="$PACKAGES_RH openldap-devel gmime22-devel sqlite2-devel mysql-devel bluez-libs-devel jack-audio-connection-kit-devel gsm-devel libedit-devel" +PACKAGES_RH="$PACKAGES_RH openldap-devel gmime22-devel sqlite2-devel mysql-devel bluez-libs-devel jack-audio-connection-kit-devel gsm-devel libedit-devel libuuid-devel" PACKAGES_OBSD="popt gmake wget libxml libogg libvorbis curl iksemel spandsp speex iodbc freetds-0.63p1-msdblib mysql-client gmime sqlite sqlite3 jack" From a37fb2e8c89332f4cd9facf1884d982813614f0c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 4 Dec 2012 21:11:34 +0000 Subject: [PATCH 064/186] Add some doxygen and rearrange code. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377209 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 13 + main/threadpool.c | 689 ++++++++++++++++++++++++++-------- 2 files changed, 551 insertions(+), 151 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index d4c10b8d59..8ff2184922 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -93,6 +93,19 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis */ void ast_threadpool_set_size(struct ast_threadpool *threadpool, unsigned int size); +/*! + * \brief Push a task to the threadpool + * + * Tasks pushed into the threadpool will be automatically taken by + * one of the threads within + * \param pool The threadpool to add the task to + * \param task The task to add + * \param data The parameter for the task + * \retval 0 success + * \retval -1 failure + */ +int ast_threadpool_push(struct ast_threadpool *pool, int (*task)(void *data), void *data); + /*! * \brief Shut down a threadpool and destroy it * diff --git a/main/threadpool.c b/main/threadpool.c index aa38ee5dbf..1c2e9634e5 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -26,85 +26,116 @@ #define THREAD_BUCKETS 89 -static int id_counter; - +/*! + * \brief An opaque threadpool structure + * + * A threadpool is a collection of threads that execute + * tasks from a common queue. + */ struct ast_threadpool { + /*! Threadpool listener */ struct ast_threadpool_listener *listener; + /*! + * \brief The container of active threads. + * Active threads are those that are currently running tasks + */ struct ao2_container *active_threads; + /*! + * \brief The container of idle threads. + * Idle threads are those that are currenly waiting to run tasks + */ struct ao2_container *idle_threads; + /*! + * \brief The container of zombie threads. + * Zombie threads may be running tasks, but they are scheduled to die soon + */ struct ao2_container *zombie_threads; + /*! + * \brief The main taskprocessor + * + * Tasks that are queued in this taskprocessor are + * doled out to the worker threads. Worker threads that + * execute tasks from the threadpool are executing tasks + * in this taskprocessor. + * + * The threadpool itself is actually the private data for + * this taskprocessor's listener. This way, as taskprocessor + * changes occur, the threadpool can alert its listeners + * appropriately. + */ struct ast_taskprocessor *tps; + /*! + * \brief The control taskprocessor + * + * This is a standard taskprocessor that uses the default + * taskprocessor listener. In other words, all tasks queued to + * this taskprocessor have a single thread that executes the + * tasks. + * + * All tasks that modify the state of the threadpool and all tasks + * that call out to threadpool listeners are pushed to this + * taskprocessor. + * + * For instance, when the threadpool changes sizes, a task is put + * into this taskprocessor to do so. When it comes time to tell the + * threadpool listener that worker threads have changed state, + * the task is placed in this taskprocessor. + * + * This is done for three main reasons + * 1) It ensures that listeners are given an accurate portrayal + * of the threadpool's current state. In other words, when a listener + * gets told a count of active, idle and zombie threads, it does not + * need to worry that internal state of the threadpool might be different + * from what it has been told. + * 2) It minimizes the locking required in both the threadpool and in + * threadpool listener's callbacks. + * 3) It ensures that listener callbacks are called in the same order + * that the threadpool had its state change. + */ struct ast_taskprocessor *control_tps; }; +/*! + * \brief states for worker threads + */ enum worker_state { + /*! The worker is either active or idle */ ALIVE, + /*! + * The worker has been asked to shut down but + * may still be in the process of executing tasks. + * This transition happens when the threadpool needs + * to shrink and needs to kill active threads in order + * to do so. + */ ZOMBIE, + /*! + * The worker has been asked to shut down. Typically + * only idle threads go to this state directly, but + * active threads may go straight to this state when + * the threadpool is shut down. + */ DEAD, }; -struct worker_thread { - int id; - ast_cond_t cond; - ast_mutex_t lock; - pthread_t thread; - struct ast_threadpool *pool; - enum worker_state state; - int wake_up; -}; - -static int worker_thread_hash(const void *obj, int flags) -{ - const struct worker_thread *worker = obj; - - return worker->id; -} - -static int worker_thread_cmp(void *obj, void *arg, int flags) -{ - struct worker_thread *worker1 = obj; - struct worker_thread *worker2 = arg; - - return worker1->id == worker2->id ? CMP_MATCH : 0; -} - -static void worker_thread_destroy(void *obj) -{ - struct worker_thread *worker = obj; - ast_mutex_destroy(&worker->lock); - ast_cond_destroy(&worker->cond); -} - -static int worker_active(struct worker_thread *worker); - -static void *worker_start(void *arg) -{ - struct worker_thread *worker = arg; - - worker_active(worker); - return NULL; -} - -static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) -{ - struct worker_thread *worker = ao2_alloc(sizeof(*worker), worker_thread_destroy); - if (!worker) { - return NULL; - } - worker->id = ast_atomic_fetchadd_int(&id_counter, 1); - ast_mutex_init(&worker->lock); - ast_cond_init(&worker->cond, NULL); - worker->pool = pool; - worker->thread = AST_PTHREADT_NULL; - worker->state = ALIVE; - if (ast_pthread_create(&worker->thread, NULL, worker_start, worker) < 0) { - ast_log(LOG_ERROR, "Unable to start worker thread!\n"); - ao2_ref(worker, -1); - return NULL; - } - return worker; -} +/* Worker thread forward declarations. See definitions for documentation */ +struct worker_thread; +static int worker_thread_hash(const void *obj, int flags); +static int worker_thread_cmp(void *obj, void *arg, int flags); +static void worker_thread_destroy(void *obj); +static void worker_active(struct worker_thread *worker); +static void *worker_start(void *arg); +static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool); +static int worker_idle(struct worker_thread *worker); +static void worker_set_state(struct worker_thread *worker, enum worker_state state); +static int worker_shutdown(void *obj, void *arg, int flags); +/*! + * \brief Notify the threadpool listener that the state has changed. + * + * This notifies the threadpool listener via its state_changed callback. + * \param pool The threadpool whose state has changed + */ static void threadpool_send_state_changed(struct ast_threadpool *pool) { int active_size = ao2_container_count(pool->active_threads); @@ -114,11 +145,19 @@ static void threadpool_send_state_changed(struct ast_threadpool *pool) pool->listener->callbacks->state_changed(pool->listener, active_size, idle_size, zombie_size); } +/*! + * \brief Struct used for queued operations involving worker state changes + */ struct thread_worker_pair { + /*! Threadpool that contains the worker whose state has changed */ struct ast_threadpool *pool; + /*! Worker whose state has changed */ struct worker_thread *worker; }; +/*! + * \brief Destructor for thread_worker_pair + */ static void thread_worker_pair_destructor(void *obj) { struct thread_worker_pair *pair = obj; @@ -126,6 +165,11 @@ static void thread_worker_pair_destructor(void *obj) ao2_ref(pair->worker, -1); } +/*! + * \brief Allocate and initialize a thread_worker_pair + * \param pool Threadpool to assign to the thread_worker_pair + * \param worker Worker thread to assign to the thread_worker_pair + */ static struct thread_worker_pair *thread_worker_pair_alloc(struct ast_threadpool *pool, struct worker_thread *worker) { @@ -140,6 +184,13 @@ static struct thread_worker_pair *thread_worker_pair_alloc(struct ast_threadpool return pair; } +/*! + * \brief Move a worker thread from the active container to the idle container. + * + * This function is called from the threadpool's control taskprocessor thread. + * \param data A thread_worker_pair containing the threadpool and the worker to move. + * \return 0 + */ static int queued_active_thread_idle(void *data) { struct thread_worker_pair *pair = data; @@ -153,6 +204,14 @@ static int queued_active_thread_idle(void *data) return 0; } +/*! + * \brief Queue a task to move a thread from the active list to the idle list + * + * This is called by a worker thread when it runs out of tasks to perform and + * goes idle. + * \param pool The threadpool to which the worker belongs + * \param worker The worker thread that has gone idle + */ static void threadpool_active_thread_idle(struct ast_threadpool *pool, struct worker_thread *worker) { @@ -163,17 +222,31 @@ static void threadpool_active_thread_idle(struct ast_threadpool *pool, ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle, pair); } +/*! + * \brief Kill a zombie thread + * + * This runs from the threadpool's control taskprocessor thread. + * + * \param data A thread_worker_pair containing the threadpool and the zombie thread + * \return 0 + */ static int queued_zombie_thread_dead(void *data) { struct thread_worker_pair *pair = data; - ao2_unlink(pair->pool->zombie_threads, pair->worker); + ao2_unlink(pair->pool, pair->worker); threadpool_send_state_changed(pair->pool); ao2_ref(pair, -1); return 0; } +/*! + * \brief Queue a task to kill a zombie thread + * + * This is called by a worker thread when it acknowledges that it is time for + * it to die. + */ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, struct worker_thread *worker) { @@ -184,83 +257,56 @@ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); } -static int worker_idle(struct worker_thread *worker) -{ - SCOPED_MUTEX(lock, &worker->lock); - if (worker->state != ALIVE) { - return 0; - } - threadpool_active_thread_idle(worker->pool, worker); - while (!worker->wake_up) { - ast_cond_wait(&worker->cond, lock); - } - worker->wake_up = 0; - return worker->state == ALIVE; -} - +/*! + * \brief Execute a task in the threadpool + * + * This is the function that worker threads call in order to execute tasks + * in the threadpool + * + * \param pool The pool to which the tasks belong. + * \retval 0 Either the pool has been shut down or there are no tasks. + * \retval 1 There are still tasks remaining in the pool. + */ static int threadpool_execute(struct ast_threadpool *pool) { return ast_taskprocessor_execute(pool->tps); } -static int worker_active(struct worker_thread *worker) +/*! + * \brief Destroy a threadpool's components. + * + * This is the destructor called automatically when the threadpool's + * reference count reaches zero. This is not to be confused with + * threadpool_destroy. + * + * By the time this actually gets called, most of the cleanup has already + * been done in the pool. The only thing left to do is to release the + * final reference to the threadpool listener. + * + * \param obj The pool to destroy + */ +static void threadpool_destructor(void *obj) { - int alive = 1; - while (alive) { - if (threadpool_execute(worker->pool)) { - alive = worker_idle(worker); - } - } - - /* Reaching this portion means the thread is - * on death's door. It may have been killed while - * it was idle, in which case it can just die - * peacefully. If it's a zombie, though, then - * it needs to let the pool know so - * that the thread can be removed from the - * list of zombie threads. - */ - if (worker->state == ZOMBIE) { - threadpool_zombie_thread_dead(worker->pool, worker); - } - - return 0; -} - -static void worker_set_state(struct worker_thread *worker, enum worker_state state) -{ - SCOPED_MUTEX(lock, &worker->lock); - worker->state = state; - worker->wake_up = 1; - ast_cond_signal(&worker->cond); -} - -static int worker_shutdown(void *obj, void *arg, int flags) -{ - struct worker_thread *worker = obj; - - worker_set_state(worker, DEAD); - if (worker->thread != AST_PTHREADT_NULL) { - pthread_join(worker->thread, NULL); - worker->thread = AST_PTHREADT_NULL; - } - return 0; -} - -static void threadpool_destructor(void *private_data) -{ - struct ast_threadpool *pool = private_data; + struct ast_threadpool *pool = obj; /* XXX Probably should let the listener know we're being destroyed? */ /* Threads should all be shut down by now, so this should be a painless * operation */ - ao2_cleanup(pool->active_threads); - ao2_cleanup(pool->idle_threads); - ao2_cleanup(pool->zombie_threads); ao2_cleanup(pool->listener); } +/* + * \brief Allocate a threadpool + * + * This is implemented as a taskprocessor listener's alloc callback. This + * is because the threadpool exists as the private data on a taskprocessor + * listener. + * + * \param listener The taskprocessor listener where the threadpool will live. + * \retval NULL Could not initialize threadpool properly + * \retval non-NULL The newly-allocated threadpool + */ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) { RAII_VAR(struct ast_threadpool *, pool, @@ -289,17 +335,32 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) return pool; } +/*! + * \brief helper used for queued task when tasks are pushed + */ struct task_pushed_data { + /*! Pool into which a task was pushed */ struct ast_threadpool *pool; + /*! Indicator of whether the pool had no tasks prior to the new task being added */ int was_empty; }; +/*! + * \brief Destructor for task_pushed_data + */ static void task_pushed_data_destroy(void *obj) { struct task_pushed_data *tpd = obj; ao2_ref(tpd->pool, -1); } +/*! + * \brief Allocate and initialize a task_pushed_data + * \param pool The threadpool to set in the task_pushed_data + * \param was_empty The was_empty value to set in the task_pushed_data + * \retval NULL Unable to allocate task_pushed_data + * \retval non-NULL The newly-allocated task_pushed_data + */ static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *pool, int was_empty) { @@ -315,6 +376,18 @@ static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *po return tpd; } +/*! + * \brief Activate idle threads + * + * This function always returns CMP_MATCH because all threads that this + * function acts on need to be seen as matches so they are unlinked from the + * list of idle threads. + * + * Called as an ao2_callback in the threadpool's control taskprocessor thread. + * \param obj The worker to activate + * \param arg The pool where the worker belongs + * \retval CMP_MATCH + */ static int activate_threads(void *obj, void *arg, int flags) { struct worker_thread *worker = obj; @@ -322,9 +395,18 @@ static int activate_threads(void *obj, void *arg, int flags) ao2_link(pool->active_threads, worker); worker_set_state(worker, ALIVE); - return 0; + return CMP_MATCH; } +/*! + * \brief Queue task called when tasks are pushed into the threadpool + * + * This function first calls into the threadpool's listener to let it know + * that a task has been pushed. It then wakes up all idle threads and moves + * them into the active thread container. + * \param data A task_pushed_data + * \return 0 + */ static int handle_task_pushed(void *data) { struct task_pushed_data *tpd = data; @@ -332,11 +414,21 @@ static int handle_task_pushed(void *data) int was_empty = tpd->was_empty; pool->listener->callbacks->tps_task_pushed(pool->listener, was_empty); - ao2_callback(pool->idle_threads, OBJ_UNLINK, activate_threads, pool); + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, + activate_threads, pool); ao2_ref(tpd, -1); return 0; } +/*! + * \brief Taskprocessor listener callback called when a task is added + * + * The threadpool uses this opportunity to queue a task on its control taskprocessor + * in order to activate idle threads and notify the threadpool listener that the + * task has been pushed. + * \param listener The taskprocessor listener. The threadpool is the listener's private data + * \param was_empty True if the taskprocessor was empty prior to the task being pushed + */ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) { @@ -350,6 +442,13 @@ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listen ast_taskprocessor_push(pool->control_tps, handle_task_pushed, tpd); } +/*! + * \brief Queued task that handles the case where the threadpool's taskprocessor is emptied + * + * This simply lets the threadpool's listener know that the threadpool is devoid of tasks + * \param data The pool that has become empty + * \return 0 + */ static int handle_emptied(void *data) { struct ast_threadpool *pool = data; @@ -359,6 +458,13 @@ static int handle_emptied(void *data) return 0; } +/*! + * \brief Taskprocessor listener emptied callback + * + * The threadpool queues a task to let the threadpool listener know that + * the threadpool no longer contains any tasks. + * \param listener The taskprocessor listener. The threadpool is the listener's private data. + */ static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) { struct ast_threadpool *pool = listener->private_data; @@ -367,34 +473,44 @@ static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) ast_taskprocessor_push(pool->control_tps, handle_emptied, pool); } +/*! + * \brief Taskprocessor listener shutdown callback + * + * The threadpool will shut down and destroy all of its worker threads when + * this is called back. By the time this gets called, the taskprocessor's + * control taskprocessor has already been destroyed. Therefore there is no risk + * in outright destroying the worker threads here. + * \param listener The taskprocessor listener. The threadpool is the listener's private data. + */ static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) { - /* - * The threadpool triggers the taskprocessor to shut down. As a result, - * we have the freedom of shutting things down in three stages: - * - * 1) Before the tasprocessor is shut down - * 2) During taskprocessor shutdown (here) - * 3) After taskprocessor shutdown - * - * In the spirit of the taskprocessor shutdown, this would be - * where we make sure that all the worker threads are no longer - * executing. We could just do this before we even shut down - * the taskprocessor, but this feels more "right". - */ - struct ast_threadpool *pool = listener->private_data; - ao2_callback(pool->active_threads, 0, worker_shutdown, NULL); - ao2_callback(pool->idle_threads, 0, worker_shutdown, NULL); - ao2_callback(pool->zombie_threads, 0, worker_shutdown, NULL); + int flags = (OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE); + + ao2_cleanup(pool->active_threads); + ao2_cleanup(pool->idle_threads); + ao2_cleanup(pool->zombie_threads); } +/*! + * \brief Taskprocessor listener destroy callback + * + * Since the threadpool is an ao2 object, all that is necessary is to + * decrease the refcount. Since the control taskprocessor should already + * be destroyed by this point, this should be the final reference to the + * threadpool. + * + * \param private_data The threadpool to destroy + */ static void threadpool_destroy(void *private_data) { struct ast_threadpool *pool = private_data; ao2_cleanup(pool); } +/*! + * \brief Table of taskprocessor listener callbacks for threadpool's main taskprocessor + */ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callbacks = { .alloc = threadpool_alloc, .task_pushed = threadpool_tps_task_pushed, @@ -403,6 +519,13 @@ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callb .destroy = threadpool_destroy, }; +/*! + * \brief Add threads to the threadpool + * + * This function is called from the threadpool's control taskprocessor thread. + * \param pool The pool that is expanding + * \delta The number of threads to add to the pool + */ static void grow(struct ast_threadpool *pool, int delta) { int i; @@ -415,19 +538,49 @@ static void grow(struct ast_threadpool *pool, int delta) } } +/*! + * \brief ao2 callback to kill a set number of threads. + * + * Threads will be unlinked from the container as long as the + * counter has not reached zero. The counter is decremented with + * each thread that is removed. + * \param obj The worker thread up for possible destruction + * \param arg The counter + * \param flags Unused + * \retval CMP_MATCH The counter has not reached zero, so this flag should be removed. + * \retval CMP_STOP The counter has reached zero so no more threads should be removed. + */ static int kill_threads(void *obj, void *arg, int flags) { struct worker_thread *worker = obj; int *num_to_kill = arg; if ((*num_to_kill)-- > 0) { - worker_shutdown(worker, arg, flags); return CMP_MATCH; } else { return CMP_STOP; } } +/*! + * \brief ao2 callback to zombify a set number of threads. + * + * Threads will be zombified as long as as the counter has not reached + * zero. The counter is decremented with each thread that is zombified. + * + * Zombifying a thread involves removing it from its current container, + * adding it to the zombie container, and changing the state of the + * worker to a zombie + * + * This callback is called from the threadpool control taskprocessor thread. + * + * \param obj The worker thread that may be zombified + * \param arg The pool to which the worker belongs + * \param data The counter + * \param flags Unused + * \retval CMP_MATCH The zombified thread should be removed from its current container + * \retval CMP_STOP Stop attempting to zombify threads + */ static int zombify_threads(void *obj, void *arg, void *data, int flags) { struct worker_thread *worker = obj; @@ -443,6 +596,18 @@ static int zombify_threads(void *obj, void *arg, void *data, int flags) } } +/*! + * \brief Remove threads from the threadpool + * + * The preference is to kill idle threads. However, if there are + * more threads to remove than there are idle threads, then active + * threads will be zombified instead. + * + * This function is called from the threadpool control taskprocessor thread. + * + * \param pool The threadpool to remove threads from + * \param delta The number of threads to remove + */ static void shrink(struct ast_threadpool *pool, int delta) { /* @@ -454,24 +619,38 @@ static void shrink(struct ast_threadpool *pool, int delta) int idle_threads_to_kill = MIN(delta, idle_threads); int active_threads_to_zombify = delta - idle_threads_to_kill; - ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_NOLOCK, + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK, kill_threads, &idle_threads_to_kill); - ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE | OBJ_NOLOCK, + ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK, zombify_threads, pool, &active_threads_to_zombify); } +/*! + * \brief Helper struct used for queued operations that change the size of the threadpool + */ struct set_size_data { + /*! The pool whose size is to change */ struct ast_threadpool *pool; + /*! The requested new size of the pool */ unsigned int size; }; +/*! + * \brief Destructor for set_size_data + * \param obj The set_size_data to destroy + */ static void set_size_data_destroy(void *obj) { struct set_size_data *ssd = obj; ao2_ref(ssd->pool, -1); } +/*! + * \brief Allocate and initialize a set_size_data + * \param pool The pool for the set_size_data + * \param size The size to store in the set_size_data + */ static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, unsigned int size) { @@ -486,6 +665,17 @@ static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, return ssd; } +/*! + * \brief Change the size of the threadpool + * + * This can either result in shrinking or growing the threadpool depending + * on the new desired size and the current size. + * + * This function is run from the threadpool control taskprocessor thread + * + * \param data A set_size_data used for determining how to act + * \return 0 + */ static int queued_set_size(void *data) { struct set_size_data *ssd = data; @@ -548,12 +738,209 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis return pool; } +int ast_threadpool_push(struct ast_threadpool *pool, int (*task)(void *data), void *data) +{ + return ast_taskprocessor_push(pool->tps, task, data); +} + void ast_threadpool_shutdown(struct ast_threadpool *pool) { - /* Pretty simple really. We just shut down the - * taskprocessors and everything else just + /* Shut down the taskprocessors and everything else just * takes care of itself via the taskprocessor callbacks */ ast_taskprocessor_unreference(pool->control_tps); ast_taskprocessor_unreference(pool->tps); } + +/*! + * A thread that executes threadpool tasks + */ +struct worker_thread { + /*! A unique (within a run of Asterisk) ID for the thread. Used for hashing and searching */ + int id; + /*! Condition used in conjunction with state changes */ + ast_cond_t cond; + /*! Lock used alongside the condition for state changes */ + ast_mutex_t lock; + /*! The actual thread that is executing tasks */ + pthread_t thread; + /*! A pointer to the threadpool. Needed to be able to execute tasks */ + struct ast_threadpool *pool; + /*! The current state of the worker thread */ + enum worker_state state; + /*! A boolean used to determine if an idle thread should become active */ + int wake_up; +}; + +/*! + * A monotonically increasing integer used for worker + * thread identification. + */ +static int worker_id_counter; + +static int worker_thread_hash(const void *obj, int flags) +{ + const struct worker_thread *worker = obj; + + return worker->id; +} + +static int worker_thread_cmp(void *obj, void *arg, int flags) +{ + struct worker_thread *worker1 = obj; + struct worker_thread *worker2 = arg; + + return worker1->id == worker2->id ? CMP_MATCH : 0; +} + +/*! + * \brief shut a worker thread down + * + * Set the worker dead and then wait for its thread + * to finish executing. + * + * \param worker The worker thread to shut down + */ +static void worker_shutdown(struct worker_thread *worker) +{ + struct worker_thread *worker = obj; + + worker_set_state(worker, DEAD); + if (worker->thread != AST_PTHREADT_NULL) { + pthread_join(worker->thread, NULL); + worker->thread = AST_PTHREADT_NULL; + } +} + +/*! + * \brief Worker thread destructor + * + * Called automatically when refcount reaches 0. Shuts + * down the worker thread and destroys its component + * parts + */ +static void worker_thread_destroy(void *obj) +{ + struct worker_thread *worker = obj; + worker_shutdown(worker); + ast_mutex_destroy(&worker->lock); + ast_cond_destroy(&worker->cond); +} + +/*! + * \brief start point for worker threads + * + * Worker threads start in the active state but may + * immediately go idle if there is no work to be + * done + * + * \param arg The worker thread + * \retval NULL + */ +static void *worker_start(void *arg) +{ + struct worker_thread *worker = arg; + + worker_active(worker); + return NULL; +} + +/*! + * \brief Allocate and initialize a new worker thread + * + * This will create, initialize, and start the thread. + * + * \param pool The threadpool to which the worker will be added + * \retval NULL Failed to allocate or start the worker thread + * \retval non-NULL The newly-created worker thread + */ +static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) +{ + struct worker_thread *worker = ao2_alloc(sizeof(*worker), worker_thread_destroy); + if (!worker) { + return NULL; + } + worker->id = ast_atomic_fetchadd_int(&worker_id_counter, 1); + ast_mutex_init(&worker->lock); + ast_cond_init(&worker->cond, NULL); + worker->pool = pool; + worker->thread = AST_PTHREADT_NULL; + worker->state = ALIVE; + if (ast_pthread_create(&worker->thread, NULL, worker_start, worker) < 0) { + ast_log(LOG_ERROR, "Unable to start worker thread!\n"); + ao2_ref(worker, -1); + return NULL; + } + return worker; +} + +/*! + * \brief Active loop for worker threads + * + * The worker will stay in this loop for its lifetime, + * executing tasks as they become available. If there + * are no tasks currently available, then the thread + * will go idle. + * + * \param worker The worker thread executing tasks. + */ +static void worker_active(struct worker_thread *worker) +{ + int alive = 1; + while (alive) { + if (threadpool_execute(worker->pool)) { + alive = worker_idle(worker); + } + } + + /* Reaching this portion means the thread is + * on death's door. It may have been killed while + * it was idle, in which case it can just die + * peacefully. If it's a zombie, though, then + * it needs to let the pool know so + * that the thread can be removed from the + * list of zombie threads. + */ + if (worker->state == ZOMBIE) { + threadpool_zombie_thread_dead(worker->pool, worker); + } +} + +/*! + * \brief Idle function for worker threads + * + * The worker waits here until it gets told by the threadpool + * to wake up. + * + * \param worker The idle worker + * \retval 0 The thread is being woken up so that it can conclude. + * \retval non-zero The thread is being woken up to do more work. + */ +static int worker_idle(struct worker_thread *worker) +{ + SCOPED_MUTEX(lock, &worker->lock); + if (worker->state != ALIVE) { + return 0; + } + threadpool_active_thread_idle(worker->pool, worker); + while (!worker->wake_up) { + ast_cond_wait(&worker->cond, lock); + } + worker->wake_up = 0; + return worker->state == ALIVE; +} + +/*! + * \brief Change a worker's state + * + * The threadpool calls into this function in order to let a worker know + * how it should proceed. + */ +static void worker_set_state(struct worker_thread *worker, enum worker_state state) +{ + SCOPED_MUTEX(lock, &worker->lock); + worker->state = state; + worker->wake_up = 1; + ast_cond_signal(&worker->cond); +} + From c16371fab6ef46aee679829565e6b387b86b5683 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 4 Dec 2012 21:21:15 +0000 Subject: [PATCH 065/186] Simplify threadpool refcounting a bit. Since threadpool shutdown is very strictly controlled, there is no need to be so precise with reference counts in queued operations. Since the threadpool shuts down its own control taskprocessor before doing anything else destructive, it can be guaranteed that all queued tasks will have a valid pointer to the pool. This meant that some destructor functions for helper structs could be removed entirely. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377210 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 1c2e9634e5..0e5a7c50e6 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -161,7 +161,6 @@ struct thread_worker_pair { static void thread_worker_pair_destructor(void *obj) { struct thread_worker_pair *pair = obj; - ao2_ref(pair->pool, -1); ao2_ref(pair->worker, -1); } @@ -177,7 +176,6 @@ static struct thread_worker_pair *thread_worker_pair_alloc(struct ast_threadpool if (!pair) { return NULL; } - ao2_ref(pool, +1); pair->pool = pool; ao2_ref(worker, +1); pair->worker = worker; @@ -345,15 +343,6 @@ struct task_pushed_data { int was_empty; }; -/*! - * \brief Destructor for task_pushed_data - */ -static void task_pushed_data_destroy(void *obj) -{ - struct task_pushed_data *tpd = obj; - ao2_ref(tpd->pool, -1); -} - /*! * \brief Allocate and initialize a task_pushed_data * \param pool The threadpool to set in the task_pushed_data @@ -364,13 +353,11 @@ static void task_pushed_data_destroy(void *obj) static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *pool, int was_empty) { - struct task_pushed_data *tpd = ao2_alloc(sizeof(*tpd), - task_pushed_data_destroy); + struct task_pushed_data *tpd = ao2_alloc(sizeof(*tpd), NULL); if (!tpd) { return NULL; } - ao2_ref(pool, +1); tpd->pool = pool; tpd->was_empty = was_empty; return tpd; @@ -454,7 +441,6 @@ static int handle_emptied(void *data) struct ast_threadpool *pool = data; pool->listener->callbacks->emptied(pool->listener); - ao2_ref(pool, -1); return 0; } @@ -469,7 +455,6 @@ static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) { struct ast_threadpool *pool = listener->private_data; - ao2_ref(pool, +1); ast_taskprocessor_push(pool->control_tps, handle_emptied, pool); } @@ -636,16 +621,6 @@ struct set_size_data { unsigned int size; }; -/*! - * \brief Destructor for set_size_data - * \param obj The set_size_data to destroy - */ -static void set_size_data_destroy(void *obj) -{ - struct set_size_data *ssd = obj; - ao2_ref(ssd->pool, -1); -} - /*! * \brief Allocate and initialize a set_size_data * \param pool The pool for the set_size_data @@ -659,7 +634,6 @@ static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, return NULL; } - ao2_ref(pool, +1); ssd->pool = pool; ssd->size = size; return ssd; From 2158005bdb7e4822497ae1ccd50adc1da9a3410b Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 4 Dec 2012 22:11:31 +0000 Subject: [PATCH 066/186] Remove zombie state from threadpool altogether. After giving it some consideration, there's no real use for zombie threads. Listeners can't really use the current number of zombie threads as a way of gauging activity, zombifying threads is just an extra step before they die that really serves no purpose, and since there's no way to re-animate zombies, the operation does not need to be around. I also fixed up some miscellaneous compilation errors that were lingering from some past revisions. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377211 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 4 +- main/threadpool.c | 146 ++++------------------------------ 2 files changed, 16 insertions(+), 134 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 8ff2184922..98ee8cf471 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -31,12 +31,10 @@ struct ast_threadpool_listener_callbacks { * \param listener The threadpool listener * \param active_threads The number of active threads in the pool * \param idle_threads The number of idle threads in the pool - * \param zombie_threads The number of zombie threads in the pool */ void (*state_changed)(struct ast_threadpool_listener *listener, int active_threads, - int idle_threads, - int zombie_threads); + int idle_threads); /*! * \brief Indicates that a task was pushed to the threadpool's taskprocessor * diff --git a/main/threadpool.c b/main/threadpool.c index 0e5a7c50e6..1f1812a648 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -45,11 +45,6 @@ struct ast_threadpool { * Idle threads are those that are currenly waiting to run tasks */ struct ao2_container *idle_threads; - /*! - * \brief The container of zombie threads. - * Zombie threads may be running tasks, but they are scheduled to die soon - */ - struct ao2_container *zombie_threads; /*! * \brief The main taskprocessor * @@ -84,7 +79,7 @@ struct ast_threadpool { * This is done for three main reasons * 1) It ensures that listeners are given an accurate portrayal * of the threadpool's current state. In other words, when a listener - * gets told a count of active, idle and zombie threads, it does not + * gets told a count of active and idle threads, it does not * need to worry that internal state of the threadpool might be different * from what it has been told. * 2) It minimizes the locking required in both the threadpool and in @@ -101,20 +96,7 @@ struct ast_threadpool { enum worker_state { /*! The worker is either active or idle */ ALIVE, - /*! - * The worker has been asked to shut down but - * may still be in the process of executing tasks. - * This transition happens when the threadpool needs - * to shrink and needs to kill active threads in order - * to do so. - */ - ZOMBIE, - /*! - * The worker has been asked to shut down. Typically - * only idle threads go to this state directly, but - * active threads may go straight to this state when - * the threadpool is shut down. - */ + /*! The worker has been asked to shut down. */ DEAD, }; @@ -128,7 +110,7 @@ static void *worker_start(void *arg); static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool); static int worker_idle(struct worker_thread *worker); static void worker_set_state(struct worker_thread *worker, enum worker_state state); -static int worker_shutdown(void *obj, void *arg, int flags); +static void worker_shutdown(struct worker_thread *worker); /*! * \brief Notify the threadpool listener that the state has changed. @@ -140,9 +122,8 @@ static void threadpool_send_state_changed(struct ast_threadpool *pool) { int active_size = ao2_container_count(pool->active_threads); int idle_size = ao2_container_count(pool->idle_threads); - int zombie_size = ao2_container_count(pool->zombie_threads); - pool->listener->callbacks->state_changed(pool->listener, active_size, idle_size, zombie_size); + pool->listener->callbacks->state_changed(pool->listener, active_size, idle_size); } /*! @@ -220,41 +201,6 @@ static void threadpool_active_thread_idle(struct ast_threadpool *pool, ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle, pair); } -/*! - * \brief Kill a zombie thread - * - * This runs from the threadpool's control taskprocessor thread. - * - * \param data A thread_worker_pair containing the threadpool and the zombie thread - * \return 0 - */ -static int queued_zombie_thread_dead(void *data) -{ - struct thread_worker_pair *pair = data; - - ao2_unlink(pair->pool, pair->worker); - threadpool_send_state_changed(pair->pool); - - ao2_ref(pair, -1); - return 0; -} - -/*! - * \brief Queue a task to kill a zombie thread - * - * This is called by a worker thread when it acknowledges that it is time for - * it to die. - */ -static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, - struct worker_thread *worker) -{ - struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); - if (!pair) { - return; - } - ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); -} - /*! * \brief Execute a task in the threadpool * @@ -322,10 +268,6 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) if (!pool->idle_threads) { return NULL; } - pool->zombie_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); - if (!pool->zombie_threads) { - return NULL; - } pool->tps = listener->tps; @@ -470,11 +412,9 @@ static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) { struct ast_threadpool *pool = listener->private_data; - int flags = (OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE); ao2_cleanup(pool->active_threads); ao2_cleanup(pool->idle_threads); - ao2_cleanup(pool->zombie_threads); } /*! @@ -537,7 +477,6 @@ static void grow(struct ast_threadpool *pool, int delta) */ static int kill_threads(void *obj, void *arg, int flags) { - struct worker_thread *worker = obj; int *num_to_kill = arg; if ((*num_to_kill)-- > 0) { @@ -547,46 +486,12 @@ static int kill_threads(void *obj, void *arg, int flags) } } -/*! - * \brief ao2 callback to zombify a set number of threads. - * - * Threads will be zombified as long as as the counter has not reached - * zero. The counter is decremented with each thread that is zombified. - * - * Zombifying a thread involves removing it from its current container, - * adding it to the zombie container, and changing the state of the - * worker to a zombie - * - * This callback is called from the threadpool control taskprocessor thread. - * - * \param obj The worker thread that may be zombified - * \param arg The pool to which the worker belongs - * \param data The counter - * \param flags Unused - * \retval CMP_MATCH The zombified thread should be removed from its current container - * \retval CMP_STOP Stop attempting to zombify threads - */ -static int zombify_threads(void *obj, void *arg, void *data, int flags) -{ - struct worker_thread *worker = obj; - struct ast_threadpool *pool = arg; - int *num_to_zombify = data; - - if ((*num_to_zombify)-- > 0) { - ao2_link(pool->zombie_threads, worker); - worker_set_state(worker, ZOMBIE); - return CMP_MATCH; - } else { - return CMP_STOP; - } -} - /*! * \brief Remove threads from the threadpool * * The preference is to kill idle threads. However, if there are * more threads to remove than there are idle threads, then active - * threads will be zombified instead. + * threads will be removed too. * * This function is called from the threadpool control taskprocessor thread. * @@ -595,20 +500,15 @@ static int zombify_threads(void *obj, void *arg, void *data, int flags) */ static void shrink(struct ast_threadpool *pool, int delta) { - /* - * Preference is to kill idle threads, but - * we'll move on to deactivating active threads - * if we have to - */ int idle_threads = ao2_container_count(pool->idle_threads); int idle_threads_to_kill = MIN(delta, idle_threads); - int active_threads_to_zombify = delta - idle_threads_to_kill; + int active_threads_to_kill = delta - idle_threads_to_kill; ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK, kill_threads, &idle_threads_to_kill); - ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK, - zombify_threads, pool, &active_threads_to_zombify); + ao2_callback(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK, + kill_threads, &active_threads_to_kill); } /*! @@ -629,7 +529,7 @@ struct set_size_data { static struct set_size_data *set_size_data_alloc(struct ast_threadpool *pool, unsigned int size) { - struct set_size_data *ssd = ao2_alloc(sizeof(*ssd), set_size_data_destroy); + struct set_size_data *ssd = ao2_alloc(sizeof(*ssd), NULL); if (!ssd) { return NULL; } @@ -654,22 +554,20 @@ static int queued_set_size(void *data) { struct set_size_data *ssd = data; struct ast_threadpool *pool = ssd->pool; - unsigned int num_threads = ssd->size; - - /* We don't count zombie threads as being "live when potentially resizing */ + unsigned int new_size = ssd->size; unsigned int current_size = ao2_container_count(pool->active_threads) + ao2_container_count(pool->idle_threads); - if (current_size == num_threads) { + if (current_size == new_size) { ast_log(LOG_NOTICE, "Not changing threadpool size since new size %u is the same as current %u\n", - num_threads, current_size); + new_size, current_size); return 0; } - if (current_size < num_threads) { - grow(pool, num_threads - current_size); + if (current_size < new_size) { + grow(pool, new_size - current_size); } else { - shrink(pool, current_size - num_threads); + shrink(pool, current_size - new_size); } threadpool_send_state_changed(pool); @@ -777,8 +675,6 @@ static int worker_thread_cmp(void *obj, void *arg, int flags) */ static void worker_shutdown(struct worker_thread *worker) { - struct worker_thread *worker = obj; - worker_set_state(worker, DEAD); if (worker->thread != AST_PTHREADT_NULL) { pthread_join(worker->thread, NULL); @@ -866,18 +762,6 @@ static void worker_active(struct worker_thread *worker) alive = worker_idle(worker); } } - - /* Reaching this portion means the thread is - * on death's door. It may have been killed while - * it was idle, in which case it can just die - * peacefully. If it's a zombie, though, then - * it needs to let the pool know so - * that the thread can be removed from the - * list of zombie threads. - */ - if (worker->state == ZOMBIE) { - threadpool_zombie_thread_dead(worker->pool, worker); - } } /*! From 4acb2070f21883d1da40322df6b5d18fd727f5a6 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 4 Dec 2012 23:19:30 +0000 Subject: [PATCH 067/186] Merged revisions 377214 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377214 | rmudgett | 2012-12-04 16:34:05 -0600 (Tue, 04 Dec 2012) | 8 lines confbridge: Update online XML documentation. ........ Merged revisions 377212 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377213 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377220 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_confbridge.c | 72 ++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 29 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index 216f7e7d4d..d5eabb87e0 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -69,34 +69,48 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/test.h" /*** DOCUMENTATION - - - Conference bridge application. - - - - The conference number - - - The bridge profile name from confbridge.conf. When left blank, a dynamically built bridge profile created by the CONFBRIDGE dialplan function is searched for on the channel and used. If no dynamic profile is present, the 'default_bridge' profile found in confbridge.conf is used. - It is important to note that while user profiles may be unique for each participant, mixing bridge profiles on a single conference is _NOT_ recommended and will produce undefined results. - - - The user profile name from confbridge.conf. When left blank, a dynamically built user profile created by the CONFBRIDGE dialplan function is searched for on the channel and used. If no dynamic profile is present, the 'default_user' profile found in confbridge.conf is used. - - - The name of the DTMF menu in confbridge.conf to be applied to this channel. No menu is applied by default if this option is left blank. - - - - Enters the user into a specified conference bridge. The user can exit the conference by hangup or DTMF menu option. - - - ConfBridge - CONFBRIDGE - CONFBRIDGE_INFO - - + + + Conference bridge application. + + + + Name of the conference bridge. You are not limited to just + numbers. + + + The bridge profile name from confbridge.conf. When left blank, + a dynamically built bridge profile created by the CONFBRIDGE dialplan + function is searched for on the channel and used. If no dynamic + profile is present, the 'default_bridge' profile found in + confbridge.conf is used. + It is important to note that while user profiles may be unique + for each participant, mixing bridge profiles on a single conference + is _NOT_ recommended and will produce undefined results. + + + The user profile name from confbridge.conf. When left blank, + a dynamically built user profile created by the CONFBRIDGE dialplan + function is searched for on the channel and used. If no dynamic + profile is present, the 'default_user' profile found in + confbridge.conf is used. + + + The name of the DTMF menu in confbridge.conf to be applied to + this channel. No menu is applied by default if this option is left + blank. + + + + Enters the user into a specified conference bridge. The user can + exit the conference by hangup or DTMF menu option. + + + ConfBridge + CONFBRIDGE + CONFBRIDGE_INFO + + Set a custom dynamic bridge and user profile on a channel for the ConfBridge application using the same options defined in confbridge.conf. @@ -105,7 +119,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") Type refers to which type of profile the option belongs too. Type can be bridge or user. - + Option refers to confbridge.conf option that is being set dynamically on this channel. From cc63d2c380906e3f85a6c6c2a58f44caee2d19cb Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 4 Dec 2012 23:45:39 +0000 Subject: [PATCH 068/186] Add better listener support. Add some parameters to listener callbacks. Add alloc and destroy callbacks for listeners. Add public function for allocating a listener. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377226 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 44 ++++++++++++++++++++++++++++------- main/threadpool.c | 34 ++++++++++++++++++++------- 2 files changed, 62 insertions(+), 16 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 98ee8cf471..6bb0dcc4f3 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -25,6 +25,15 @@ struct ast_taskprocessor; struct ast_threadpool_listener; struct ast_threadpool_listener_callbacks { + /*! + * \brief Allocate the listener's private data + * + * It is not necessary to assign the private data to the listener. + * \param listener The listener the private data will belong to + * \retval NULL Failure to allocate private data + * \retval non-NULL The newly allocated private data + */ + void *(*alloc)(struct ast_threadpool_listener *listener); /*! * \brief Indicates that the state of threads in the pool has changed * @@ -32,23 +41,31 @@ struct ast_threadpool_listener_callbacks { * \param active_threads The number of active threads in the pool * \param idle_threads The number of idle threads in the pool */ - void (*state_changed)(struct ast_threadpool_listener *listener, + void (*state_changed)(struct ast_threadpool *pool, + struct ast_threadpool_listener *listener, int active_threads, int idle_threads); /*! - * \brief Indicates that a task was pushed to the threadpool's taskprocessor + * \brief Indicates that a task was pushed to the threadpool * * \param listener The threadpool listener - * \param was_empty Indicates whether the taskprocessor was empty prior to adding the task + * \param was_empty Indicates whether there were any tasks prior to adding the new one. */ - void (*tps_task_pushed)(struct ast_threadpool_listener *listener, + void (*task_pushed)(struct ast_threadpool *pool, + struct ast_threadpool_listener *listener, int was_empty); /*! * \brief Indicates the threadpoo's taskprocessor has become empty * * \param listener The threadpool's listener */ - void (*emptied)(struct ast_threadpool_listener *listener); + void (*emptied)(struct ast_threadpool *pool, struct ast_threadpool_listener *listener); + + /*! + * \brief Free the listener's private data + * \param private_data The private data to destroy + */ + void (*destroy)(void *private_data); }; /*! @@ -60,13 +77,24 @@ struct ast_threadpool_listener_callbacks { */ struct ast_threadpool_listener { /*! Callbacks called by the threadpool */ - struct ast_threadpool_listener_callbacks *callbacks; - /*! Handle to the threadpool */ - struct ast_threadpool *threadpool; + const struct ast_threadpool_listener_callbacks *callbacks; /*! User data for the listener */ void *private_data; }; +/*! + * \brief Allocate a threadpool listener + * + * This function will call back into the alloc callback for the + * listener. + * + * \param callbacks Listener callbacks to assign to the listener + * \retval NULL Failed to allocate the listener + * \retval non-NULL The newly-created threadpool listener + */ +struct ast_threadpool_listener *ast_threadpool_listener_alloc( + const struct ast_threadpool_listener_callbacks *callbacks); + /*! * \brief Create a new threadpool * diff --git a/main/threadpool.c b/main/threadpool.c index 1f1812a648..8662c3a393 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -123,7 +123,7 @@ static void threadpool_send_state_changed(struct ast_threadpool *pool) int active_size = ao2_container_count(pool->active_threads); int idle_size = ao2_container_count(pool->idle_threads); - pool->listener->callbacks->state_changed(pool->listener, active_size, idle_size); + pool->listener->callbacks->state_changed(pool, pool->listener, active_size, idle_size); } /*! @@ -232,11 +232,6 @@ static int threadpool_execute(struct ast_threadpool *pool) static void threadpool_destructor(void *obj) { struct ast_threadpool *pool = obj; - /* XXX Probably should let the listener know we're being destroyed? */ - - /* Threads should all be shut down by now, so this should be a painless - * operation - */ ao2_cleanup(pool->listener); } @@ -342,7 +337,7 @@ static int handle_task_pushed(void *data) struct ast_threadpool *pool = tpd->pool; int was_empty = tpd->was_empty; - pool->listener->callbacks->tps_task_pushed(pool->listener, was_empty); + pool->listener->callbacks->task_pushed(pool, pool->listener, was_empty); ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, activate_threads, pool); ao2_ref(tpd, -1); @@ -382,7 +377,7 @@ static int handle_emptied(void *data) { struct ast_threadpool *pool = data; - pool->listener->callbacks->emptied(pool->listener); + pool->listener->callbacks->emptied(pool, pool->listener); return 0; } @@ -587,6 +582,29 @@ void ast_threadpool_set_size(struct ast_threadpool *pool, unsigned int size) ast_taskprocessor_push(pool->control_tps, queued_set_size, ssd); } +static void listener_destructor(void *obj) +{ + struct ast_threadpool_listener *listener = obj; + + listener->callbacks->destroy(listener->private_data); +} + +struct ast_threadpool_listener *ast_threadpool_listener_alloc( + const struct ast_threadpool_listener_callbacks *callbacks) +{ + struct ast_threadpool_listener *listener = ao2_alloc(sizeof(*listener), listener_destructor); + if (!listener) { + return NULL; + } + listener->callbacks = callbacks; + listener->private_data = listener->callbacks->alloc(listener); + if (!listener->private_data) { + ao2_ref(listener, -1); + return NULL; + } + return listener; +} + struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size) { struct ast_threadpool *pool; From 02e9f9fdd7b0d819e393572e1a9810df88875e06 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 5 Dec 2012 01:19:26 +0000 Subject: [PATCH 069/186] Merged revisions 377229 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377229 | rmudgett | 2012-12-04 19:11:26 -0600 (Tue, 04 Dec 2012) | 31 lines confbridge: Fix several small issues. * Made func_confbridge_helper() allow an empty value when setting options. You previously could not Set(CONFBRIDGE(user,pin)=) and clear the configured pin from the dialplan. * Made func_confbridge_helper() handle its datastore better if multiple threads attempt to set the first CONFBRIDGE option value on the channel. * Made the func_confbridge_helper() only output one diagnostic message concerning the option. * Made the bridge video_mode able to repeatedly change in the config file and CONFBRIDGE dialplan function. The video_mode option values are an enum and not independent of each other. * Made handle_cli_confbridge_show_bridge_profile() better handle the video_mode option. * Simplified datastore handling code in conf_find_user_profile() and conf_find_bridge_profile(). (closes issue ASTERISK-20655) Reported by: Birger "WIMPy" Harzenetter ........ Merged revisions 377227 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377228 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377235 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/confbridge/conf_config_parser.c | 124 ++++++++++++++++----------- 1 file changed, 74 insertions(+), 50 deletions(-) diff --git a/apps/confbridge/conf_config_parser.c b/apps/confbridge/conf_config_parser.c index 1286914582..39bf298b11 100644 --- a/apps/confbridge/conf_config_parser.c +++ b/apps/confbridge/conf_config_parser.c @@ -335,10 +335,9 @@ static const struct ast_datastore_info confbridge_datastore = { }; int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data, const char *value) { - struct ast_datastore *datastore = NULL; - struct func_confbridge_data *b_data = NULL; - char *parse = NULL; - int new = 0; + struct ast_datastore *datastore; + struct func_confbridge_data *b_data; + char *parse; struct ast_variable tmpvar = { 0, }; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(type); @@ -346,7 +345,7 @@ int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data ); /* parse all the required arguments and make sure they exist. */ - if (ast_strlen_zero(data) || ast_strlen_zero(value)) { + if (ast_strlen_zero(data)) { return -1; } parse = ast_strdupa(data); @@ -356,53 +355,54 @@ int func_confbridge_helper(struct ast_channel *chan, const char *cmd, char *data } ast_channel_lock(chan); - if (!(datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL))) { - ast_channel_unlock(chan); - - if (!(datastore = ast_datastore_alloc(&confbridge_datastore, NULL))) { + datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL); + if (!datastore) { + datastore = ast_datastore_alloc(&confbridge_datastore, NULL); + if (!datastore) { + ast_channel_unlock(chan); return 0; } - if (!(b_data = ast_calloc(1, sizeof(*b_data)))) { + b_data = ast_calloc(1, sizeof(*b_data)); + if (!b_data) { + ast_channel_unlock(chan); ast_datastore_free(datastore); return 0; } - if (!(b_data->b_profile.sounds = bridge_profile_sounds_alloc())) { + b_data->b_profile.sounds = bridge_profile_sounds_alloc(); + if (!b_data->b_profile.sounds) { + ast_channel_unlock(chan); ast_datastore_free(datastore); ast_free(b_data); return 0; } datastore->data = b_data; - new = 1; + ast_channel_datastore_add(chan, datastore); } else { - ast_channel_unlock(chan); b_data = datastore->data; } + ast_channel_unlock(chan); + /* SET(CONFBRIDGE(type,option)=value) */ + if (!value) { + value = ""; + } tmpvar.name = args.option; tmpvar.value = value; tmpvar.file = "CONFBRIDGE"; - /* SET(CONFBRIDGE(type,option)=value) */ - if (!strcasecmp(args.type, "bridge") && !aco_process_var(&bridge_type, "dialplan", &tmpvar, &b_data->b_profile)) { - b_data->b_usable = 1; - } else if (!strcasecmp(args.type, "user") && !aco_process_var(&user_type, "dialplan", &tmpvar, &b_data->u_profile)) { - b_data->u_usable = 1; - } else { - ast_log(LOG_WARNING, "Profile type \"%s\" can not be set in CONFBRIDGE function with option \"%s\" and value \"%s\"\n", - args.type, args.option, value); - goto cleanup_error; + if (!strcasecmp(args.type, "bridge")) { + if (!aco_process_var(&bridge_type, "dialplan", &tmpvar, &b_data->b_profile)) { + b_data->b_usable = 1; + return 0; + } + } else if (!strcasecmp(args.type, "user")) { + if (!aco_process_var(&user_type, "dialplan", &tmpvar, &b_data->u_profile)) { + b_data->u_usable = 1; + return 0; + } } - if (new) { - ast_channel_lock(chan); - ast_channel_datastore_add(chan, datastore); - ast_channel_unlock(chan); - } - return 0; -cleanup_error: - ast_log(LOG_ERROR, "Invalid argument provided to the %s function\n", cmd); - if (new) { - ast_datastore_free(datastore); - } + ast_log(LOG_WARNING, "%s(%s,%s) cannot be set to '%s'. Invalid type, option, or value.\n", + cmd, args.type, args.option, value); return -1; } @@ -878,14 +878,25 @@ static char *handle_cli_confbridge_show_bridge_profile(struct ast_cli_entry *e, ast_cli(a->fd,"Max Members: No Limit\n"); } - if (b_profile.flags & BRIDGE_OPT_VIDEO_SRC_LAST_MARKED) { + switch (b_profile.flags + & (BRIDGE_OPT_VIDEO_SRC_LAST_MARKED | BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED + | BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER)) { + case BRIDGE_OPT_VIDEO_SRC_LAST_MARKED: ast_cli(a->fd, "Video Mode: last_marked\n"); - } else if (b_profile.flags & BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED) { + break; + case BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED: ast_cli(a->fd, "Video Mode: first_marked\n"); - } else if (b_profile.flags & BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER) { + break; + case BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER: ast_cli(a->fd, "Video Mode: follow_talker\n"); - } else { + break; + case 0: ast_cli(a->fd, "Video Mode: no video\n"); + break; + default: + /* Opps. We have more than one video mode flag set. */ + ast_assert(0); + break; } ast_cli(a->fd,"sound_join: %s\n", conf_get_sound(CONF_SOUND_JOIN, b_profile.sounds)); @@ -1178,13 +1189,28 @@ static int video_mode_handler(const struct aco_option *opt, struct ast_variable return -1; } if (!strcasecmp(var->value, "first_marked")) { - ast_set_flag(b_profile, BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED); + ast_set_flags_to(b_profile, + BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED + | BRIDGE_OPT_VIDEO_SRC_LAST_MARKED + | BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER, + BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED); } else if (!strcasecmp(var->value, "last_marked")) { - ast_set_flag(b_profile, BRIDGE_OPT_VIDEO_SRC_LAST_MARKED); + ast_set_flags_to(b_profile, + BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED + | BRIDGE_OPT_VIDEO_SRC_LAST_MARKED + | BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER, + BRIDGE_OPT_VIDEO_SRC_LAST_MARKED); } else if (!strcasecmp(var->value, "follow_talker")) { - ast_set_flag(b_profile, BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER); + ast_set_flags_to(b_profile, + BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED + | BRIDGE_OPT_VIDEO_SRC_LAST_MARKED + | BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER, + BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER); } else if (!strcasecmp(var->value, "none")) { - return 0; + ast_clear_flag(b_profile, + BRIDGE_OPT_VIDEO_SRC_FIRST_MARKED + | BRIDGE_OPT_VIDEO_SRC_LAST_MARKED + | BRIDGE_OPT_VIDEO_SRC_FOLLOW_TALKER); } else { return -1; } @@ -1235,7 +1261,7 @@ static int bridge_template_handler(const struct aco_option *opt, struct ast_vari ast_string_field_set(sounds, participantsunmuted, b_profile->sounds->participantsunmuted); ao2_ref(b_profile->sounds, -1); /* sounds struct copied over to it from the template by reference only. */ - ao2_ref(oldsounds,-1); /* original sounds struct we don't need anymore */ + ao2_ref(oldsounds, -1); /* original sounds struct we don't need anymore */ b_profile->sounds = sounds; /* the new sounds struct that is a deep copy of the one from the template. */ return 0; @@ -1341,15 +1367,14 @@ const struct user_profile *conf_find_user_profile(struct ast_channel *chan, cons if (chan) { ast_channel_lock(chan); - if ((datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL))) { - ast_channel_unlock(chan); + datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL); + ast_channel_unlock(chan); + if (datastore) { b_data = datastore->data; if (b_data->u_usable) { conf_user_profile_copy(result, &b_data->u_profile); return result; } - } else { - ast_channel_unlock(chan); } } @@ -1396,15 +1421,14 @@ const struct bridge_profile *conf_find_bridge_profile(struct ast_channel *chan, if (chan) { ast_channel_lock(chan); - if ((datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL))) { - ast_channel_unlock(chan); + datastore = ast_channel_datastore_find(chan, &confbridge_datastore, NULL); + ast_channel_unlock(chan); + if (datastore) { b_data = datastore->data; if (b_data->b_usable) { conf_bridge_profile_copy(result, &b_data->b_profile); return result; } - } else { - ast_channel_unlock(chan); } } if (ast_strlen_zero(bridge_profile_name)) { From 521f9e8dfee50c2d81aa27839c7fce4e5ecda5a0 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 5 Dec 2012 03:19:08 +0000 Subject: [PATCH 070/186] Merged revisions 377245-377246 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377245 | rmudgett | 2012-12-04 20:20:57 -0600 (Tue, 04 Dec 2012) | 8 lines Fix registering core show codecs/codec CLI commands twice. ........ Merged revisions 377241 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377244 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377246 | rmudgett | 2012-12-04 20:23:10 -0600 (Tue, 04 Dec 2012) | 1 line Remove init_framer(). It no longer does anything. ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377251 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/_private.h | 1 - main/asterisk.c | 5 ----- main/format.c | 10 +++------- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/include/asterisk/_private.h b/include/asterisk/_private.h index a7ed68136f..cded90ef7d 100644 --- a/include/asterisk/_private.h +++ b/include/asterisk/_private.h @@ -20,7 +20,6 @@ int load_pbx(void); /*!< Provided by pbx.c */ int init_logger(void); /*!< Provided by logger.c */ void close_logger(void); /*!< Provided by logger.c */ void clean_time_zones(void); /*!< Provided by localtime.c */ -int init_framer(void); /*!< Provided by frame.c */ int ast_term_init(void); /*!< Provided by term.c */ int astdb_init(void); /*!< Provided by db.c */ void ast_channels_init(void); /*!< Provided by channel.c */ diff --git a/main/asterisk.c b/main/asterisk.c index aa12836c2a..27145296ac 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -4251,11 +4251,6 @@ int main(int argc, char *argv[]) exit(1); } - if (init_framer()) { - printf("%s", term_quit()); - exit(1); - } - if (ast_enum_init()) { printf("%s", term_quit()); exit(1); diff --git a/main/format.c b/main/format.c index 139dfd3310..36aa534c00 100644 --- a/main/format.c +++ b/main/format.c @@ -909,11 +909,6 @@ static struct ast_cli_entry my_clis[] = { AST_CLI_DEFINE(show_codecs, "Displays a list of codecs"), AST_CLI_DEFINE(show_codec_n, "Shows a specific codec"), }; -int init_framer(void) -{ - ast_cli_register_multiple(my_clis, ARRAY_LEN(my_clis)); - return 0; -} static int format_list_add_custom(struct ast_format_list *new) { @@ -1113,6 +1108,7 @@ init_list_cleanup: /*! \internal \brief Clean up resources on Asterisk shutdown */ static void format_attr_shutdown(void) { + ast_cli_unregister_multiple(my_clis, ARRAY_LEN(my_clis)); if (interfaces) { ao2_ref(interfaces, -1); interfaces = NULL; @@ -1121,13 +1117,13 @@ static void format_attr_shutdown(void) int ast_format_attr_init(void) { - ast_cli_register_multiple(my_clis, ARRAY_LEN(my_clis)); - interfaces = ao2_container_alloc_options(AO2_ALLOC_OPT_LOCK_RWLOCK, 283, interface_hash_cb, interface_cmp_cb); if (!interfaces) { return -1; } + + ast_cli_register_multiple(my_clis, ARRAY_LEN(my_clis)); ast_register_atexit(format_attr_shutdown); return 0; } From 7a203dc72c204e0d6025c49fadfa62da98826a1b Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 5 Dec 2012 17:20:37 +0000 Subject: [PATCH 071/186] Merged revisions 377260,377263 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377260 | file | 2012-12-05 10:51:58 -0600 (Wed, 05 Dec 2012) | 25 lines Fix a SIP request memory leak with TLS connections. During the TLS re-work in chan_sip some TLS specific code was moved into a separate function. This function operates on a copy of the incoming SIP request. This copy was never deinitialized causing a memory leak for each request processed. This function is now given a SIP request structure which it can use to copy the incoming request into. This reduces the amount of memory allocations done since the internal allocated components are reused between packets and also ensures the SIP request structure is deinitialized when the TLS connection is torn down. (closes issue ASTERISK-20763) Reported by: deti ........ Merged revisions 377257 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377258 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377259 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377263 | jrose | 2012-12-05 11:17:06 -0600 (Wed, 05 Dec 2012) | 21 lines res_srtp: Fix a crash caused by srtp_dealloc on an already dealloced session When srtp_create fails, the session may be dealloced or just not alloced. At the same time though, the session pointer might not be set to NULL in this process and attempting to srtp_dealloc it again will cause a segfault. This patch checks for failure of srtp_create and sets the session pointer to NULL if it fails. (closes issue ASTERISK-20499) Reported by: tootai Review: https://reviewboard.asterisk.org/r/2228/ ........ Merged revisions 377256 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377261 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377262 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377270 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 12 ++++++------ res/res_srtp.c | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 3e1e2c45d0..cabc2d14d6 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2714,10 +2714,10 @@ static int sip_check_authtimeout(time_t start) * \retval -1 Failed to read data * \retval 0 Succeeded in reading data */ -static int sip_tls_read(struct sip_request *req, struct ast_tcptls_session_instance *tcptls_session, int authenticated, time_t start, struct sip_threadinfo *me) +static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, struct ast_tcptls_session_instance *tcptls_session, + int authenticated, time_t start, struct sip_threadinfo *me) { int res, content_length, after_poll = 1, need_poll = 1; - struct sip_request reqcpy = { 0, }; char buf[1024] = ""; int timeout = -1; @@ -2771,10 +2771,10 @@ static int sip_tls_read(struct sip_request *req, struct ast_tcptls_session_insta } ast_str_append(&req->data, 0, "%s", buf); } - copy_request(&reqcpy, req); - parse_request(&reqcpy); + copy_request(reqcpy, req); + parse_request(reqcpy); /* In order to know how much to read, we need the content-length header */ - if (sscanf(sip_get_header(&reqcpy, "Content-Length"), "%30d", &content_length)) { + if (sscanf(sip_get_header(reqcpy, "Content-Length"), "%30d", &content_length)) { while (content_length > 0) { size_t bytes_read; if (!tcptls_session->client && !authenticated) { @@ -3187,7 +3187,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s } req.socket.fd = tcptls_session->fd; if (tcptls_session->ssl) { - res = sip_tls_read(&req, tcptls_session, authenticated, start, me); + res = sip_tls_read(&req, &reqcpy, tcptls_session, authenticated, start, me); } else { res = sip_tcp_read(&req, tcptls_session, authenticated, start); } diff --git a/res/res_srtp.c b/res/res_srtp.c index f651c40675..b9499f8f1c 100644 --- a/res/res_srtp.c +++ b/res/res_srtp.c @@ -383,6 +383,8 @@ tryagain: retry++; ao2_iterator_destroy(&it); goto tryagain; + } else { + srtp->session = NULL; } ao2_t_ref(policy, -1, "Unreffing first policy after srtp_create failed"); } @@ -437,6 +439,8 @@ static int ast_srtp_create(struct ast_srtp **srtp, struct ast_rtp_instance *rtp, /* Any failures after this point can use ast_srtp_destroy to destroy the instance */ if (srtp_create(&temp->session, &policy->sp) != err_status_ok) { + /* Session either wasn't created or was created and dealloced. */ + temp->session = NULL; ast_srtp_destroy(temp); return -1; } From 95b571b39037fe2a721b9201d4fab0861a18a8c9 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 6 Dec 2012 15:19:58 +0000 Subject: [PATCH 072/186] Merged revisions 377324,377329-377330 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377324 | mjordan | 2012-12-06 08:26:13 -0600 (Thu, 06 Dec 2012) | 13 lines Fix memory leak in 'manager show event' when command entered incorrectly When the CLI command 'manager show event' was run incorrectly and its usage instructions returned, a reference to the event container was leaked. This would prevent the container from being reclaimed when Asterisk exits. We now properly decrement the count on the ao2 object using the nifty RAII_VAR macro. Thanks to Russell for helping me stumble on this, and Terry for writing that ridiculously helpful macro. ........ Merged revisions 377319 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377329 | russell | 2012-12-06 09:06:47 -0600 (Thu, 06 Dec 2012) | 7 lines Add CLI tab completion to 'acl show'. The 'acl show' CLI command allows you to show the details about a specific named ACL in acl.conf. This patch adds tab completion to the command. Review: https://reviewboard.asterisk.org/r/2230/ ................ r377330 | russell | 2012-12-06 09:13:37 -0600 (Thu, 06 Dec 2012) | 6 lines Minor code cleanup in named_acl.c. This patch makes a few little cleanups to named_acl.c. A couple non-public functions were made static and an opening brace for a function was moved to its own line, per the coding guidelines. ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377335 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/manager.c | 5 +---- main/named_acl.c | 32 ++++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/main/manager.c b/main/manager.c index 011ae103ef..ba5beb42e8 100644 --- a/main/manager.c +++ b/main/manager.c @@ -7149,7 +7149,7 @@ static char *handle_manager_show_events(struct ast_cli_entry *e, int cmd, struct static char *handle_manager_show_event(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { - struct ao2_container *events; + RAII_VAR(struct ao2_container *, events, NULL, ao2_cleanup); struct ao2_iterator it_events; struct ast_xml_doc_item *item, *temp; int length; @@ -7184,7 +7184,6 @@ static char *handle_manager_show_event(struct ast_cli_entry *e, int cmd, struct ao2_ref(item, -1); } ao2_iterator_destroy(&it_events); - ao2_ref(events, -1); return match; } @@ -7194,7 +7193,6 @@ static char *handle_manager_show_event(struct ast_cli_entry *e, int cmd, struct if (!(item = ao2_find(events, a->argv[3], OBJ_KEY))) { ast_cli(a->fd, "Could not find event '%s'\n", a->argv[3]); - ao2_ref(events, -1); return CLI_SUCCESS; } @@ -7234,7 +7232,6 @@ static char *handle_manager_show_event(struct ast_cli_entry *e, int cmd, struct } ao2_ref(item, -1); - ao2_ref(events, -1); return CLI_SUCCESS; } diff --git a/main/named_acl.c b/main/named_acl.c index a70ca87a48..074f4c57f2 100644 --- a/main/named_acl.c +++ b/main/named_acl.c @@ -177,7 +177,7 @@ static void destroy_named_acl(void *obj) * \retval NULL failure *\retval non-NULL successfully allocated named ACL */ -void *named_acl_alloc(const char *cat) +static void *named_acl_alloc(const char *cat) { struct named_acl *named_acl; @@ -198,7 +198,7 @@ void *named_acl_alloc(const char *cat) * \param cat name of the ACL wanted to be found * \retval pointer to the named ACL if available. Null if not found. */ -void *named_acl_find(struct ao2_container *container, const char *cat) +static void *named_acl_find(struct ao2_container *container, const char *cat) { struct named_acl tmp; ast_copy_string(tmp.name, cat, sizeof(tmp.name)); @@ -309,7 +309,8 @@ static struct named_acl *named_acl_find_realtime(const char *name) return acl; } -struct ast_ha *ast_named_acl_find(const char *name, int *is_realtime, int *is_undefined) { +struct ast_ha *ast_named_acl_find(const char *name, int *is_realtime, int *is_undefined) +{ struct ast_ha *ha = NULL; RAII_VAR(struct named_acl_config *, cfg, ao2_global_obj_ref(globals), ao2_cleanup); @@ -503,6 +504,13 @@ static void cli_display_named_acl_list(int fd) /* \brief ACL command show */ static char *handle_show_named_acl_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { + RAII_VAR(struct named_acl_config *, cfg, ao2_global_obj_ref(globals), ao2_cleanup); + int length; + int which; + struct ao2_iterator i; + struct named_acl *named_acl; + char *match = NULL; + switch (cmd) { case CLI_INIT: e->command = "acl show"; @@ -511,7 +519,23 @@ static char *handle_show_named_acl_cmd(struct ast_cli_entry *e, int cmd, struct " Shows a list of named ACLs or lists all entries in a given named ACL.\n"; return NULL; case CLI_GENERATE: - return NULL; + if (!cfg) { + return NULL; + } + length = strlen(a->word); + which = 0; + i = ao2_iterator_init(cfg->named_acl_list, 0); + while ((named_acl = ao2_iterator_next(&i))) { + if (!strncasecmp(a->word, named_acl->name, length) && ++which > a->n) { + match = ast_strdup(named_acl->name); + ao2_ref(named_acl, -1); + break; + } + ao2_ref(named_acl, -1); + } + ao2_iterator_destroy(&i); + return match; + } if (a->argc == 2) { From c81367bd9fddfee6dcf76a3957fc348f25f42452 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 6 Dec 2012 18:19:22 +0000 Subject: [PATCH 073/186] Merged revisions 377341 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377341 | russell | 2012-12-06 11:29:13 -0600 (Thu, 06 Dec 2012) | 10 lines Recorded merge of revisions 377340 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Add CLI tab completion to 'acl show'. The 'acl show' CLI command allows you to show the details about a specific named ACL in acl.conf. This patch adds tab completion to the command. Review: https://reviewboard.asterisk.org/r/2230/ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377346 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From c32634e0dd003683cbcd95046c58e9418cfff12d Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 6 Dec 2012 20:25:17 +0000 Subject: [PATCH 074/186] Add initial simple threadpool test. This one simply pushes a task into the threadpool and ensures that the listener gets the callbacks expected. It currently crashes, so I need to figure out what's wrong. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377351 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 3 +- tests/test_threadpool.c | 261 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 262 insertions(+), 2 deletions(-) create mode 100644 tests/test_threadpool.c diff --git a/main/threadpool.c b/main/threadpool.c index 8662c3a393..bc0187f1e7 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -264,8 +264,6 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) return NULL; } - pool->tps = listener->tps; - ao2_ref(pool, +1); return pool; } @@ -624,6 +622,7 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis } pool = tps_listener->private_data; + pool->tps = tps; ast_threadpool_set_size(pool, initial_size); return pool; } diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c new file mode 100644 index 0000000000..eed4dc20fe --- /dev/null +++ b/tests/test_threadpool.c @@ -0,0 +1,261 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! + * \file + * \brief threadpool unit tests + * + * \author Mark Michelson + * + */ + +/*** MODULEINFO + TEST_FRAMEWORK + core + ***/ + +#include "asterisk.h" + +#include "asterisk/test.h" +#include "asterisk/threadpool.h" +#include "asterisk/module.h" +#include "asterisk/lock.h" +#include "asterisk/astobj2.h" + +struct test_listener_data { + int num_active; + int num_idle; + int task_pushed; + int num_tasks; + int empty_notice; + int was_empty; + ast_mutex_t lock; + ast_cond_t cond; +}; + +static void *test_alloc(struct ast_threadpool_listener *listener) +{ + struct test_listener_data *tld = ast_calloc(1, sizeof(*tld)); + if (!tld) { + return NULL; + } + ast_mutex_init(&tld->lock); + ast_cond_init(&tld->cond, NULL); + return tld; +} + +static void test_state_changed(struct ast_threadpool *pool, + struct ast_threadpool_listener *listener, + int active_threads, + int idle_threads) +{ + struct test_listener_data *tld = listener->private_data; + SCOPED_MUTEX(lock, &tld->lock); + tld->num_active = active_threads; + tld->num_idle = idle_threads; + ast_cond_signal(&tld->cond); +} + +static void test_task_pushed(struct ast_threadpool *pool, + struct ast_threadpool_listener *listener, + int was_empty) +{ + struct test_listener_data *tld = listener->private_data; + SCOPED_MUTEX(lock, &tld->lock); + tld->task_pushed = 1; + ++tld->num_tasks; + tld->was_empty = was_empty; + ast_cond_signal(&tld->cond); +} + +static void test_emptied(struct ast_threadpool *pool, + struct ast_threadpool_listener *listener) +{ + struct test_listener_data *tld = listener->private_data; + SCOPED_MUTEX(lock, &tld->lock); + tld->empty_notice = 1; + ast_cond_signal(&tld->cond); +} + +static void test_destroy(void *private_data) +{ + struct test_listener_data *tld = private_data; + ast_cond_destroy(&tld->cond); + ast_mutex_destroy(&tld->lock); + ast_free(tld); +} + +static const struct ast_threadpool_listener_callbacks test_callbacks = { + .alloc = test_alloc, + .state_changed = test_state_changed, + .task_pushed = test_task_pushed, + .emptied = test_emptied, + .destroy = test_destroy, +}; + +struct simple_task_data { + int task_executed; + ast_mutex_t lock; + ast_cond_t cond; +}; + +static struct simple_task_data *simple_task_data_alloc(void) +{ + struct simple_task_data *std = ast_calloc(1, sizeof(*std)); + + if (!std) { + return NULL; + } + ast_mutex_init(&std->lock); + ast_cond_init(&std->cond, NULL); + return std; +} + +static int simple_task(void *data) +{ + struct simple_task_data *std = data; + SCOPED_MUTEX(lock, &std->lock); + std->task_executed = 1; + ast_cond_signal(&std->cond); + return 0; +} + +static void wait_for_task_pushed(struct ast_threadpool_listener *listener) +{ + struct test_listener_data *tld = listener->private_data; + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + 5, + .tv_nsec = start.tv_usec * 1000 + }; + SCOPED_MUTEX(lock, &tld->lock); + + while (!tld->task_pushed) { + ast_cond_timedwait(&tld->cond, lock, &end); + } +} + +static enum ast_test_result_state listener_check( + struct ast_test *test, + struct ast_threadpool_listener *listener, + int task_pushed, + int was_empty, + int num_tasks, + int num_active, + int num_idle, + int empty_notice) +{ + struct test_listener_data *tld = listener->private_data; + enum ast_test_result_state res = AST_TEST_PASS; + + if (tld->task_pushed != task_pushed) { + ast_test_status_update(test, "Expected task %sto be pushed, but it was%s\n", + task_pushed ? "" : "not ", tld->task_pushed ? "" : " not"); + res = AST_TEST_FAIL; + } + if (tld->was_empty != was_empty) { + ast_test_status_update(test, "Expected %sto be empty, but it was%s\n", + was_empty ? "" : "not ", tld->task_pushed ? "" : " not"); + res = AST_TEST_FAIL; + } + if (tld->num_tasks!= num_tasks) { + ast_test_status_update(test, "Expected %d tasks to be pushed, but got %d\n", + num_tasks, tld->num_tasks); + res = AST_TEST_FAIL; + } + if (tld->num_active != num_active) { + ast_test_status_update(test, "Expected %d active threads, but got %d\n", + num_active, tld->num_active); + res = AST_TEST_FAIL; + } + if (tld->num_idle != num_idle) { + ast_test_status_update(test, "Expected %d idle threads, but got %d\n", + num_idle, tld->num_idle); + res = AST_TEST_FAIL; + } + if (tld->empty_notice != empty_notice) { + ast_test_status_update(test, "Expected %s empty notice, but got %s\n", + was_empty ? "an" : "no", tld->task_pushed ? "one" : "none"); + res = AST_TEST_FAIL; + } + + return res; +} + +AST_TEST_DEFINE(threadpool_push) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_push"; + info->category = "/main/threadpool_push/"; + info->summary = "Test task"; + info->description = + "Basic threadpool test"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + std = simple_task_data_alloc(); + if (!std) { + goto end; + } + + ast_threadpool_push(pool, simple_task, std); + + wait_for_task_pushed(listener); + + res = listener_check(test, listener, 1, 1, 1, 0, 0, 0); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std); + return res; +} + +static int unload_module(void) +{ + ast_test_unregister(threadpool_push); + return 0; +} + +static int load_module(void) +{ + ast_test_register(threadpool_push); + return AST_MODULE_LOAD_SUCCESS; +} + +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "threadpool test module"); From 944540292567f0349bd465bd5ae86ff114364ad1 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 6 Dec 2012 20:45:42 +0000 Subject: [PATCH 075/186] It helps if we actually assign the listener to the pool. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377352 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/main/threadpool.c b/main/threadpool.c index bc0187f1e7..1da0d0766c 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -623,6 +623,8 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis pool = tps_listener->private_data; pool->tps = tps; + ao2_ref(listener, +1); + pool->listener = listener; ast_threadpool_set_size(pool, initial_size); return pool; } From 62981d203221541829b7d6165e2127ca9a29efd4 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 7 Dec 2012 00:19:29 +0000 Subject: [PATCH 076/186] Merged revisions 377356 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377356 | rmudgett | 2012-12-06 18:00:39 -0600 (Thu, 06 Dec 2012) | 30 lines confbridge: Fix some resource leaks on conference teardown. * Made destroy_conference_bridge() destroy a missed ast_mutex_t and ast_cond_t. * Made join_conference_bridge() init the ast_mutex_t's and ast_cond_t so destroy_conference_bridge() can destroy them unconditionally. * Made join_conference_bridge() abort if the new conference could not be added to the conferences container. * Made leave_conference() discard any post-join actions if join_conference_bridge() had to abort early. * Made the join_conference_bridge() diagnostic messages better describe what happened. * Renamed leave_conference_bridge() to leave_conference() and made it only take a conference user pointer. The conference pointer was redundant. * Made conf_bridge_profile_copy() use struct copy instead of memcpy(). * No need to lock the conference in start_conf_record_thread() since all of the callers already have it locked. ........ Merged revisions 377354 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377355 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377362 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_confbridge.c | 76 ++++++++++++++++------------ apps/confbridge/conf_config_parser.c | 2 +- 2 files changed, 45 insertions(+), 33 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index d5eabb87e0..b4ec076edf 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -305,7 +305,7 @@ enum { /*! \brief Container to hold all conference bridges in progress */ static struct ao2_container *conference_bridges; -static void leave_conference_bridge(struct conference_bridge *conference_bridge, struct conference_bridge_user *conference_bridge_user); +static void leave_conference(struct conference_bridge_user *user); static int play_sound_number(struct conference_bridge *conference_bridge, int say_number); static int execute_menu_entry(struct conference_bridge *conference_bridge, struct conference_bridge_user *conference_bridge_user, @@ -573,9 +573,7 @@ static int start_conf_record_thread(struct conference_bridge *conference_bridge) { ao2_ref(conference_bridge, +1); /* give the record thread a ref */ - ao2_lock(conference_bridge); conf_start_record(conference_bridge); - ao2_unlock(conference_bridge); if (ast_pthread_create_background(&conference_bridge->record_thread, NULL, record_thread, conference_bridge)) { ast_log(LOG_WARNING, "Failed to create recording channel for conference %s\n", conference_bridge->name); @@ -829,8 +827,6 @@ static void destroy_conference_bridge(void *obj) ast_debug(1, "Destroying conference bridge '%s'\n", conference_bridge->name); - ast_mutex_destroy(&conference_bridge->playback_lock); - if (conference_bridge->playback_chan) { struct ast_channel *underlying_channel = ast_channel_tech(conference_bridge->playback_chan)->bridged_channel(conference_bridge->playback_chan, NULL); if (underlying_channel) { @@ -845,7 +841,11 @@ static void destroy_conference_bridge(void *obj) ast_bridge_destroy(conference_bridge->bridge); conference_bridge->bridge = NULL; } + conf_bridge_profile_destroy(&conference_bridge->b_profile); + ast_cond_destroy(&conference_bridge->record_cond); + ast_mutex_destroy(&conference_bridge->record_lock); + ast_mutex_destroy(&conference_bridge->playback_lock); } /*! \brief Call the proper join event handler for the user for the conference bridge's current state @@ -1022,7 +1022,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct if (conference_bridge && (max_members_reached || conference_bridge->locked) && !ast_test_flag(&conference_bridge_user->u_profile, USER_OPT_ADMIN)) { ao2_unlock(conference_bridges); ao2_ref(conference_bridge, -1); - ast_debug(1, "Conference bridge '%s' is locked and caller is not an admin\n", name); + ast_debug(1, "Conference '%s' is locked and caller is not an admin\n", name); ast_stream_and_wait(conference_bridge_user->chan, conf_get_sound(CONF_SOUND_LOCKED, conference_bridge_user->b_profile.sounds), ""); @@ -1034,10 +1034,17 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct /* Try to allocate memory for a new conference bridge, if we fail... this won't end well. */ if (!(conference_bridge = ao2_alloc(sizeof(*conference_bridge), destroy_conference_bridge))) { ao2_unlock(conference_bridges); - ast_log(LOG_ERROR, "Conference bridge '%s' does not exist.\n", name); + ast_log(LOG_ERROR, "Conference '%s' could not be created.\n", name); return NULL; } + /* Setup lock for playback channel */ + ast_mutex_init(&conference_bridge->playback_lock); + + /* Setup lock for the record channel */ + ast_mutex_init(&conference_bridge->record_lock); + ast_cond_init(&conference_bridge->record_cond, NULL); + /* Setup conference bridge parameters */ conference_bridge->record_thread = AST_PTHREADT_NULL; ast_copy_string(conference_bridge->name, name, sizeof(conference_bridge->name)); @@ -1048,7 +1055,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct ao2_ref(conference_bridge, -1); conference_bridge = NULL; ao2_unlock(conference_bridges); - ast_log(LOG_ERROR, "Conference bridge '%s' could not be created.\n", name); + ast_log(LOG_ERROR, "Conference '%s' mixing bridge could not be created.\n", name); return NULL; } @@ -1061,15 +1068,15 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct ast_bridge_set_talker_src_video_mode(conference_bridge->bridge); } - /* Setup lock for playback channel */ - ast_mutex_init(&conference_bridge->playback_lock); - - /* Setup lock for the record channel */ - ast_mutex_init(&conference_bridge->record_lock); - ast_cond_init(&conference_bridge->record_cond, NULL); - /* Link it into the conference bridges container */ - ao2_link(conference_bridges, conference_bridge); + if (!ao2_link(conference_bridges, conference_bridge)) { + ao2_ref(conference_bridge, -1); + conference_bridge = NULL; + ao2_unlock(conference_bridges); + ast_log(LOG_ERROR, + "Conference '%s' could not be added to the conferences list.\n", name); + return NULL; + } /* Set the initial state to EMPTY */ conference_bridge->state = CONF_STATE_EMPTY; @@ -1082,7 +1089,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct } send_conf_start_event(conference_bridge->name); - ast_debug(1, "Created conference bridge '%s' and linked to container '%p'\n", name, conference_bridges); + ast_debug(1, "Created conference '%s' and linked to container.\n", name); } ao2_unlock(conference_bridges); @@ -1101,7 +1108,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct if (ast_check_hangup(conference_bridge_user->chan)) { ao2_unlock(conference_bridge); - leave_conference_bridge(conference_bridge, conference_bridge_user); + leave_conference(conference_bridge_user); return NULL; } @@ -1110,7 +1117,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct /* Announce number of users if need be */ if (ast_test_flag(&conference_bridge_user->u_profile, USER_OPT_ANNOUNCEUSERCOUNT)) { if (announce_user_count(conference_bridge, conference_bridge_user)) { - leave_conference_bridge(conference_bridge, conference_bridge_user); + leave_conference(conference_bridge_user); return NULL; } } @@ -1118,7 +1125,7 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct if (ast_test_flag(&conference_bridge_user->u_profile, USER_OPT_ANNOUNCEUSERCOUNTALL) && (conference_bridge->activeusers > conference_bridge_user->u_profile.announce_user_count_all_after)) { if (announce_user_count(conference_bridge, NULL)) { - leave_conference_bridge(conference_bridge, conference_bridge_user); + leave_conference(conference_bridge_user); return NULL; } } @@ -1133,21 +1140,26 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct } /*! - * \brief Leave a conference bridge - * - * \param conference_bridge The conference bridge to leave - * \param conference_bridge_user The conference bridge user structure + * \brief Leave a conference * + * \param user The conference user */ -static void leave_conference_bridge(struct conference_bridge *conference_bridge, struct conference_bridge_user *conference_bridge_user) +static void leave_conference(struct conference_bridge_user *user) { - ao2_lock(conference_bridge); + struct post_join_action *action; - handle_conf_user_leave(conference_bridge_user); + ao2_lock(user->conference_bridge); + handle_conf_user_leave(user); + ao2_unlock(user->conference_bridge); - /* Done mucking with the conference bridge, huzzah */ - ao2_unlock(conference_bridge); - ao2_ref(conference_bridge, -1); + /* Discard any post-join actions */ + while ((action = AST_LIST_REMOVE_HEAD(&user->post_join_list, list))) { + ast_free(action); + } + + /* Done mucking with the conference, huzzah */ + ao2_ref(user->conference_bridge, -1); + user->conference_bridge = NULL; } /*! @@ -1544,7 +1556,7 @@ static int confbridge_exec(struct ast_channel *chan, const char *data) /* if we're shutting down, don't attempt to do further processing */ if (ast_shutting_down()) { - leave_conference_bridge(conference_bridge, &conference_bridge_user); + leave_conference(&conference_bridge_user); conference_bridge = NULL; goto confbridge_cleanup; } @@ -1570,7 +1582,7 @@ static int confbridge_exec(struct ast_channel *chan, const char *data) } /* Easy as pie, depart this channel from the conference bridge */ - leave_conference_bridge(conference_bridge, &conference_bridge_user); + leave_conference(&conference_bridge_user); conference_bridge = NULL; /* If the user was kicked from the conference play back the audio prompt for it */ diff --git a/apps/confbridge/conf_config_parser.c b/apps/confbridge/conf_config_parser.c index 39bf298b11..4868d3db90 100644 --- a/apps/confbridge/conf_config_parser.c +++ b/apps/confbridge/conf_config_parser.c @@ -1394,7 +1394,7 @@ const struct user_profile *conf_find_user_profile(struct ast_channel *chan, cons void conf_bridge_profile_copy(struct bridge_profile *dst, struct bridge_profile *src) { - memcpy(dst, src, sizeof(*dst)); + *dst = *src; if (src->sounds) { ao2_ref(src->sounds, +1); } From 4590bfd93d7124fbd042f17260738e315e0abb6e Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 00:30:35 +0000 Subject: [PATCH 077/186] Add new threadpool test and fix some taskprocessor bugs. The new thread creation test fails because Asterisk locks up while trying to lock a taskprocessor. While trying to debug that, I found a race condition during taskprocessor creation where a default taskprocessor listener could try to operate on a partially started taskprocessor. This was fixed by adding a new callback to taskprocessor listeners. Then while testing that change, I found some bugs in the taskprocessor tests where I was not properly unlocking when done with a lock. Scoped locks have spoiled me a bit. I still have not figured out why the threadpool thread creation test is locking up. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377368 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 9 +++++ main/taskprocessor.c | 21 +++++++++-- main/threadpool.c | 7 ++++ tests/test_taskprocessor.c | 11 ++++++ tests/test_threadpool.c | 61 ++++++++++++++++++++++++++++++++ 5 files changed, 106 insertions(+), 3 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 6359c057e7..4f61939f87 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -84,6 +84,15 @@ struct ast_taskprocessor_listener_callbacks { * \retval non-NULL Allocated private data */ void *(*alloc)(struct ast_taskprocessor_listener *listener); + /*! + * \brief The taskprocessor has started completely + * + * This indicates that the taskprocessor is fully set up and the listener + * can now start interacting with it. + * + * \param listener The listener to start + */ + int (*start)(struct ast_taskprocessor_listener *listener); /*! * \brief Indicates a task was pushed to the processor * diff --git a/main/taskprocessor.c b/main/taskprocessor.c index d83228f335..80875ec4af 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -171,12 +171,20 @@ static void *default_listener_alloc(struct ast_taskprocessor_listener *listener) ast_cond_init(&pvt->cond, NULL); ast_mutex_init(&pvt->lock); pvt->poll_thread = AST_PTHREADT_NULL; - if (ast_pthread_create(&pvt->poll_thread, NULL, tps_processing_function, listener) < 0) { - return NULL; - } return pvt; } +static int default_listener_start(struct ast_taskprocessor_listener *listener) +{ + struct default_taskprocessor_listener_pvt *pvt = listener->private_data; + + if (ast_pthread_create(&pvt->poll_thread, NULL, tps_processing_function, listener)) { + return -1; + } + + return 0; +} + static void default_task_pushed(struct ast_taskprocessor_listener *listener, int was_empty) { struct default_taskprocessor_listener_pvt *pvt = listener->private_data; @@ -209,6 +217,7 @@ static void default_listener_destroy(void *obj) static const struct ast_taskprocessor_listener_callbacks default_listener_callbacks = { .alloc = default_listener_alloc, + .start = default_listener_start, .task_pushed = default_task_pushed, .emptied = default_emptied, .shutdown = default_listener_shutdown, @@ -556,6 +565,12 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam return NULL; } + if (p->listener->callbacks->start(p->listener)) { + ast_log(LOG_ERROR, "Unable to start taskprocessor listener for taskprocessor %s\n", p->name); + ast_taskprocessor_unreference(p); + return NULL; + } + /* RAII_VAR will decrement the refcount at the end of the function. * Since we want to pass back a reference to p, we bump the refcount */ diff --git a/main/threadpool.c b/main/threadpool.c index 1da0d0766c..1b04779261 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -268,6 +268,11 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) return pool; } +static int threadpool_tps_start(struct ast_taskprocessor_listener *listener) +{ + return 0; +} + /*! * \brief helper used for queued task when tasks are pushed */ @@ -431,6 +436,7 @@ static void threadpool_destroy(void *private_data) */ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callbacks = { .alloc = threadpool_alloc, + .start = threadpool_tps_start, .task_pushed = threadpool_tps_task_pushed, .emptied = threadpool_tps_emptied, .shutdown = threadpool_tps_shutdown, @@ -623,6 +629,7 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis pool = tps_listener->private_data; pool->tps = tps; + ast_log(LOG_NOTICE, "The taskprocessor I've created is located at %p\n", pool->tps); ao2_ref(listener, +1); pool->listener = listener; ast_threadpool_set_size(pool, initial_size); diff --git a/tests/test_taskprocessor.c b/tests/test_taskprocessor.c index cbab754a94..377a2b3e3c 100644 --- a/tests/test_taskprocessor.c +++ b/tests/test_taskprocessor.c @@ -116,6 +116,7 @@ AST_TEST_DEFINE(default_taskprocessor) break; } } + ast_mutex_unlock(&task_data.lock); if (!task_data.task_complete) { ast_test_status_update(test, "Queued task did not execute!\n"); @@ -218,6 +219,7 @@ AST_TEST_DEFINE(default_taskprocessor_load) break; } } + ast_mutex_unlock(&load_task_results.lock); if (load_task_results.tasks_completed != NUM_TASKS) { ast_test_status_update(test, "Unexpected number of tasks executed. Expected %d but got %d\n", @@ -266,6 +268,14 @@ static void *test_alloc(struct ast_taskprocessor_listener *listener) return pvt; } +/*! + * \brief test taskprocessor listener's start callback + */ +static int test_start(struct ast_taskprocessor_listener *listener) +{ + return 0; +} + /*! * \brief test taskprocessor listener's task_pushed callback * @@ -309,6 +319,7 @@ static void test_destroy(void *private_data) static const struct ast_taskprocessor_listener_callbacks test_callbacks = { .alloc = test_alloc, + .start = test_start, .task_pushed = test_task_pushed, .emptied = test_emptied, .shutdown = test_shutdown, diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index eed4dc20fe..fbbe670bb3 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -36,6 +36,7 @@ #include "asterisk/module.h" #include "asterisk/lock.h" #include "asterisk/astobj2.h" +#include "asterisk/logger.h" struct test_listener_data { int num_active; @@ -66,6 +67,7 @@ static void test_state_changed(struct ast_threadpool *pool, { struct test_listener_data *tld = listener->private_data; SCOPED_MUTEX(lock, &tld->lock); + ast_log(LOG_NOTICE, "State changed: num_active: %d, num_idle: %d\n", active_threads, idle_threads); tld->num_active = active_threads; tld->num_idle = idle_threads; ast_cond_signal(&tld->cond); @@ -95,6 +97,7 @@ static void test_emptied(struct ast_threadpool *pool, static void test_destroy(void *private_data) { struct test_listener_data *tld = private_data; + ast_debug(1, "Poop\n"); ast_cond_destroy(&tld->cond); ast_mutex_destroy(&tld->lock); ast_free(tld); @@ -135,6 +138,15 @@ static int simple_task(void *data) return 0; } +#define WAIT_WHILE(tld, condition) \ +{\ + ast_mutex_lock(&tld->lock);\ + while ((condition)) {\ + ast_cond_wait(&tld->cond, &tld->lock);\ + }\ + ast_mutex_unlock(&tld->lock);\ +}\ + static void wait_for_task_pushed(struct ast_threadpool_listener *listener) { struct test_listener_data *tld = listener->private_data; @@ -246,15 +258,64 @@ end: return res; } +AST_TEST_DEFINE(threadpool_thread_creation) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_thread_creation"; + info->category = "/main/threadpool_thread_creation/"; + info->summary = "Test threadpool thread creation"; + info->description = + "Ensure that threads can be added to a threadpool"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + /* Now let's create a thread. It should start active, then go + * idle immediately + */ + ast_threadpool_set_size(pool, 1); + + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 0, 0, 0, 0, 1, 0); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + return res; +} + static int unload_module(void) { ast_test_unregister(threadpool_push); + ast_test_unregister(threadpool_thread_creation); return 0; } static int load_module(void) { ast_test_register(threadpool_push); + ast_test_register(threadpool_thread_creation); return AST_MODULE_LOAD_SUCCESS; } From ec29862a92eec18050ade673e924ecb72f04985f Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 01:03:49 +0000 Subject: [PATCH 078/186] Fix up categories of threadpool tests. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377369 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index fbbe670bb3..6d67283bf3 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -219,7 +219,7 @@ AST_TEST_DEFINE(threadpool_push) switch (cmd) { case TEST_INIT: info->name = "threadpool_push"; - info->category = "/main/threadpool_push/"; + info->category = "/main/threadpool/"; info->summary = "Test task"; info->description = "Basic threadpool test"; @@ -268,7 +268,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) switch (cmd) { case TEST_INIT: info->name = "threadpool_thread_creation"; - info->category = "/main/threadpool_thread_creation/"; + info->category = "/main/threadpool/"; info->summary = "Test threadpool thread creation"; info->description = "Ensure that threads can be added to a threadpool"; From 3a25935f7d0109aa63da14589790bd695fd1164c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 19:05:30 +0000 Subject: [PATCH 079/186] Fix infinite looping and crash problem. MALLOC_DEBUG is complaining about corrupted memory on taskprocessor listeners, but I'm not seeing it, nor is valgrind. Not sure what's up there. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377377 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/taskprocessor.c | 7 +------ main/threadpool.c | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 80875ec4af..1a768de2f7 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -581,8 +581,6 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam /* decrement the taskprocessor reference count and unlink from the container if necessary */ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) { - struct ast_taskprocessor_listener *listener; - if (!tps) { return NULL; } @@ -596,10 +594,7 @@ void *ast_taskprocessor_unreference(struct ast_taskprocessor *tps) * 3. The listener */ ao2_unlink(tps_singletons, tps); - listener = tps->listener; - tps->listener = NULL; - listener_shutdown(listener); - ao2_ref(listener, -1); + listener_shutdown(tps->listener); return NULL; } diff --git a/main/threadpool.c b/main/threadpool.c index 1b04779261..5ed9a42d13 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -784,7 +784,7 @@ static void worker_active(struct worker_thread *worker) { int alive = 1; while (alive) { - if (threadpool_execute(worker->pool)) { + if (threadpool_execute(worker->pool) == 0) { alive = worker_idle(worker); } } From f275c11e786d521fdcc3ff030d1e8e5e8d3bf71c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 19:16:28 +0000 Subject: [PATCH 080/186] Add threadpool destruction test. It worked on the first try. Fun time. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377378 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 6d67283bf3..3ec6bc3fba 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -305,10 +305,64 @@ end: return res; } +AST_TEST_DEFINE(threadpool_thread_destruction) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_thread_destruction"; + info->category = "/main/threadpool/"; + info->summary = "Test threadpool thread destruction"; + info->description = + "Ensure that threads are properly destroyed in a threadpool"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + ast_threadpool_set_size(pool, 3); + + WAIT_WHILE(tld, tld->num_idle < 3); + + res = listener_check(test, listener, 0, 0, 0, 0, 3, 0); + if (res == AST_TEST_FAIL) { + goto end; + } + + ast_threadpool_set_size(pool, 2); + + WAIT_WHILE(tld, tld->num_idle > 2); + + res = listener_check(test, listener, 0, 0, 0, 0, 2, 0); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + return res; +} + static int unload_module(void) { ast_test_unregister(threadpool_push); ast_test_unregister(threadpool_thread_creation); + ast_test_unregister(threadpool_thread_destruction); return 0; } @@ -316,6 +370,7 @@ static int load_module(void) { ast_test_register(threadpool_push); ast_test_register(threadpool_thread_creation); + ast_test_register(threadpool_thread_destruction); return AST_MODULE_LOAD_SUCCESS; } From 2dc89eb48506400893dca109b3497634496858b7 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 19:34:11 +0000 Subject: [PATCH 081/186] Add test where we add a task then create a thread for it. It passes. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377379 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 87 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 3ec6bc3fba..d2a04c6cd1 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -162,6 +162,26 @@ static void wait_for_task_pushed(struct ast_threadpool_listener *listener) } } +static enum ast_test_result_state wait_for_completion(struct simple_task_data *std) +{ + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + 5, + .tv_nsec = start.tv_usec * 1000 + }; + enum ast_test_result_state res = AST_TEST_PASS; + SCOPED_MUTEX(lock, &std->lock); + + while (!std->task_executed) { + ast_cond_timedwait(&std->cond, lock, &end); + } + + if (!std->task_executed) { + res = AST_TEST_FAIL; + } + return res; +} + static enum ast_test_result_state listener_check( struct ast_test *test, struct ast_threadpool_listener *listener, @@ -358,11 +378,77 @@ end: return res; } +AST_TEST_DEFINE(threadpool_one_task_one_thread) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_one_task_one_thread"; + info->category = "/main/threadpool/"; + info->summary = "Test a single task with a single thread"; + info->description = + "Ensure that a thread executes the added task"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + std = simple_task_data_alloc(); + if (!std) { + goto end; + } + + ast_threadpool_push(pool, simple_task, std); + + ast_threadpool_set_size(pool, 1); + + /* Threads added to the pool are active when they start, + * so the newly-created thread should immediately execute + * the waiting task. + */ + res = wait_for_completion(std); + + if (res == AST_TEST_FAIL) { + goto end; + } + + /* After completing the task, the thread should go idle */ + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std); + return res; + +} + static int unload_module(void) { ast_test_unregister(threadpool_push); ast_test_unregister(threadpool_thread_creation); ast_test_unregister(threadpool_thread_destruction); + ast_test_unregister(threadpool_one_task_one_thread); return 0; } @@ -371,6 +457,7 @@ static int load_module(void) ast_test_register(threadpool_push); ast_test_register(threadpool_thread_creation); ast_test_register(threadpool_thread_destruction); + ast_test_register(threadpool_one_task_one_thread); return AST_MODULE_LOAD_SUCCESS; } From d9f4952b8a28fe63410861ce055a72c6f162a206 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 19:50:38 +0000 Subject: [PATCH 082/186] Add test where we create a thread and push a task. Passes! git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377380 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 100 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 1 deletion(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index d2a04c6cd1..3aa66ef3e2 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -182,6 +182,27 @@ static enum ast_test_result_state wait_for_completion(struct simple_task_data *s return res; } +static enum ast_test_result_state wait_for_empty_notice(struct test_listener_data *tld) +{ + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + 5, + .tv_nsec = start.tv_usec * 1000 + }; + enum ast_test_result_state res = AST_TEST_PASS; + SCOPED_MUTEX(lock, &tld->lock); + + while (!tld->empty_notice) { + ast_cond_timedwait(&tld->cond, lock, &end); + } + + if (!tld->empty_notice) { + res = AST_TEST_FAIL; + } + + return res; +} + static enum ast_test_result_state listener_check( struct ast_test *test, struct ast_threadpool_listener *listener, @@ -392,7 +413,7 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) info->category = "/main/threadpool/"; info->summary = "Test a single task with a single thread"; info->description = - "Ensure that a thread executes the added task"; + "Push a task into an empty threadpool, then add a thread to the pool."; return AST_TEST_NOT_RUN; case TEST_EXECUTE: break; @@ -423,7 +444,82 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) * the waiting task. */ res = wait_for_completion(std); + if (res == AST_TEST_FAIL) { + goto end; + } + res = wait_for_empty_notice(tld); + if (res == AST_TEST_FAIL) { + goto end; + } + + /* After completing the task, the thread should go idle */ + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std); + return res; + +} + +AST_TEST_DEFINE(threadpool_one_thread_one_task) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_one_thread_one_task"; + info->category = "/main/threadpool/"; + info->summary = "Test a single thread with a single task"; + info->description = + "Add a thread to the pool and then push a task to it."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + std = simple_task_data_alloc(); + if (!std) { + goto end; + } + + ast_threadpool_set_size(pool, 1); + + WAIT_WHILE(tld, tld->num_idle == 0); + + ast_threadpool_push(pool, simple_task, std); + + /* Threads added to the pool are active when they start, + * so the newly-created thread should immediately execute + * the waiting task. + */ + res = wait_for_completion(std); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_for_empty_notice(tld); if (res == AST_TEST_FAIL) { goto end; } @@ -449,6 +545,7 @@ static int unload_module(void) ast_test_unregister(threadpool_thread_creation); ast_test_unregister(threadpool_thread_destruction); ast_test_unregister(threadpool_one_task_one_thread); + ast_test_unregister(threadpool_one_thread_one_task); return 0; } @@ -458,6 +555,7 @@ static int load_module(void) ast_test_register(threadpool_thread_creation); ast_test_register(threadpool_thread_destruction); ast_test_register(threadpool_one_task_one_thread); + ast_test_register(threadpool_one_thread_one_task); return AST_MODULE_LOAD_SUCCESS; } From b8f35bb19755c6571411a8dfb2595a7c9225d4f6 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 21:53:18 +0000 Subject: [PATCH 083/186] Remove unsafe write of listener member. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377381 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/taskprocessor.c | 1 - 1 file changed, 1 deletion(-) diff --git a/main/taskprocessor.c b/main/taskprocessor.c index 1a768de2f7..fc183b4096 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -474,7 +474,6 @@ static void listener_shutdown(struct ast_taskprocessor_listener *listener) { listener->callbacks->shutdown(listener); ao2_ref(listener->tps, -1); - listener->tps = NULL; } struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct ast_taskprocessor_listener_callbacks *callbacks) From 5f0a98bb0ec2856e02ac603193dcacfddb60a08f Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 7 Dec 2012 22:20:16 +0000 Subject: [PATCH 084/186] Merged revisions 377384 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377384 | kmoore | 2012-12-07 16:08:48 -0600 (Fri, 07 Dec 2012) | 23 lines codec_dahdi: Fix output of "transcoder show" CLI command. In r306010 "Asterisk media architecture conversion - no more format bitfields", the logic for incrementing encoders and decoders when opening transcoder channels was changed without making the corresponding change when decrementing encoder / decoder channels. The result being that when a channel was destroyed, codec_dahdi couldn't properly tell if it was an encoder or decoder, and the default case is to assume it was a decoder. This could result in negative numbers for decoders in use like in: VOIP6*CLI> transcoder show 2/-2 encoders/decoders of 92 channels are in use. (closes issue ASTERISK-19921) Patch-by: Shaun Ruffell ........ Merged revisions 377382 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377383 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377390 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/codec_dahdi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecs/codec_dahdi.c b/codecs/codec_dahdi.c index c4aa32fb3a..caaf99cdf5 100644 --- a/codecs/codec_dahdi.c +++ b/codecs/codec_dahdi.c @@ -394,7 +394,7 @@ static void dahdi_destroy(struct ast_trans_pvt *pvt) { struct codec_dahdi_pvt *dahdip = pvt->pvt; - switch (dahdip->fmts.dstfmt) { + switch (ast_format_id_from_old_bitfield(dahdip->fmts.dstfmt)) { case AST_FORMAT_G729A: case AST_FORMAT_G723_1: ast_atomic_fetchadd_int(&channels.encoders, -1); From afdbd80bc3f04c1277305347b3afeac83db3484d Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 22:35:11 +0000 Subject: [PATCH 085/186] Add a single-thread multi-task test. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377397 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 90 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 85 insertions(+), 5 deletions(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 3aa66ef3e2..86ced4d2bc 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -223,7 +223,7 @@ static enum ast_test_result_state listener_check( } if (tld->was_empty != was_empty) { ast_test_status_update(test, "Expected %sto be empty, but it was%s\n", - was_empty ? "" : "not ", tld->task_pushed ? "" : " not"); + was_empty ? "" : "not ", tld->was_empty ? "" : " not"); res = AST_TEST_FAIL; } if (tld->num_tasks!= num_tasks) { @@ -510,10 +510,6 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) ast_threadpool_push(pool, simple_task, std); - /* Threads added to the pool are active when they start, - * so the newly-created thread should immediately execute - * the waiting task. - */ res = wait_for_completion(std); if (res == AST_TEST_FAIL) { goto end; @@ -539,6 +535,88 @@ end: } +AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std1 = NULL; + struct simple_task_data *std2 = NULL; + struct simple_task_data *std3 = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_one_thread_multiple_tasks"; + info->category = "/main/threadpool/"; + info->summary = "Test a single thread with multiple tasks"; + info->description = + "Add a thread to the pool and then push three tasks to it."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + std1 = simple_task_data_alloc(); + std2 = simple_task_data_alloc(); + std3 = simple_task_data_alloc(); + if (!std1 || !std2 || !std3) { + goto end; + } + + ast_threadpool_set_size(pool, 1); + + WAIT_WHILE(tld, tld->num_idle == 0); + + ast_threadpool_push(pool, simple_task, std1); + ast_threadpool_push(pool, simple_task, std2); + ast_threadpool_push(pool, simple_task, std3); + + res = wait_for_completion(std1); + if (res == AST_TEST_FAIL) { + goto end; + } + res = wait_for_completion(std2); + if (res == AST_TEST_FAIL) { + goto end; + } + res = wait_for_completion(std3); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_for_empty_notice(tld); + if (res == AST_TEST_FAIL) { + goto end; + } + + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 1, 0, 3, 0, 1, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std1); + ast_free(std2); + ast_free(std3); + return res; + +} + static int unload_module(void) { ast_test_unregister(threadpool_push); @@ -546,6 +624,7 @@ static int unload_module(void) ast_test_unregister(threadpool_thread_destruction); ast_test_unregister(threadpool_one_task_one_thread); ast_test_unregister(threadpool_one_thread_one_task); + ast_test_unregister(threadpool_one_thread_multiple_tasks); return 0; } @@ -556,6 +635,7 @@ static int load_module(void) ast_test_register(threadpool_thread_destruction); ast_test_register(threadpool_one_task_one_thread); ast_test_register(threadpool_one_thread_one_task); + ast_test_register(threadpool_one_thread_multiple_tasks); return AST_MODULE_LOAD_SUCCESS; } From b353c80dc0b3d65fd1bae9d5cd7f9efd4717f708 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Fri, 7 Dec 2012 23:42:42 +0000 Subject: [PATCH 086/186] Add threadpool reactivation test. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377400 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 88 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 86ced4d2bc..4fb7bab2d7 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -617,6 +617,92 @@ end: } +AST_TEST_DEFINE(threadpool_reactivation) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std1 = NULL; + struct simple_task_data *std2 = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_reactivation"; + info->category = "/main/threadpool/"; + info->summary = "Test that a threadpool reactivates when work is added"; + info->description = + "Push a task into a threadpool. Make sure the task executes and the\n" + "thread goes idle. Then push a second task and ensure that the thread\n" + "awakens and executes the second task.\n"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + std1 = simple_task_data_alloc(); + std2 = simple_task_data_alloc(); + if (!std1 || !std2) { + goto end; + } + + ast_threadpool_push(pool, simple_task, std1); + + ast_threadpool_set_size(pool, 1); + + res = wait_for_completion(std1); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_for_empty_notice(tld); + if (res == AST_TEST_FAIL) { + goto end; + } + + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); + + /* Now make sure the threadpool reactivates when we add a second task */ + ast_threadpool_push(pool, simple_task, std2); + + res = wait_for_completion(std2); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_for_empty_notice(tld); + if (res == AST_TEST_FAIL) { + goto end; + } + + WAIT_WHILE(tld, tld->num_idle == 0); + + res = listener_check(test, listener, 1, 1, 2, 0, 1, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std1); + ast_free(std2); + return res; + +} + static int unload_module(void) { ast_test_unregister(threadpool_push); @@ -625,6 +711,7 @@ static int unload_module(void) ast_test_unregister(threadpool_one_task_one_thread); ast_test_unregister(threadpool_one_thread_one_task); ast_test_unregister(threadpool_one_thread_multiple_tasks); + ast_test_unregister(threadpool_reactivation); return 0; } @@ -636,6 +723,7 @@ static int load_module(void) ast_test_register(threadpool_one_task_one_thread); ast_test_register(threadpool_one_thread_one_task); ast_test_register(threadpool_one_thread_multiple_tasks); + ast_test_register(threadpool_reactivation); return AST_MODULE_LOAD_SUCCESS; } From c75b8c528398699ca3568f481f2eb83193e3dce2 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sat, 8 Dec 2012 00:19:39 +0000 Subject: [PATCH 087/186] Merged revisions 377402 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377402 | rmudgett | 2012-12-07 17:45:15 -0600 (Fri, 07 Dec 2012) | 11 lines MALLOC_DEBUG: Only wait if we want atexit allocation dumps. ........ Merged revisions 377398 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377399 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377401 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377409 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/astmm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main/astmm.c b/main/astmm.c index 1283de2dfe..9396d09873 100644 --- a/main/astmm.c +++ b/main/astmm.c @@ -1333,8 +1333,11 @@ static void mm_atexit_final(void) { FILE *log; - fprintf(stderr, "Waiting 10 seconds to let other threads die.\n"); - sleep(10); + /* Only wait if we want atexit allocation dumps. */ + if (atexit_list || atexit_summary) { + fprintf(stderr, "Waiting 10 seconds to let other threads die.\n"); + sleep(10); + } regions_check_all_fences(); From 4deecdef727cfdbc29870cb88695e27ec4d9ab51 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sat, 8 Dec 2012 00:22:33 +0000 Subject: [PATCH 088/186] Add a task distribution test. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377418 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 141 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 4fb7bab2d7..3435b2877e 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -703,6 +703,145 @@ end: } +struct complex_task_data { + int task_executed; + int continue_task; + ast_mutex_t lock; + ast_cond_t stall_cond; + ast_cond_t done_cond; +}; + +static struct complex_task_data *complex_task_data_alloc(void) +{ + struct complex_task_data *ctd = ast_calloc(1, sizeof(*ctd)); + + if (!ctd) { + return NULL; + } + ast_mutex_init(&ctd->lock); + ast_cond_init(&ctd->stall_cond, NULL); + ast_cond_init(&ctd->done_cond, NULL); + return ctd; +} + +static int complex_task(void *data) +{ + struct complex_task_data *ctd = data; + SCOPED_MUTEX(lock, &ctd->lock); + while (!ctd->continue_task) { + ast_cond_wait(&ctd->stall_cond, lock); + } + /* We got poked. Finish up */ + ctd->task_executed = 1; + ast_cond_signal(&ctd->done_cond); + return 0; +} + +static void poke_worker(struct complex_task_data *ctd) +{ + SCOPED_MUTEX(lock, &ctd->lock); + ctd->continue_task = 1; + ast_cond_signal(&ctd->stall_cond); +} + +static enum ast_test_result_state wait_for_complex_completion(struct complex_task_data *ctd) +{ + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + 5, + .tv_nsec = start.tv_usec * 1000 + }; + enum ast_test_result_state res = AST_TEST_PASS; + SCOPED_MUTEX(lock, &ctd->lock); + + while (!ctd->task_executed) { + ast_cond_timedwait(&ctd->done_cond, lock, &end); + } + + if (!ctd->task_executed) { + res = AST_TEST_FAIL; + } + return res; +} + +AST_TEST_DEFINE(threadpool_task_distribution) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct complex_task_data *ctd1 = NULL; + struct complex_task_data *ctd2 = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_task_distribution"; + info->category = "/main/threadpool/"; + info->summary = "Test that tasks are evenly distributed to threads"; + info->description = + "Push two tasks into a threadpool. Ensure that each is handled by\n" + "a separate thread\n"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + ctd1 = complex_task_data_alloc(); + ctd2 = complex_task_data_alloc(); + if (!ctd1 || !ctd2) { + goto end; + } + + ast_threadpool_push(pool, complex_task, ctd1); + ast_threadpool_push(pool, complex_task, ctd2); + + ast_threadpool_set_size(pool, 2); + + WAIT_WHILE(tld, tld->num_active < 2); + + res = listener_check(test, listener, 1, 0, 2, 2, 0, 0); + if (res == AST_TEST_FAIL) { + goto end; + } + + /* The tasks are stalled until we poke them */ + poke_worker(ctd1); + poke_worker(ctd2); + + res = wait_for_complex_completion(ctd1); + if (res == AST_TEST_FAIL) { + goto end; + } + res = wait_for_complex_completion(ctd2); + if (res == AST_TEST_FAIL) { + goto end; + } + + WAIT_WHILE(tld, tld->num_idle < 2); + + res = listener_check(test, listener, 1, 0, 2, 0, 2, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(ctd1); + ast_free(ctd2); + return res; +} + static int unload_module(void) { ast_test_unregister(threadpool_push); @@ -712,6 +851,7 @@ static int unload_module(void) ast_test_unregister(threadpool_one_thread_one_task); ast_test_unregister(threadpool_one_thread_multiple_tasks); ast_test_unregister(threadpool_reactivation); + ast_test_unregister(threadpool_task_distribution); return 0; } @@ -724,6 +864,7 @@ static int load_module(void) ast_test_register(threadpool_one_thread_one_task); ast_test_register(threadpool_one_thread_multiple_tasks); ast_test_register(threadpool_reactivation); + ast_test_register(threadpool_task_distribution); return AST_MODULE_LOAD_SUCCESS; } From 0f7943c48ab5d93bf8cce73b54fc0852ab4404ba Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sat, 8 Dec 2012 01:19:36 +0000 Subject: [PATCH 089/186] Merged revisions 377434 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377434 | rmudgett | 2012-12-07 18:30:40 -0600 (Fri, 07 Dec 2012) | 20 lines Fix order of SIP allow/disallow in MySQL contrib script. Using the contrib sippeers.sql script to create the sippeers MySQL table would result in being unable to place calls if you set the disallow value to all. (closes issue ASTERISK-20756) Reported by: Andre Luis Patches: sippeers.patch patch uploaded by Andre Luis ........ Merged revisions 377431 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377432 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377433 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377441 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- contrib/realtime/mysql/sippeers.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/realtime/mysql/sippeers.sql b/contrib/realtime/mysql/sippeers.sql index 6884ac6a9e..5c58df7ea1 100644 --- a/contrib/realtime/mysql/sippeers.sql +++ b/contrib/realtime/mysql/sippeers.sql @@ -28,8 +28,8 @@ CREATE TABLE IF NOT EXISTS `sippeers` ( `callgroup` varchar(40) DEFAULT NULL, `pickupgroup` varchar(40) DEFAULT NULL, `language` varchar(40) DEFAULT NULL, - `allow` varchar(40) DEFAULT NULL, `disallow` varchar(40) DEFAULT NULL, + `allow` varchar(40) DEFAULT NULL, `insecure` varchar(40) DEFAULT NULL, `trustrpid` enum('yes','no') DEFAULT NULL, `progressinband` enum('yes','no','never') DEFAULT NULL, From 75559a4c429db8e41d59a4ac6bd4a4757a530b2f Mon Sep 17 00:00:00 2001 From: Automerge script Date: Sun, 9 Dec 2012 02:20:13 +0000 Subject: [PATCH 090/186] Merged revisions 377463 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377463 | file | 2012-12-08 19:23:44 -0600 (Sat, 08 Dec 2012) | 9 lines Add missing support for "who hung up" to chan_motif. (closes issue ASTERISK-20671) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2208/ ........ Merged revisions 377462 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377468 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_motif.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/channels/chan_motif.c b/channels/chan_motif.c index 0b07ed158e..cc1e370fd1 100644 --- a/channels/chan_motif.c +++ b/channels/chan_motif.c @@ -2360,6 +2360,8 @@ static void jingle_action_session_terminate(struct jingle_endpoint *endpoint, st struct ast_channel *chan; iks *reason, *text; int cause = AST_CAUSE_NORMAL; + struct ast_control_pvt_cause_code *cause_code; + int data_size = sizeof(*cause_code); if (!session) { jingle_send_error_response(endpoint->connection, pak, "cancel", "item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'", @@ -2377,6 +2379,10 @@ static void jingle_action_session_terminate(struct jingle_endpoint *endpoint, st if ((reason = iks_find(pak->query, "reason")) && (text = iks_child(reason))) { int i; + /* Size of the string making up the cause code is "Motif " + text */ + data_size += 6 + strlen(iks_name(text)); + cause_code = ast_malloc(data_size); + /* Get the appropriate cause code mapping for this reason */ for (i = 0; i < ARRAY_LEN(jingle_reason_mappings); i++) { if (!strcasecmp(jingle_reason_mappings[i].reason, iks_name(text))) { @@ -2384,8 +2390,21 @@ static void jingle_action_session_terminate(struct jingle_endpoint *endpoint, st break; } } + + /* Store the technology specific information */ + snprintf(cause_code->code, data_size - sizeof(*cause_code) + 1, "Motif %s", iks_name(text)); + } else { + /* No technology specific information is available */ + cause_code = ast_malloc(data_size); } + ast_copy_string(cause_code->chan_name, ast_channel_name(chan), AST_CHANNEL_NAME); + cause_code->ast_cause = cause; + ast_queue_control_data(chan, AST_CONTROL_PVT_CAUSE_CODE, cause_code, data_size); + ast_channel_hangupcause_hash_set(chan, cause_code, data_size); + + ast_free(cause_code); + ast_debug(3, "Hanging up channel '%s' due to session terminate message with cause '%d'\n", ast_channel_name(chan), cause); ast_queue_hangup_with_cause(chan, cause); session->gone = 1; From 293b18ecce9ef4c0d6540fdd7cf324dd1cab9e38 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sun, 9 Dec 2012 18:56:25 +0000 Subject: [PATCH 091/186] Create longer thread destruction test. This one involves shrinking the threadpool in such a way that both idle and active threads are affected. This test made me re-realize why the zombie state exists, so I re-added it. We don't want to clog up the control taskprocessor by waiting on active threads to complete what they are doing. Instead, we mark them as zombies so that when they are done, they can clean themselves up properly. Without the zombie state available, the new test actually will deadlock. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377474 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 146 ++++++++++++++++++++++++++++++++++++---- tests/test_threadpool.c | 94 ++++++++++++++++++++++++++ 2 files changed, 226 insertions(+), 14 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 5ed9a42d13..1443716d4f 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -45,6 +45,11 @@ struct ast_threadpool { * Idle threads are those that are currenly waiting to run tasks */ struct ao2_container *idle_threads; + /*! + * \brief The container of zombie threads. + * Zombie threads may be running tasks, but they are scheduled to die soon + */ + struct ao2_container *zombie_threads; /*! * \brief The main taskprocessor * @@ -79,7 +84,7 @@ struct ast_threadpool { * This is done for three main reasons * 1) It ensures that listeners are given an accurate portrayal * of the threadpool's current state. In other words, when a listener - * gets told a count of active and idle threads, it does not + * gets told a count of active, idle and zombie threads, it does not * need to worry that internal state of the threadpool might be different * from what it has been told. * 2) It minimizes the locking required in both the threadpool and in @@ -96,7 +101,20 @@ struct ast_threadpool { enum worker_state { /*! The worker is either active or idle */ ALIVE, - /*! The worker has been asked to shut down. */ + /*! + * The worker has been asked to shut down but + * may still be in the process of executing tasks. + * This transition happens when the threadpool needs + * to shrink and needs to kill active threads in order + * to do so. + */ + ZOMBIE, + /*! + * The worker has been asked to shut down. Typically + * only idle threads go to this state directly, but + * active threads may go straight to this state when + * the threadpool is shut down. + */ DEAD, }; @@ -201,6 +219,41 @@ static void threadpool_active_thread_idle(struct ast_threadpool *pool, ast_taskprocessor_push(pool->control_tps, queued_active_thread_idle, pair); } +/*! + * \brief Kill a zombie thread + * + * This runs from the threadpool's control taskprocessor thread. + * + * \param data A thread_worker_pair containing the threadpool and the zombie thread + * \return 0 + */ +static int queued_zombie_thread_dead(void *data) +{ + struct thread_worker_pair *pair = data; + + ao2_unlink(pair->pool->zombie_threads, pair->worker); + threadpool_send_state_changed(pair->pool); + + ao2_ref(pair, -1); + return 0; +} + +/*! + * \brief Queue a task to kill a zombie thread + * + * This is called by a worker thread when it acknowledges that it is time for + * it to die. + */ +static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, + struct worker_thread *worker) +{ + struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); + if (!pair) { + return; + } + ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); +} + /*! * \brief Execute a task in the threadpool * @@ -263,6 +316,10 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) if (!pool->idle_threads) { return NULL; } + pool->zombie_threads = ao2_container_alloc(THREAD_BUCKETS, worker_thread_hash, worker_thread_cmp); + if (!pool->zombie_threads) { + return NULL; + } ao2_ref(pool, +1); return pool; @@ -413,6 +470,7 @@ static void threadpool_tps_shutdown(struct ast_taskprocessor_listener *listener) ao2_cleanup(pool->active_threads); ao2_cleanup(pool->idle_threads); + ao2_cleanup(pool->zombie_threads); } /*! @@ -459,6 +517,7 @@ static void grow(struct ast_threadpool *pool, int delta) return; } ao2_link(pool->active_threads, worker); + ao2_ref(worker, -1); } } @@ -478,7 +537,46 @@ static int kill_threads(void *obj, void *arg, int flags) { int *num_to_kill = arg; - if ((*num_to_kill)-- > 0) { + ast_log(LOG_NOTICE, "num to kill is %d\n", *num_to_kill); + + if (*num_to_kill > 0) { + --(*num_to_kill); + ast_log(LOG_NOTICE, "Should be killing a thread\n"); + return CMP_MATCH; + } else { + return CMP_STOP; + } +} + +/*! + * \brief ao2 callback to zombify a set number of threads. + * + * Threads will be zombified as long as as the counter has not reached + * zero. The counter is decremented with each thread that is zombified. + * + * Zombifying a thread involves removing it from its current container, + * adding it to the zombie container, and changing the state of the + * worker to a zombie + * + * This callback is called from the threadpool control taskprocessor thread. + * + * \param obj The worker thread that may be zombified + * \param arg The pool to which the worker belongs + * \param data The counter + * \param flags Unused + * \retval CMP_MATCH The zombified thread should be removed from its current container + * \retval CMP_STOP Stop attempting to zombify threads + */ +static int zombify_threads(void *obj, void *arg, void *data, int flags) +{ + struct worker_thread *worker = obj; + struct ast_threadpool *pool = arg; + int *num_to_zombify = data; + + if ((*num_to_zombify)-- > 0) { + ast_log(LOG_NOTICE, "Should be zombifying a thread\n"); + ao2_link(pool->zombie_threads, worker); + worker_set_state(worker, ZOMBIE); return CMP_MATCH; } else { return CMP_STOP; @@ -490,7 +588,7 @@ static int kill_threads(void *obj, void *arg, int flags) * * The preference is to kill idle threads. However, if there are * more threads to remove than there are idle threads, then active - * threads will be removed too. + * threads will be zombified instead. * * This function is called from the threadpool control taskprocessor thread. * @@ -499,15 +597,21 @@ static int kill_threads(void *obj, void *arg, int flags) */ static void shrink(struct ast_threadpool *pool, int delta) { + /* + * Preference is to kill idle threads, but + * we'll move on to deactivating active threads + * if we have to + */ int idle_threads = ao2_container_count(pool->idle_threads); int idle_threads_to_kill = MIN(delta, idle_threads); - int active_threads_to_kill = delta - idle_threads_to_kill; + int active_threads_to_zombify = delta - idle_threads_to_kill; - ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK, + ast_log(LOG_NOTICE, "Going to kill off %d idle threads\n", idle_threads_to_kill); + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, kill_threads, &idle_threads_to_kill); - ao2_callback(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK, - kill_threads, &active_threads_to_kill); + ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, + zombify_threads, pool, &active_threads_to_zombify); } /*! @@ -553,20 +657,22 @@ static int queued_set_size(void *data) { struct set_size_data *ssd = data; struct ast_threadpool *pool = ssd->pool; - unsigned int new_size = ssd->size; + unsigned int num_threads = ssd->size; + + /* We don't count zombie threads as being "live when potentially resizing */ unsigned int current_size = ao2_container_count(pool->active_threads) + ao2_container_count(pool->idle_threads); - if (current_size == new_size) { + if (current_size == num_threads) { ast_log(LOG_NOTICE, "Not changing threadpool size since new size %u is the same as current %u\n", - new_size, current_size); + num_threads, current_size); return 0; } - if (current_size < new_size) { - grow(pool, new_size - current_size); + if (current_size < num_threads) { + grow(pool, num_threads - current_size); } else { - shrink(pool, current_size - new_size); + shrink(pool, current_size - num_threads); } threadpool_send_state_changed(pool); @@ -788,6 +894,18 @@ static void worker_active(struct worker_thread *worker) alive = worker_idle(worker); } } + + /* Reaching this portion means the thread is + * on death's door. It may have been killed while + * it was idle, in which case it can just die + * peacefully. If it's a zombie, though, then + * it needs to let the pool know so + * that the thread can be removed from the + * list of zombie threads. + */ + if (worker->state == ZOMBIE) { + threadpool_zombie_thread_dead(worker->pool, worker); + } } /*! diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 3435b2877e..3d64fe9140 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -842,6 +842,98 @@ end: return res; } +AST_TEST_DEFINE(threadpool_more_destruction) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct complex_task_data *ctd1 = NULL; + struct complex_task_data *ctd2 = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_more_destruction"; + info->category = "/main/threadpool/"; + info->summary = "Test that threads are destroyed as expected"; + info->description = + "Push two tasks into a threadpool. Set the threadpool size to 4\n" + "Ensure that there are 2 active and 2 idle threads. Then shrink the\n" + "threadpool down to 1 thread. Ensure that the thread leftove is active\n" + "and ensure that both tasks complete.\n"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0); + if (!pool) { + goto end; + } + + ctd1 = complex_task_data_alloc(); + ctd2 = complex_task_data_alloc(); + if (!ctd1 || !ctd2) { + goto end; + } + + ast_threadpool_push(pool, complex_task, ctd1); + ast_threadpool_push(pool, complex_task, ctd2); + + ast_threadpool_set_size(pool, 4); + + WAIT_WHILE(tld, tld->num_idle < 2); + + res = listener_check(test, listener, 1, 0, 2, 2, 2, 0); + if (res == AST_TEST_FAIL) { + goto end; + } + + ast_threadpool_set_size(pool, 1); + + /* Shrinking the threadpool should kill off the two idle threads + * and one of the active threads. + */ + WAIT_WHILE(tld, tld->num_idle > 0 || tld->num_active > 1); + + res = listener_check(test, listener, 1, 0, 2, 1, 0, 0); + if (res == AST_TEST_FAIL) { + goto end; + } + + /* The tasks are stalled until we poke them */ + poke_worker(ctd1); + poke_worker(ctd2); + + res = wait_for_complex_completion(ctd1); + if (res == AST_TEST_FAIL) { + goto end; + } + res = wait_for_complex_completion(ctd2); + if (res == AST_TEST_FAIL) { + goto end; + } + + WAIT_WHILE(tld, tld->num_idle < 1); + + res = listener_check(test, listener, 1, 0, 2, 0, 1, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(ctd1); + ast_free(ctd2); + return res; +} + static int unload_module(void) { ast_test_unregister(threadpool_push); @@ -852,6 +944,7 @@ static int unload_module(void) ast_test_unregister(threadpool_one_thread_multiple_tasks); ast_test_unregister(threadpool_reactivation); ast_test_unregister(threadpool_task_distribution); + ast_test_unregister(threadpool_more_destruction); return 0; } @@ -865,6 +958,7 @@ static int load_module(void) ast_test_register(threadpool_one_thread_multiple_tasks); ast_test_register(threadpool_reactivation); ast_test_register(threadpool_task_distribution); + ast_test_register(threadpool_more_destruction); return AST_MODULE_LOAD_SUCCESS; } From b6a73bb45135290a6ae2b7d57c77cd6b23fc22ed Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sun, 9 Dec 2012 19:06:35 +0000 Subject: [PATCH 092/186] Add some useful debugging in threadpool test failure conditions. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377475 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 3d64fe9140..af2c0ff449 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -67,7 +67,6 @@ static void test_state_changed(struct ast_threadpool *pool, { struct test_listener_data *tld = listener->private_data; SCOPED_MUTEX(lock, &tld->lock); - ast_log(LOG_NOTICE, "State changed: num_active: %d, num_idle: %d\n", active_threads, idle_threads); tld->num_active = active_threads; tld->num_idle = idle_threads; ast_cond_signal(&tld->cond); @@ -97,7 +96,6 @@ static void test_emptied(struct ast_threadpool *pool, static void test_destroy(void *private_data) { struct test_listener_data *tld = private_data; - ast_debug(1, "Poop\n"); ast_cond_destroy(&tld->cond); ast_mutex_destroy(&tld->lock); ast_free(tld); @@ -162,7 +160,7 @@ static void wait_for_task_pushed(struct ast_threadpool_listener *listener) } } -static enum ast_test_result_state wait_for_completion(struct simple_task_data *std) +static enum ast_test_result_state wait_for_completion(struct ast_test *test, struct simple_task_data *std) { struct timeval start = ast_tvnow(); struct timespec end = { @@ -177,12 +175,13 @@ static enum ast_test_result_state wait_for_completion(struct simple_task_data *s } if (!std->task_executed) { + ast_test_status_update(test, "Task execution did not occur\n"); res = AST_TEST_FAIL; } return res; } -static enum ast_test_result_state wait_for_empty_notice(struct test_listener_data *tld) +static enum ast_test_result_state wait_for_empty_notice(struct ast_test *test, struct test_listener_data *tld) { struct timeval start = ast_tvnow(); struct timespec end = { @@ -197,6 +196,7 @@ static enum ast_test_result_state wait_for_empty_notice(struct test_listener_dat } if (!tld->empty_notice) { + ast_test_status_update(test, "Test listener never told that threadpool is empty\n"); res = AST_TEST_FAIL; } @@ -443,12 +443,12 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) * so the newly-created thread should immediately execute * the waiting task. */ - res = wait_for_completion(std); + res = wait_for_completion(test, std); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_empty_notice(tld); + res = wait_for_empty_notice(test, tld); if (res == AST_TEST_FAIL) { goto end; } @@ -510,12 +510,12 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) ast_threadpool_push(pool, simple_task, std); - res = wait_for_completion(std); + res = wait_for_completion(test, std); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_empty_notice(tld); + res = wait_for_empty_notice(test, tld); if (res == AST_TEST_FAIL) { goto end; } @@ -583,20 +583,20 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) ast_threadpool_push(pool, simple_task, std2); ast_threadpool_push(pool, simple_task, std3); - res = wait_for_completion(std1); + res = wait_for_completion(test, std1); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_completion(std2); + res = wait_for_completion(test, std2); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_completion(std3); + res = wait_for_completion(test, std3); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_empty_notice(tld); + res = wait_for_empty_notice(test, tld); if (res == AST_TEST_FAIL) { goto end; } @@ -661,12 +661,12 @@ AST_TEST_DEFINE(threadpool_reactivation) ast_threadpool_set_size(pool, 1); - res = wait_for_completion(std1); + res = wait_for_completion(test, std1); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_empty_notice(tld); + res = wait_for_empty_notice(test, tld); if (res == AST_TEST_FAIL) { goto end; } @@ -678,12 +678,12 @@ AST_TEST_DEFINE(threadpool_reactivation) /* Now make sure the threadpool reactivates when we add a second task */ ast_threadpool_push(pool, simple_task, std2); - res = wait_for_completion(std2); + res = wait_for_completion(test, std2); if (res == AST_TEST_FAIL) { goto end; } - res = wait_for_empty_notice(tld); + res = wait_for_empty_notice(test, tld); if (res == AST_TEST_FAIL) { goto end; } From 7be7baba3017e2e31210405105ed4c5b12805a4f Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Sun, 9 Dec 2012 19:10:14 +0000 Subject: [PATCH 093/186] Remove unnecessary debugging and add some useful debugging. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377476 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 1443716d4f..f1039f937f 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -511,6 +511,9 @@ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callb static void grow(struct ast_threadpool *pool, int delta) { int i; + + ast_debug(1, "Going to increase threadpool size by %d\n", delta); + for (i = 0; i < delta; ++i) { struct worker_thread *worker = worker_thread_alloc(pool); if (!worker) { @@ -537,11 +540,8 @@ static int kill_threads(void *obj, void *arg, int flags) { int *num_to_kill = arg; - ast_log(LOG_NOTICE, "num to kill is %d\n", *num_to_kill); - if (*num_to_kill > 0) { --(*num_to_kill); - ast_log(LOG_NOTICE, "Should be killing a thread\n"); return CMP_MATCH; } else { return CMP_STOP; @@ -574,7 +574,6 @@ static int zombify_threads(void *obj, void *arg, void *data, int flags) int *num_to_zombify = data; if ((*num_to_zombify)-- > 0) { - ast_log(LOG_NOTICE, "Should be zombifying a thread\n"); ao2_link(pool->zombie_threads, worker); worker_set_state(worker, ZOMBIE); return CMP_MATCH; @@ -606,10 +605,13 @@ static void shrink(struct ast_threadpool *pool, int delta) int idle_threads_to_kill = MIN(delta, idle_threads); int active_threads_to_zombify = delta - idle_threads_to_kill; - ast_log(LOG_NOTICE, "Going to kill off %d idle threads\n", idle_threads_to_kill); + ast_debug(1, "Going to kill off %d idle threads\n", idle_threads_to_kill); + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, kill_threads, &idle_threads_to_kill); + ast_debug(1, "Goign to kill off %d active threads\n", active_threads_to_zombify); + ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, zombify_threads, pool, &active_threads_to_zombify); } @@ -735,7 +737,6 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis pool = tps_listener->private_data; pool->tps = tps; - ast_log(LOG_NOTICE, "The taskprocessor I've created is located at %p\n", pool->tps); ao2_ref(listener, +1); pool->listener = listener; ast_threadpool_set_size(pool, initial_size); From 955307ef9f6eb1cb19e285229d72e8ee8b0d3146 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 10 Dec 2012 02:20:30 +0000 Subject: [PATCH 094/186] Merged revisions 377506,377512 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377506 | tilghman | 2012-12-09 19:29:32 -0600 (Sun, 09 Dec 2012) | 11 lines Remove some dead code and additionally handle a case that wasn't handled. ........ Merged revisions 377487 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377504 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377505 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377512 | tilghman | 2012-12-09 19:41:50 -0600 (Sun, 09 Dec 2012) | 22 lines Improve documentation by making all of the colors used readable, no matter what the background color is. Dark blue on a black background is unreadable, as is yellow on a light background. This patch turns on the bright attribute for colors when on a dark background and turns *off* the bright attribute when the -W command line option is used (indicating a _light_ background). This ensures that text is readable in both cases. Patch by: tilghman Review: https://reviewboard.asterisk.org/r/2224 ........ Merged revisions 377509 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377510 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377511 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377535 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- addons/cdr_mysql.c | 11 ++++++++--- main/xmldoc.c | 8 +++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c index 445f9e3d05..b87d8c6aa1 100644 --- a/addons/cdr_mysql.c +++ b/addons/cdr_mysql.c @@ -430,6 +430,9 @@ static int my_load_module(int reload) int res; struct ast_config *cfg; struct ast_variable *var; + /* CONFIG_STATUS_FILEUNCHANGED is impossible when config_flags is always 0, + * and it has to be zero, so a reload can be sent to tell the driver to + * rescan the table layout. */ struct ast_flags config_flags = { 0 }; struct column *entry; char *temp; @@ -445,11 +448,13 @@ static int my_load_module(int reload) * have changed, which is not detectable by config file change detection, * but should still cause the configuration to be re-parsed. */ cfg = ast_config_load(config, config_flags); - if (!cfg) { + if (cfg == CONFIG_STATUS_FILEMISSING) { ast_log(LOG_WARNING, "Unable to load config for mysql CDR's: %s\n", config); return AST_MODULE_LOAD_SUCCESS; - } else if (cfg == CONFIG_STATUS_FILEUNCHANGED) - return AST_MODULE_LOAD_SUCCESS; + } else if (cfg == CONFIG_STATUS_FILEINVALID) { + ast_log(LOG_ERROR, "Unable to load configuration file '%s'\n", config); + return AST_MODULE_LOAD_DECLINE; + } if (reload) { AST_RWLIST_WRLOCK(&columns); diff --git a/main/xmldoc.c b/main/xmldoc.c index 56f1c74f01..225ed66110 100644 --- a/main/xmldoc.c +++ b/main/xmldoc.c @@ -358,7 +358,13 @@ char *ast_xmldoc_printable(const char *bwinput, int withcolors) /* Setup color */ if (withcolors) { - ast_term_color_code(&colorized, colorized_tags[c].colorfg, 0); + if (ast_opt_light_background) { + /* Turn off *bright* colors */ + ast_term_color_code(&colorized, colorized_tags[c].colorfg & 0x7f, 0); + } else { + /* Turn on *bright* colors */ + ast_term_color_code(&colorized, colorized_tags[c].colorfg | 0x80, 0); + } if (!colorized) { return NULL; } From 03d617040a1749c8efb90cc7d125583256e8cbb9 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 04:08:29 +0000 Subject: [PATCH 095/186] Add safeguards to ensure we don't improperly access a destroyed taskprocessor. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377556 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index f1039f937f..8d60f878b0 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -93,6 +93,8 @@ struct ast_threadpool { * that the threadpool had its state change. */ struct ast_taskprocessor *control_tps; + /*! True if the threadpool is in the processof shutting down */ + int shutting_down; }; /*! @@ -266,7 +268,10 @@ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, */ static int threadpool_execute(struct ast_threadpool *pool) { - return ast_taskprocessor_execute(pool->tps); + if (!pool->shutting_down) { + return ast_taskprocessor_execute(pool->tps); + } + return 0; } /*! @@ -745,7 +750,10 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis int ast_threadpool_push(struct ast_threadpool *pool, int (*task)(void *data), void *data) { - return ast_taskprocessor_push(pool->tps, task, data); + if (!pool->shutting_down) { + return ast_taskprocessor_push(pool->tps, task, data); + } + return 0; } void ast_threadpool_shutdown(struct ast_threadpool *pool) @@ -753,6 +761,7 @@ void ast_threadpool_shutdown(struct ast_threadpool *pool) /* Shut down the taskprocessors and everything else just * takes care of itself via the taskprocessor callbacks */ + ast_atomic_fetchadd_int(&pool->shutting_down, +1); ast_taskprocessor_unreference(pool->control_tps); ast_taskprocessor_unreference(pool->tps); } From 5dd22df050264299b42160daeaa7701c81488ceb Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 05:25:38 +0000 Subject: [PATCH 096/186] Improve shutdown procedure. This helps tests to pass more often than before. They are far less likely to queue extra processes into the control taskprocessor since they are prevented once the threadpool begins to shut down. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377578 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 39 +++++++++++++++++++++++++++++++++++---- tests/test_threadpool.c | 1 + 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/main/threadpool.c b/main/threadpool.c index 8d60f878b0..45e8638057 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -214,7 +214,12 @@ static int queued_active_thread_idle(void *data) static void threadpool_active_thread_idle(struct ast_threadpool *pool, struct worker_thread *worker) { - struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); + struct thread_worker_pair *pair; + SCOPED_AO2LOCK(lock, pool); + if (pool->shutting_down) { + return; + } + pair = thread_worker_pair_alloc(pool, worker); if (!pair) { return; } @@ -249,7 +254,12 @@ static int queued_zombie_thread_dead(void *data) static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, struct worker_thread *worker) { - struct thread_worker_pair *pair = thread_worker_pair_alloc(pool, worker); + struct thread_worker_pair *pair; + SCOPED_AO2LOCK(lock, pool); + if (pool->shutting_down) { + return; + } + pair = thread_worker_pair_alloc(pool, worker); if (!pair) { return; } @@ -268,9 +278,12 @@ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, */ static int threadpool_execute(struct ast_threadpool *pool) { + ao2_lock(pool); if (!pool->shutting_down) { + ao2_unlock(pool); return ast_taskprocessor_execute(pool->tps); } + ao2_unlock(pool); return 0; } @@ -422,8 +435,13 @@ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listen int was_empty) { struct ast_threadpool *pool = listener->private_data; - struct task_pushed_data *tpd = task_pushed_data_alloc(pool, was_empty); + struct task_pushed_data *tpd; + SCOPED_AO2LOCK(lock, pool); + if (pool->shutting_down) { + return; + } + tpd = task_pushed_data_alloc(pool, was_empty); if (!tpd) { return; } @@ -456,6 +474,11 @@ static int handle_emptied(void *data) static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) { struct ast_threadpool *pool = listener->private_data; + SCOPED_AO2LOCK(lock, pool); + + if (pool->shutting_down) { + return; + } ast_taskprocessor_push(pool->control_tps, handle_emptied, pool); } @@ -690,6 +713,10 @@ static int queued_set_size(void *data) void ast_threadpool_set_size(struct ast_threadpool *pool, unsigned int size) { struct set_size_data *ssd; + SCOPED_AO2LOCK(lock, pool); + if (pool->shutting_down) { + return; + } ssd = set_size_data_alloc(pool, size); if (!ssd) { @@ -750,6 +777,7 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis int ast_threadpool_push(struct ast_threadpool *pool, int (*task)(void *data), void *data) { + SCOPED_AO2LOCK(lock, pool); if (!pool->shutting_down) { return ast_taskprocessor_push(pool->tps, task, data); } @@ -761,7 +789,9 @@ void ast_threadpool_shutdown(struct ast_threadpool *pool) /* Shut down the taskprocessors and everything else just * takes care of itself via the taskprocessor callbacks */ - ast_atomic_fetchadd_int(&pool->shutting_down, +1); + ao2_lock(pool); + pool->shutting_down = 1; + ao2_unlock(pool); ast_taskprocessor_unreference(pool->control_tps); ast_taskprocessor_unreference(pool->tps); } @@ -834,6 +864,7 @@ static void worker_shutdown(struct worker_thread *worker) static void worker_thread_destroy(void *obj) { struct worker_thread *worker = obj; + ast_log(LOG_NOTICE, "Worker dying\n"); worker_shutdown(worker); ast_mutex_destroy(&worker->lock); ast_cond_destroy(&worker->cond); diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index af2c0ff449..373d0c0283 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -69,6 +69,7 @@ static void test_state_changed(struct ast_threadpool *pool, SCOPED_MUTEX(lock, &tld->lock); tld->num_active = active_threads; tld->num_idle = idle_threads; + ast_log(LOG_NOTICE, "Thread state: %d active, %d idle\n", tld->num_active, tld->num_idle); ast_cond_signal(&tld->cond); } From 64deed062a6c79124dbc3b5d09c770a7a3f20f1c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 06:13:09 +0000 Subject: [PATCH 097/186] Add threadpool options and accompanying test. The only test added so far is an idle thread timeout option. This will greatly aid threadpool users who wish to maintain a threadpool by allowing for idle threads to die out as necessary. Test passes. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377580 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 15 ++++- main/threadpool.c | 59 +++++++++++++++++- tests/test_threadpool.c | 112 +++++++++++++++++++++++++++++++--- 3 files changed, 173 insertions(+), 13 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 6bb0dcc4f3..3f3634129e 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -82,6 +82,18 @@ struct ast_threadpool_listener { void *private_data; }; +struct ast_threadpool_options { +#define AST_THREADPOOL_OPTIONS_VERSION 1 + /*! Version of thradpool options in use */ + int version; + /* ! + * \brief Time limit in seconds for idle threads + * + * A time of 0 or less will mean an infinite timeout. + */ + int idle_timeout; +}; + /*! * \brief Allocate a threadpool listener * @@ -106,7 +118,8 @@ struct ast_threadpool_listener *ast_threadpool_listener_alloc( * \retval NULL Failed to create the threadpool * \retval non-NULL The newly-created threadpool */ -struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size); +struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, + int initial_size, const struct ast_threadpool_options *options); /*! * \brief Set the number of threads for the thread pool diff --git a/main/threadpool.c b/main/threadpool.c index 45e8638057..18c1349ae5 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -95,6 +95,8 @@ struct ast_threadpool { struct ast_taskprocessor *control_tps; /*! True if the threadpool is in the processof shutting down */ int shutting_down; + /*! Threadpool-specific options */ + struct ast_threadpool_options options; }; /*! @@ -266,6 +268,32 @@ static void threadpool_zombie_thread_dead(struct ast_threadpool *pool, ast_taskprocessor_push(pool->control_tps, queued_zombie_thread_dead, pair); } +static int queued_idle_thread_dead(void *data) +{ + struct thread_worker_pair *pair = data; + + ao2_unlink(pair->pool->idle_threads, pair->worker); + threadpool_send_state_changed(pair->pool); + + ao2_ref(pair, -1); + return 0; +} + +static void threadpool_idle_thread_dead(struct ast_threadpool *pool, + struct worker_thread *worker) +{ + struct thread_worker_pair *pair; + SCOPED_AO2LOCK(lock, pool); + if (pool->shutting_down) { + return; + } + pair = thread_worker_pair_alloc(pool, worker); + if (!pair) { + return; + } + ast_taskprocessor_push(pool->control_tps, queued_idle_thread_dead, pair); +} + /*! * \brief Execute a task in the threadpool * @@ -749,7 +777,13 @@ struct ast_threadpool_listener *ast_threadpool_listener_alloc( return listener; } -struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, int initial_size) +struct pool_options_pair { + struct ast_threadpool *pool; + struct ast_threadpool_options options; +}; + +struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, + int initial_size, const struct ast_threadpool_options *options) { struct ast_threadpool *pool; struct ast_taskprocessor *tps; @@ -771,6 +805,7 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis pool->tps = tps; ao2_ref(listener, +1); pool->listener = listener; + pool->options = *options; ast_threadpool_set_size(pool, initial_size); return pool; } @@ -814,6 +849,8 @@ struct worker_thread { enum worker_state state; /*! A boolean used to determine if an idle thread should become active */ int wake_up; + /*! Options for this threadpool */ + struct ast_threadpool_options options; }; /*! @@ -864,7 +901,7 @@ static void worker_shutdown(struct worker_thread *worker) static void worker_thread_destroy(void *obj) { struct worker_thread *worker = obj; - ast_log(LOG_NOTICE, "Worker dying\n"); + ast_debug(1, "Destroying worker thread\n"); worker_shutdown(worker); ast_mutex_destroy(&worker->lock); ast_cond_destroy(&worker->cond); @@ -909,6 +946,7 @@ static struct worker_thread *worker_thread_alloc(struct ast_threadpool *pool) worker->pool = pool; worker->thread = AST_PTHREADT_NULL; worker->state = ALIVE; + worker->options = pool->options; if (ast_pthread_create(&worker->thread, NULL, worker_start, worker) < 0) { ast_log(LOG_ERROR, "Unable to start worker thread!\n"); ao2_ref(worker, -1); @@ -961,13 +999,28 @@ static void worker_active(struct worker_thread *worker) */ static int worker_idle(struct worker_thread *worker) { + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + worker->options.idle_timeout, + .tv_nsec = start.tv_usec * 1000, + }; SCOPED_MUTEX(lock, &worker->lock); if (worker->state != ALIVE) { return 0; } threadpool_active_thread_idle(worker->pool, worker); while (!worker->wake_up) { - ast_cond_wait(&worker->cond, lock); + if (worker->options.idle_timeout <= 0) { + ast_cond_wait(&worker->cond, lock); + } else if (ast_cond_timedwait(&worker->cond, lock, &end) == ETIMEDOUT) { + break; + } + } + + if (!worker->wake_up) { + ast_debug(1, "Worker thread idle timeout reached. Dying.\n"); + threadpool_idle_thread_dead(worker->pool, worker); + worker->state = DEAD; } worker->wake_up = 0; return worker->state == ALIVE; diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 373d0c0283..5de5168394 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -257,6 +257,10 @@ AST_TEST_DEFINE(threadpool_push) struct ast_threadpool_listener *listener = NULL; struct simple_task_data *std = NULL; enum ast_test_result_state res = AST_TEST_FAIL; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -275,7 +279,7 @@ AST_TEST_DEFINE(threadpool_push) return AST_TEST_FAIL; } - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -306,6 +310,10 @@ AST_TEST_DEFINE(threadpool_thread_creation) struct ast_threadpool_listener *listener = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -325,7 +333,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -353,6 +361,10 @@ AST_TEST_DEFINE(threadpool_thread_destruction) struct ast_threadpool_listener *listener = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -372,7 +384,7 @@ AST_TEST_DEFINE(threadpool_thread_destruction) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -400,6 +412,62 @@ end: return res; } +AST_TEST_DEFINE(threadpool_thread_timeout) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 5, + }; + + switch (cmd) { + case TEST_INIT: + info->name = "threadpool_thread_timeout"; + info->category = "/main/threadpool/"; + info->summary = "Test threadpool thread timeout"; + info->description = + "Ensure that a thread with a five second timeout dies as expected."; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(listener, 0, &options); + if (!pool) { + goto end; + } + + ast_threadpool_set_size(pool, 1); + + WAIT_WHILE(tld, tld->num_idle < 1); + + res = listener_check(test, listener, 0, 0, 0, 0, 1, 0); + if (res == AST_TEST_FAIL) { + goto end; + } + + /* The thread should time out after 5 seconds */ + WAIT_WHILE(tld, tld->num_idle > 0); + + res = listener_check(test, listener, 0, 0, 0, 0, 0, 0); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + return res; +} + AST_TEST_DEFINE(threadpool_one_task_one_thread) { struct ast_threadpool *pool = NULL; @@ -407,6 +475,10 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) struct simple_task_data *std = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -426,7 +498,7 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -476,6 +548,10 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) struct simple_task_data *std = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -495,7 +571,7 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -545,6 +621,10 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) struct simple_task_data *std3 = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -564,7 +644,7 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -626,6 +706,10 @@ AST_TEST_DEFINE(threadpool_reactivation) struct simple_task_data *std2 = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -647,7 +731,7 @@ AST_TEST_DEFINE(threadpool_reactivation) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -773,6 +857,10 @@ AST_TEST_DEFINE(threadpool_task_distribution) struct complex_task_data *ctd2 = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -793,7 +881,7 @@ AST_TEST_DEFINE(threadpool_task_distribution) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -851,6 +939,10 @@ AST_TEST_DEFINE(threadpool_more_destruction) struct complex_task_data *ctd2 = NULL; enum ast_test_result_state res = AST_TEST_FAIL; struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + }; switch (cmd) { case TEST_INIT: @@ -873,7 +965,7 @@ AST_TEST_DEFINE(threadpool_more_destruction) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0); + pool = ast_threadpool_create(listener, 0, &options); if (!pool) { goto end; } @@ -940,6 +1032,7 @@ static int unload_module(void) ast_test_unregister(threadpool_push); ast_test_unregister(threadpool_thread_creation); ast_test_unregister(threadpool_thread_destruction); + ast_test_unregister(threadpool_thread_timeout); ast_test_unregister(threadpool_one_task_one_thread); ast_test_unregister(threadpool_one_thread_one_task); ast_test_unregister(threadpool_one_thread_multiple_tasks); @@ -954,6 +1047,7 @@ static int load_module(void) ast_test_register(threadpool_push); ast_test_register(threadpool_thread_creation); ast_test_register(threadpool_thread_destruction); + ast_test_register(threadpool_thread_timeout); ast_test_register(threadpool_one_task_one_thread); ast_test_register(threadpool_one_thread_one_task); ast_test_register(threadpool_one_thread_multiple_tasks); From db0e7049ac1b9ff08c2d7ba03fef7ea0f4ca5921 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 10 Dec 2012 06:19:08 +0000 Subject: [PATCH 098/186] Merged revisions 377579 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377579 | igorg | 2012-12-09 23:29:04 -0600 (Sun, 09 Dec 2012) | 7 lines Remove trailing whitespaces in number from incoming redial list. Reported by: Igor Olhovskiy ........ Merged revisions 377577 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377585 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_unistim.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 21805a26c0..2179cb65ee 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -3859,6 +3859,7 @@ static void show_entry_history(struct unistimsession *pte, FILE ** f) char line[TEXT_LENGTH_MAX + 1], status[STATUS_LENGTH_MAX + 1], func1[10], func2[10], func3[10]; + /* Display date/time and call status */ if (fread(line, TEXT_LENGTH_MAX, 1, *f) != 1) { display_last_error("Can't read history date entry"); fclose(*f); @@ -3872,6 +3873,7 @@ static void show_entry_history(struct unistimsession *pte, FILE ** f) } else { send_text(TEXT_LINE0, TEXT_NORMAL, pte, line); } + /* Display number */ if (fread(line, TEXT_LENGTH_MAX, 1, *f) != 1) { display_last_error("Can't read callerid entry"); fclose(*f); @@ -3879,6 +3881,7 @@ static void show_entry_history(struct unistimsession *pte, FILE ** f) } line[sizeof(line) - 1] = '\0'; ast_copy_string(pte->device->lst_cid, line, sizeof(pte->device->lst_cid)); + ast_trim_blanks(pte->device->lst_cid); if (pte->device->height == 1) { if (pte->buff_entry[3] == 2) { send_text(TEXT_LINE0, TEXT_NORMAL, pte, line); @@ -3886,6 +3889,7 @@ static void show_entry_history(struct unistimsession *pte, FILE ** f) } else { send_text(TEXT_LINE1, TEXT_NORMAL, pte, line); } + /* Display name */ if (fread(line, TEXT_LENGTH_MAX, 1, *f) != 1) { display_last_error("Can't read callername entry"); fclose(*f); From 58f0ade4db08772c01eb83571c42327eab261b29 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 10 Dec 2012 07:19:34 +0000 Subject: [PATCH 099/186] Merged revisions 377594-377595 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377594 | igorg | 2012-12-10 00:56:04 -0600 (Mon, 10 Dec 2012) | 15 lines Fix codec mismatch Fix code to send in both rx and tx open stream messages correct codecs. Found that on phase 0/1 phones wrong codecs cause to no audio in some situations. (issue ASTERISK-20183) ........ Merged revisions 377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377592 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377593 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377595 | igorg | 2012-12-10 01:03:48 -0600 (Mon, 10 Dec 2012) | 3 lines Add firmware information to CLI devices listing ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377602 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_unistim.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 2179cb65ee..80dad41c6b 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -446,6 +446,7 @@ static struct unistimsession { int size_buff_entry; /*!< size of the buffer used to enter datas */ char buff_entry[16]; /*!< Buffer for temporary datas */ char macaddr[18]; /*!< mac adress of the phone (not always available) */ + char firmware[8]; /*!< firmware of the phone (not always available) */ struct wsabuf wsabufsend[MAX_BUF_NUMBER]; /*!< Size of each paquet stored in the buffer array & pointer to this buffer */ unsigned char buf[MAX_BUF_NUMBER][MAX_BUF_SIZE]; /*!< Buffer array used to keep the lastest non-acked paquets */ struct unistim_device *device; @@ -2666,9 +2667,9 @@ static void send_start_rtp(struct unistim_subchannel *sub) buffsend[16] = (htons(sin.sin_port) & 0x00ff); buffsend[20] = (us.sin_port & 0xff00) >> 8; buffsend[19] = (us.sin_port & 0x00ff); - buffsend[11] = codec; } - buffsend[12] = codec; + buffsend[11] = codec; /* rx */ + buffsend[12] = codec; /* tx */ send_client(SIZE_HEADER + sizeof(packet_send_open_audio_stream_tx), buffsend, pte); if (unistimdebug) { @@ -2697,9 +2698,9 @@ static void send_start_rtp(struct unistim_subchannel *sub) buffsend[16] = (htons(sin.sin_port) & 0x00ff); buffsend[20] = (us.sin_port & 0xff00) >> 8; buffsend[19] = (us.sin_port & 0x00ff); - buffsend[12] = codec; } - buffsend[11] = codec; + buffsend[11] = codec; /* rx */ + buffsend[12] = codec; /* tx */ send_client(SIZE_HEADER + sizeof(packet_send_open_audio_stream_rx), buffsend, pte); } else { uint16_t rtcpsin_port = htons(us.sin_port) + 1; /* RTCP port is RTP + 1 */ @@ -4320,6 +4321,7 @@ static void process_request(int size, unsigned char *buf, struct unistimsession if (unistimdebug) { ast_verb(0, "Got the firmware version : '%s'\n", buf + 13); } + ast_copy_string(pte->firmware, (char *) (buf + 13), sizeof(pte->firmware)); init_phone_step2(pte); return; } @@ -5932,12 +5934,13 @@ static char *unistim_show_devices(struct ast_cli_entry *e, int cmd, struct ast_c if (a->argc != e->args) return CLI_SHOWUSAGE; - ast_cli(a->fd, "%-20.20s %-20.20s %-15.15s %s\n", "Name/username", "MAC", "Host", "Status"); + ast_cli(a->fd, "%-20.20s %-20.20s %-15.15s %-15.15s %s\n", "Name/username", "MAC", "Host", "Firmware", "Status"); ast_mutex_lock(&devicelock); while (device) { - ast_cli(a->fd, "%-20.20s %-20.20s %-15.15s %s\n", + ast_cli(a->fd, "%-20.20s %-20.20s %-15.15s %-15.15s %s\n", device->name, device->id, (!device->session) ? "(Unspecified)" : ast_inet_ntoa(device->session->sin.sin_addr), + (!device->session) ? "(Unspecified)" : device->session->firmware, (!device->session) ? "UNKNOWN" : "OK"); device = device->next; } From 81afbcca2ca7977bc3d64e0a1338011804e175dc Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 10 Dec 2012 15:21:05 +0000 Subject: [PATCH 100/186] Merged revisions 377626 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377626 | kmoore | 2012-12-10 08:45:52 -0600 (Mon, 10 Dec 2012) | 20 lines Handle Session-Expires less than local Min-SE in 200 OK Ensure that a call is immediately torn down if a Session-Expires value received in a 200 OK is less than the local Min-SE. This also prevents Asterisk from allowing calls with Session-Expires below the RFC4028-mandated minimum (90s). (closes issue ASTERISK-20653) Review: https://reviewboard.asterisk.org/r/2237/ Patch-by: Kinsey Moore ........ Merged revisions 377623 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377624 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377625 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377633 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index cabc2d14d6..fa70dc807c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -22784,6 +22784,9 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest rtn = parse_session_expires(p_hdrval, &tmp_st_interval, &st_ref_param); if (rtn != 0) { ast_set_flag(&p->flags[0], SIP_PENDINGBYE); + } else if (tmp_st_interval < st_get_se(p, FALSE)) { + ast_log(LOG_WARNING, "Got Session-Expires less than local Min-SE in 200 OK, tearing down call\n"); + ast_set_flag(&p->flags[0], SIP_PENDINGBYE); } if (st_ref_param == SESSION_TIMER_REFRESHER_PARAM_UAC) { p->stimer->st_ref = SESSION_TIMER_REFRESHER_US; From 957cb0742b8fff0be33b5b4035f9df81a2636bd6 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 15:55:56 +0000 Subject: [PATCH 101/186] Improve timedwaits in tests to actually behave like they should. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377654 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 5de5168394..8e8342d1fc 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -157,7 +157,9 @@ static void wait_for_task_pushed(struct ast_threadpool_listener *listener) SCOPED_MUTEX(lock, &tld->lock); while (!tld->task_pushed) { - ast_cond_timedwait(&tld->cond, lock, &end); + if (ast_cond_timedwait(&tld->cond, lock, &end) == ETIMEDOUT) { + break; + } } } @@ -172,7 +174,9 @@ static enum ast_test_result_state wait_for_completion(struct ast_test *test, str SCOPED_MUTEX(lock, &std->lock); while (!std->task_executed) { - ast_cond_timedwait(&std->cond, lock, &end); + if (ast_cond_timedwait(&std->cond, lock, &end) == ETIMEDOUT) { + break; + } } if (!std->task_executed) { @@ -193,7 +197,9 @@ static enum ast_test_result_state wait_for_empty_notice(struct ast_test *test, s SCOPED_MUTEX(lock, &tld->lock); while (!tld->empty_notice) { - ast_cond_timedwait(&tld->cond, lock, &end); + if (ast_cond_timedwait(&tld->cond, lock, &end) == ETIMEDOUT) { + break; + } } if (!tld->empty_notice) { @@ -840,7 +846,9 @@ static enum ast_test_result_state wait_for_complex_completion(struct complex_tas SCOPED_MUTEX(lock, &ctd->lock); while (!ctd->task_executed) { - ast_cond_timedwait(&ctd->done_cond, lock, &end); + if (ast_cond_timedwait(&ctd->done_cond, lock, &end) == ETIMEDOUT) { + break; + } } if (!ctd->task_executed) { From 66c60e55238b3a1a96efb573fc51278ca328c7a8 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 10 Dec 2012 17:19:37 +0000 Subject: [PATCH 102/186] Merged revisions 377658 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377658 | kmoore | 2012-12-10 10:56:37 -0600 (Mon, 10 Dec 2012) | 20 lines Ensure ReceiveFax provides a CED tone via T.38 When using res_fax_digium, the T.38 CED tone was not being provided properly which would cause some incoming faxes to fail. This was not an issue with res_fax_spandsp since it does not strictly honor the send_ced flag and sends the CED tone whenever receiving a T.38 fax. (closes issue FAX-343) Reported-by: Benjamin Tietz Patch-by: Kinsey Moore ........ Merged revisions 377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377656 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377657 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377665 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_fax.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/res/res_fax.c b/res/res_fax.c index 5ed7107d2a..9afad4a19c 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -1871,6 +1871,7 @@ static int receivefax_exec(struct ast_channel *chan, const char *data) ast_verb(3, "Channel '%s' receiving FAX '%s'\n", ast_channel_name(chan), args.filename); details->caps = AST_FAX_TECH_RECEIVE; + details->option.send_ced = AST_FAX_OPTFLAG_TRUE; /* check for debug */ if (ast_test_flag(&opts, OPT_DEBUG) || global_fax_debug) { @@ -1935,8 +1936,6 @@ static int receivefax_exec(struct ast_channel *chan, const char *data) ast_log(LOG_ERROR, "error initializing channel '%s' in T.38 mode\n", ast_channel_name(chan)); return -1; } - } else { - details->option.send_ced = 1; } if ((channel_alive = generic_fax_exec(chan, details, s, token)) < 0) { From 90d76a50263a6ff509d2b26c9953c2d700854a9b Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 19:32:50 +0000 Subject: [PATCH 103/186] Make thread state waiting a little less ugly and not possible to lock up. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377686 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- tests/test_threadpool.c | 124 +++++++++++++++++++++++++++++----------- 1 file changed, 92 insertions(+), 32 deletions(-) diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 8e8342d1fc..23fee0fda4 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -137,14 +137,31 @@ static int simple_task(void *data) return 0; } -#define WAIT_WHILE(tld, condition) \ -{\ - ast_mutex_lock(&tld->lock);\ - while ((condition)) {\ - ast_cond_wait(&tld->cond, &tld->lock);\ - }\ - ast_mutex_unlock(&tld->lock);\ -}\ +static enum ast_test_result_state wait_until_thread_state(struct ast_test *test, struct test_listener_data *tld, int num_active, int num_idle) +{ + struct timeval start = ast_tvnow(); + struct timespec end = { + .tv_sec = start.tv_sec + 5, + .tv_nsec = start.tv_usec * 1000 + }; + enum ast_test_result_state res = AST_TEST_PASS; + SCOPED_MUTEX(lock, &tld->lock); + + while (!(tld->num_active == num_active && tld->num_idle == num_idle)) { + if (ast_cond_timedwait(&tld->cond, &tld->lock, &end) == ETIMEDOUT) { + break; + } + } + + if (tld->num_active != num_active && tld->num_idle != num_idle) { + ast_test_status_update(test, "Number of active threads and idle threads not what was expected.\n"); + ast_test_status_update(test, "Expected %d active threads but got %d\n", num_active, tld->num_active); + ast_test_status_update(test, "Expected %d idle threads but got %d\n", num_idle, tld->num_idle); + res = AST_TEST_FAIL; + } + + return res; +} static void wait_for_task_pushed(struct ast_threadpool_listener *listener) { @@ -349,9 +366,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) */ ast_threadpool_set_size(pool, 1); - WAIT_WHILE(tld, tld->num_idle == 0); - - res = listener_check(test, listener, 0, 0, 0, 0, 1, 0); + res = wait_until_thread_state(test, tld, 0, 1); end: if (pool) { @@ -397,7 +412,10 @@ AST_TEST_DEFINE(threadpool_thread_destruction) ast_threadpool_set_size(pool, 3); - WAIT_WHILE(tld, tld->num_idle < 3); + res = wait_until_thread_state(test, tld, 0, 3); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 0, 0, 0, 0, 3, 0); if (res == AST_TEST_FAIL) { @@ -406,9 +424,7 @@ AST_TEST_DEFINE(threadpool_thread_destruction) ast_threadpool_set_size(pool, 2); - WAIT_WHILE(tld, tld->num_idle > 2); - - res = listener_check(test, listener, 0, 0, 0, 0, 2, 0); + res = wait_until_thread_state(test, tld, 0, 2); end: if (pool) { @@ -426,7 +442,7 @@ AST_TEST_DEFINE(threadpool_thread_timeout) struct test_listener_data *tld; struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, - .idle_timeout = 5, + .idle_timeout = 2, }; switch (cmd) { @@ -435,7 +451,7 @@ AST_TEST_DEFINE(threadpool_thread_timeout) info->category = "/main/threadpool/"; info->summary = "Test threadpool thread timeout"; info->description = - "Ensure that a thread with a five second timeout dies as expected."; + "Ensure that a thread with a two second timeout dies as expected."; return AST_TEST_NOT_RUN; case TEST_EXECUTE: break; @@ -454,15 +470,20 @@ AST_TEST_DEFINE(threadpool_thread_timeout) ast_threadpool_set_size(pool, 1); - WAIT_WHILE(tld, tld->num_idle < 1); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 0, 0, 0, 0, 1, 0); if (res == AST_TEST_FAIL) { goto end; } - /* The thread should time out after 5 seconds */ - WAIT_WHILE(tld, tld->num_idle > 0); + res = wait_until_thread_state(test, tld, 0, 0); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 0, 0, 0, 0, 0, 0); @@ -533,7 +554,10 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) } /* After completing the task, the thread should go idle */ - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); @@ -589,7 +613,10 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) ast_threadpool_set_size(pool, 1); - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } ast_threadpool_push(pool, simple_task, std); @@ -604,7 +631,10 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) } /* After completing the task, the thread should go idle */ - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); @@ -664,7 +694,10 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) ast_threadpool_set_size(pool, 1); - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } ast_threadpool_push(pool, simple_task, std1); ast_threadpool_push(pool, simple_task, std2); @@ -688,7 +721,10 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) goto end; } - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 3, 0, 1, 1); @@ -762,9 +798,15 @@ AST_TEST_DEFINE(threadpool_reactivation) goto end; } - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 1, 1, 0, 1, 1); + if (res == AST_TEST_FAIL) { + goto end; + } /* Now make sure the threadpool reactivates when we add a second task */ ast_threadpool_push(pool, simple_task, std2); @@ -779,7 +821,10 @@ AST_TEST_DEFINE(threadpool_reactivation) goto end; } - WAIT_WHILE(tld, tld->num_idle == 0); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 1, 2, 0, 1, 1); @@ -905,7 +950,10 @@ AST_TEST_DEFINE(threadpool_task_distribution) ast_threadpool_set_size(pool, 2); - WAIT_WHILE(tld, tld->num_active < 2); + res = wait_until_thread_state(test, tld, 2, 0); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 2, 2, 0, 0); if (res == AST_TEST_FAIL) { @@ -925,7 +973,10 @@ AST_TEST_DEFINE(threadpool_task_distribution) goto end; } - WAIT_WHILE(tld, tld->num_idle < 2); + res = wait_until_thread_state(test, tld, 0, 2); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 2, 0, 2, 1); @@ -989,7 +1040,10 @@ AST_TEST_DEFINE(threadpool_more_destruction) ast_threadpool_set_size(pool, 4); - WAIT_WHILE(tld, tld->num_idle < 2); + res = wait_until_thread_state(test, tld, 2, 2); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 2, 2, 2, 0); if (res == AST_TEST_FAIL) { @@ -1001,7 +1055,10 @@ AST_TEST_DEFINE(threadpool_more_destruction) /* Shrinking the threadpool should kill off the two idle threads * and one of the active threads. */ - WAIT_WHILE(tld, tld->num_idle > 0 || tld->num_active > 1); + res = wait_until_thread_state(test, tld, 1, 0); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 2, 1, 0, 0); if (res == AST_TEST_FAIL) { @@ -1021,7 +1078,10 @@ AST_TEST_DEFINE(threadpool_more_destruction) goto end; } - WAIT_WHILE(tld, tld->num_idle < 1); + res = wait_until_thread_state(test, tld, 0, 1); + if (res == AST_TEST_FAIL) { + goto end; + } res = listener_check(test, listener, 1, 0, 2, 0, 1, 1); From 1310e659bd0b4b0ce8210b5b1318ae71d86b85e2 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Mon, 10 Dec 2012 20:14:23 +0000 Subject: [PATCH 104/186] Solve the issue about the "CHANGE THIS" and "XXX CHANGE THIS XXX" taskprocessor names. Unfortunately, this required a taskprocessor listener change that makes listener allocation utterly silly. I'm going to change the scheme so that allocation of taskprocessor listeners is done internally within taskprocessor code. This will make it parallel with threadpool code, which is a good thing. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377687 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 4 +++- main/taskprocessor.c | 9 ++++---- main/threadpool.c | 14 +++++++++--- tests/test_threadpool.c | 40 +++++++++++++++++------------------ 4 files changed, 39 insertions(+), 28 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 3f3634129e..9834d91805 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -113,12 +113,14 @@ struct ast_threadpool_listener *ast_threadpool_listener_alloc( * This function creates a threadpool. Tasks may be pushed onto this thread pool * in and will be automatically acted upon by threads within the pool. * + * \param name The name for the threadpool * \param listener The listener the threadpool will notify of changes * \param initial_size The number of threads for the pool to start with * \retval NULL Failed to create the threadpool * \retval non-NULL The newly-created threadpool */ -struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, +struct ast_threadpool *ast_threadpool_create(const char *name, + struct ast_threadpool_listener *listener, int initial_size, const struct ast_threadpool_options *options); /*! diff --git a/main/taskprocessor.c b/main/taskprocessor.c index fc183b4096..a1e54a3b4e 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -485,10 +485,6 @@ struct ast_taskprocessor_listener *ast_taskprocessor_listener_alloc(const struct return NULL; } listener->callbacks = callbacks; - listener->private_data = listener->callbacks->alloc(listener); - if (!listener->private_data) { - return NULL; - } ao2_ref(listener, +1); return listener; @@ -559,6 +555,11 @@ struct ast_taskprocessor *ast_taskprocessor_create_with_listener(const char *nam ao2_ref(p, +1); listener->tps = p; + listener->private_data = listener->callbacks->alloc(listener); + if (!listener->private_data) { + return NULL; + } + if (!(ao2_link(tps_singletons, p))) { ast_log(LOG_ERROR, "Failed to add taskprocessor '%s' to container\n", p->name); return NULL; diff --git a/main/threadpool.c b/main/threadpool.c index 18c1349ae5..ee60dc7e30 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -349,8 +349,15 @@ static void *threadpool_alloc(struct ast_taskprocessor_listener *listener) { RAII_VAR(struct ast_threadpool *, pool, ao2_alloc(sizeof(*pool), threadpool_destructor), ao2_cleanup); + struct ast_str *name = ast_str_create(64); - pool->control_tps = ast_taskprocessor_get("CHANGE THIS", TPS_REF_DEFAULT); + if (!name) { + return NULL; + } + + ast_str_set(&name, 0, "%s-control", ast_taskprocessor_name(listener->tps)); + + pool->control_tps = ast_taskprocessor_get(ast_str_buffer(name), TPS_REF_DEFAULT); if (!pool->control_tps) { return NULL; } @@ -782,7 +789,8 @@ struct pool_options_pair { struct ast_threadpool_options options; }; -struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *listener, +struct ast_threadpool *ast_threadpool_create(const char *name, + struct ast_threadpool_listener *listener, int initial_size, const struct ast_threadpool_options *options) { struct ast_threadpool *pool; @@ -795,7 +803,7 @@ struct ast_threadpool *ast_threadpool_create(struct ast_threadpool_listener *lis return NULL; } - tps = ast_taskprocessor_create_with_listener("XXX CHANGE THIS XXX", tps_listener); + tps = ast_taskprocessor_create_with_listener(name, tps_listener); if (!tps) { return NULL; diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 23fee0fda4..4fe63e2229 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -287,7 +287,7 @@ AST_TEST_DEFINE(threadpool_push) switch (cmd) { case TEST_INIT: - info->name = "threadpool_push"; + info->name = "push"; info->category = "/main/threadpool/"; info->summary = "Test task"; info->description = @@ -302,7 +302,7 @@ AST_TEST_DEFINE(threadpool_push) return AST_TEST_FAIL; } - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -340,7 +340,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) switch (cmd) { case TEST_INIT: - info->name = "threadpool_thread_creation"; + info->name = "thread_creation"; info->category = "/main/threadpool/"; info->summary = "Test threadpool thread creation"; info->description = @@ -356,7 +356,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -389,7 +389,7 @@ AST_TEST_DEFINE(threadpool_thread_destruction) switch (cmd) { case TEST_INIT: - info->name = "threadpool_thread_destruction"; + info->name = "thread_destruction"; info->category = "/main/threadpool/"; info->summary = "Test threadpool thread destruction"; info->description = @@ -405,7 +405,7 @@ AST_TEST_DEFINE(threadpool_thread_destruction) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -447,7 +447,7 @@ AST_TEST_DEFINE(threadpool_thread_timeout) switch (cmd) { case TEST_INIT: - info->name = "threadpool_thread_timeout"; + info->name = "thread_timeout"; info->category = "/main/threadpool/"; info->summary = "Test threadpool thread timeout"; info->description = @@ -463,7 +463,7 @@ AST_TEST_DEFINE(threadpool_thread_timeout) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -509,7 +509,7 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) switch (cmd) { case TEST_INIT: - info->name = "threadpool_one_task_one_thread"; + info->name = "one_task_one_thread"; info->category = "/main/threadpool/"; info->summary = "Test a single task with a single thread"; info->description = @@ -525,7 +525,7 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -585,7 +585,7 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) switch (cmd) { case TEST_INIT: - info->name = "threadpool_one_thread_one_task"; + info->name = "one_thread_one_task"; info->category = "/main/threadpool/"; info->summary = "Test a single thread with a single task"; info->description = @@ -601,7 +601,7 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -664,7 +664,7 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) switch (cmd) { case TEST_INIT: - info->name = "threadpool_one_thread_multiple_tasks"; + info->name = "one_thread_multiple_tasks"; info->category = "/main/threadpool/"; info->summary = "Test a single thread with multiple tasks"; info->description = @@ -680,7 +680,7 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -755,7 +755,7 @@ AST_TEST_DEFINE(threadpool_reactivation) switch (cmd) { case TEST_INIT: - info->name = "threadpool_reactivation"; + info->name = "reactivation"; info->category = "/main/threadpool/"; info->summary = "Test that a threadpool reactivates when work is added"; info->description = @@ -773,7 +773,7 @@ AST_TEST_DEFINE(threadpool_reactivation) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -917,7 +917,7 @@ AST_TEST_DEFINE(threadpool_task_distribution) switch (cmd) { case TEST_INIT: - info->name = "threadpool_task_distribution"; + info->name = "task_distribution"; info->category = "/main/threadpool/"; info->summary = "Test that tasks are evenly distributed to threads"; info->description = @@ -934,7 +934,7 @@ AST_TEST_DEFINE(threadpool_task_distribution) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } @@ -1005,7 +1005,7 @@ AST_TEST_DEFINE(threadpool_more_destruction) switch (cmd) { case TEST_INIT: - info->name = "threadpool_more_destruction"; + info->name = "more_destruction"; info->category = "/main/threadpool/"; info->summary = "Test that threads are destroyed as expected"; info->description = @@ -1024,7 +1024,7 @@ AST_TEST_DEFINE(threadpool_more_destruction) } tld = listener->private_data; - pool = ast_threadpool_create(listener, 0, &options); + pool = ast_threadpool_create(info->name, listener, 0, &options); if (!pool) { goto end; } From 56a9f5b6cb5500cea90ea97c39c5a499e6ebd6d7 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 01:19:39 +0000 Subject: [PATCH 105/186] Merged revisions 377707,377711 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377707 | rmudgett | 2012-12-10 18:37:01 -0600 (Mon, 10 Dec 2012) | 20 lines Cleanup dnsmgr on exit. * Cleanup dnsmgr thread and CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: dnsmgr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell dnsmgr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377704 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377705 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377706 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r377711 | rmudgett | 2012-12-10 19:04:50 -0600 (Mon, 10 Dec 2012) | 19 lines Cleanup event on exit. * Cleanup CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: event_shutdown-10-only.patch (license #5909) patch uploaded by Corey Farrell event_shutdown-1_8-11-trunk.patch (license #5909) patch uploaded by Corey Farrell ........ Merged revisions 377708 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377709 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377710 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377719 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/dnsmgr.c | 23 +++++++++++++++++++++++ main/event.c | 2 ++ 2 files changed, 25 insertions(+) diff --git a/main/dnsmgr.c b/main/dnsmgr.c index 1a5fd154e2..bfba4714d9 100644 --- a/main/dnsmgr.c +++ b/main/dnsmgr.c @@ -408,6 +408,26 @@ static struct ast_cli_entry cli_reload = AST_CLI_DEFINE(handle_cli_reload, "Relo static struct ast_cli_entry cli_refresh = AST_CLI_DEFINE(handle_cli_refresh, "Performs an immediate refresh"); static struct ast_cli_entry cli_status = AST_CLI_DEFINE(handle_cli_status, "Display the DNS manager status"); +static void dnsmgr_shutdown(void) +{ + ast_cli_unregister(&cli_reload); + ast_cli_unregister(&cli_status); + ast_cli_unregister(&cli_refresh); + + /* Destroy refresh thread. */ + ast_mutex_lock(&refresh_lock); + if (refresh_thread != AST_PTHREADT_NULL) { + /* wake up the thread so it will exit */ + pthread_cancel(refresh_thread); + pthread_kill(refresh_thread, SIGURG); + pthread_join(refresh_thread, NULL); + refresh_thread = AST_PTHREADT_NULL; + } + ast_mutex_unlock(&refresh_lock); + + ast_sched_context_destroy(sched); +} + int dnsmgr_init(void) { if (!(sched = ast_sched_context_create())) { @@ -417,6 +437,9 @@ int dnsmgr_init(void) ast_cli_register(&cli_reload); ast_cli_register(&cli_status); ast_cli_register(&cli_refresh); + + ast_register_atexit(dnsmgr_shutdown); + return do_reload(1); } diff --git a/main/event.c b/main/event.c index 4c231fe91f..2c4670b52e 100644 --- a/main/event.c +++ b/main/event.c @@ -1817,6 +1817,8 @@ static void event_shutdown(void) struct ast_event_sub *sub; int i; + ast_cli_unregister_multiple(event_cli, ARRAY_LEN(event_cli)); + if (event_dispatcher) { event_dispatcher = ast_taskprocessor_unreference(event_dispatcher); } From 4abf332cf086dc1d2137263c5e0cad3b0eaf82d4 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 02:19:39 +0000 Subject: [PATCH 106/186] Merged revisions 377743 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377743 | rmudgett | 2012-12-10 20:13:37 -0600 (Mon, 10 Dec 2012) | 25 lines Cleanup indications on exit. * Made ast_unregister_indication_country() unlink the found tone zone before selecting a new default_tone_zone to make it impossible to select the tone zone being unregistered again. * Ringcadence is no longer parsed twice in store_config_tone_zone(). * Cleanup CLI commands and destroy default_tone_zone on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: indications-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377740 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377741 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377742 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377750 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/indications.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/main/indications.c b/main/indications.c index 8854ad9091..6ad30bfcf5 100644 --- a/main/indications.c +++ b/main/indications.c @@ -560,11 +560,13 @@ static int ast_unregister_indication_country(const char *country) ast_copy_string(zone_arg.country, country, sizeof(zone_arg.country)); - if (!(tz = ao2_find(ast_tone_zones, &zone_arg, OBJ_POINTER))) { + ao2_lock(ast_tone_zones); + tz = ao2_find(ast_tone_zones, &zone_arg, OBJ_POINTER | OBJ_UNLINK); + if (!tz) { + ao2_unlock(ast_tone_zones); return -1; } - ao2_lock(ast_tone_zones); if (default_tone_zone == tz) { ast_tone_zone_unref(default_tone_zone); /* Get a new default, punt to the first one we find */ @@ -572,8 +574,6 @@ static int ast_unregister_indication_country(const char *country) } ao2_unlock(ast_tone_zones); - ao2_unlink(ast_tone_zones, tz); - tz = ast_tone_zone_unref(tz); return 0; @@ -939,7 +939,6 @@ static void store_config_tone_zone(struct ast_tone_zone *zone, const char *var, CV_STR("description", zone->description); CV_F("ringcadence", store_tone_zone_ring_cadence(zone, value)); - CV_F("ringcadance", store_tone_zone_ring_cadence(zone, value)); ast_register_indication(zone, var, value); @@ -1153,6 +1152,11 @@ int ast_tone_zone_data_add_structure(struct ast_data *tree, struct ast_tone_zone /*! \internal \brief Clean up resources on Asterisk shutdown */ static void indications_shutdown(void) { + ast_cli_unregister_multiple(cli_indications, ARRAY_LEN(cli_indications)); + if (default_tone_zone) { + ast_tone_zone_unref(default_tone_zone); + default_tone_zone = NULL; + } if (ast_tone_zones) { ao2_ref(ast_tone_zones, -1); ast_tone_zones = NULL; @@ -1168,6 +1172,7 @@ int ast_indications_init(void) } if (load_indications(0)) { + indications_shutdown(); return -1; } From 605dcfad9779c59540d9711a5dbc42d138b3949d Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 03:19:39 +0000 Subject: [PATCH 107/186] Merged revisions 377774 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377774 | rmudgett | 2012-12-10 20:44:53 -0600 (Mon, 10 Dec 2012) | 19 lines Cleanup logger on exit. * Cleanup CLI commands, destroy verbosers and logchannels lists on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: logger-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377771 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377772 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377773 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377781 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/logger.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/main/logger.c b/main/logger.c index aad1c98691..7994fb7dfe 100644 --- a/main/logger.c +++ b/main/logger.c @@ -1257,6 +1257,9 @@ int init_logger(void) void close_logger(void) { struct logchannel *f = NULL; + struct verb *cur = NULL; + + ast_cli_unregister_multiple(cli_logger, ARRAY_LEN(cli_logger)); logger_initialized = 0; @@ -1269,6 +1272,12 @@ void close_logger(void) if (logthread != AST_PTHREADT_NULL) pthread_join(logthread, NULL); + AST_RWLIST_WRLOCK(&verbosers); + while ((cur = AST_LIST_REMOVE_HEAD(&verbosers, list))) { + ast_free(cur); + } + AST_RWLIST_UNLOCK(&verbosers); + AST_RWLIST_WRLOCK(&logchannels); if (qlog) { @@ -1276,11 +1285,12 @@ void close_logger(void) qlog = NULL; } - AST_RWLIST_TRAVERSE(&logchannels, f, list) { + while ((f = AST_LIST_REMOVE_HEAD(&logchannels, list))) { if (f->fileptr && (f->fileptr != stdout) && (f->fileptr != stderr)) { fclose(f->fileptr); f->fileptr = NULL; } + ast_free(f); } closelog(); /* syslog */ From 29fc1227839155658ca899cdfa179673c88e1ee2 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 04:23:31 +0000 Subject: [PATCH 108/186] Some documentation fixes and function call name fixes. The documentation for taskprocessors was incorrect with regards to when a listener's alloc callback was called. I also made the names of queued function calls in the threadpool more uniform. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377802 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/taskprocessor.h | 7 ++++--- main/threadpool.c | 10 +++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 4f61939f87..dc110e2e53 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -77,6 +77,7 @@ struct ast_taskprocessor_listener_callbacks { /*! * \brief Allocate the listener's private data * + * This is called during taskprocesor creation. * It is not necessary to assign the private data to the listener. * * \param listener The listener to which the private data belongs @@ -150,9 +151,7 @@ struct ast_taskprocessor_listener { * Allocate a taskprocessor listener * * This will result in the listener being allocated with the specified - * callbacks. The listener's alloc() callback will be called to allocate - * private data for the listener. The private data will be assigned to the - * listener when the listener's alloc() function returns. + * callbacks. * * \param callbacks The callbacks to assign to the listener * \retval NULL Failure @@ -177,6 +176,8 @@ struct ast_taskprocessor *ast_taskprocessor_get(const char *name, enum ast_tps_o /*! * \brief Create a taskprocessor with a custom listener * + * The listener's alloc() and start() callbacks will be called during this function. + * * \param name The name of the taskprocessor to create * \param listener The listener for operations on this taskprocessor * \retval NULL Failure diff --git a/main/threadpool.c b/main/threadpool.c index ee60dc7e30..57520cf112 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -436,7 +436,7 @@ static int activate_threads(void *obj, void *arg, int flags) } /*! - * \brief Queue task called when tasks are pushed into the threadpool + * \brief Queued task called when tasks are pushed into the threadpool * * This function first calls into the threadpool's listener to let it know * that a task has been pushed. It then wakes up all idle threads and moves @@ -444,7 +444,7 @@ static int activate_threads(void *obj, void *arg, int flags) * \param data A task_pushed_data * \return 0 */ -static int handle_task_pushed(void *data) +static int queued_task_pushed(void *data) { struct task_pushed_data *tpd = data; struct ast_threadpool *pool = tpd->pool; @@ -481,7 +481,7 @@ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listen return; } - ast_taskprocessor_push(pool->control_tps, handle_task_pushed, tpd); + ast_taskprocessor_push(pool->control_tps, queued_task_pushed, tpd); } /*! @@ -491,7 +491,7 @@ static void threadpool_tps_task_pushed(struct ast_taskprocessor_listener *listen * \param data The pool that has become empty * \return 0 */ -static int handle_emptied(void *data) +static int queued_emptied(void *data) { struct ast_threadpool *pool = data; @@ -515,7 +515,7 @@ static void threadpool_tps_emptied(struct ast_taskprocessor_listener *listener) return; } - ast_taskprocessor_push(pool->control_tps, handle_emptied, pool); + ast_taskprocessor_push(pool->control_tps, queued_emptied, pool); } /*! From 8760e32ae380f65420799c290f7b92d40cd7926c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 16:34:00 +0000 Subject: [PATCH 109/186] Add auto-increment option and accompanying test. This allows for the threadpool to automatically grow if tasks are pushed to it and no idle threads are currently available. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377803 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 13 +++++- main/threadpool.c | 15 ++++-- tests/test_threadpool.c | 88 ++++++++++++++++++++++++++++++++++- 3 files changed, 109 insertions(+), 7 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 9834d91805..39792b1bbf 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -86,12 +86,23 @@ struct ast_threadpool_options { #define AST_THREADPOOL_OPTIONS_VERSION 1 /*! Version of thradpool options in use */ int version; - /* ! + /*! * \brief Time limit in seconds for idle threads * * A time of 0 or less will mean an infinite timeout. */ int idle_timeout; + /*! + * \brief Number of threads to increment pool by + * + * If a task is added into a pool and no idle thread is + * available to activate, then the pool can automatically + * grow by the given amount. + * + * Zero is a perfectly valid value to give here if you want + * to control threadpool growth yourself via your listener. + */ + int auto_increment; }; /*! diff --git a/main/threadpool.c b/main/threadpool.c index 57520cf112..b3195fc4cb 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -416,7 +416,7 @@ static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *po /*! * \brief Activate idle threads * - * This function always returns CMP_MATCH because all threads that this + * This function always returns CMP_MATCH because all workers that this * function acts on need to be seen as matches so they are unlinked from the * list of idle threads. * @@ -425,7 +425,7 @@ static struct task_pushed_data *task_pushed_data_alloc(struct ast_threadpool *po * \param arg The pool where the worker belongs * \retval CMP_MATCH */ -static int activate_threads(void *obj, void *arg, int flags) +static int activate_thread(void *obj, void *arg, int flags) { struct worker_thread *worker = obj; struct ast_threadpool *pool = arg; @@ -435,6 +435,8 @@ static int activate_threads(void *obj, void *arg, int flags) return CMP_MATCH; } +static void grow(struct ast_threadpool *pool, int delta); + /*! * \brief Queued task called when tasks are pushed into the threadpool * @@ -451,8 +453,13 @@ static int queued_task_pushed(void *data) int was_empty = tpd->was_empty; pool->listener->callbacks->task_pushed(pool, pool->listener, was_empty); - ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, - activate_threads, pool); + if (ao2_container_count(pool->idle_threads) == 0 && pool->options.auto_increment > 0) { + grow(pool, pool->options.auto_increment); + } else { + ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA, + activate_thread, pool); + } + threadpool_send_state_changed(pool); ao2_ref(tpd, -1); return 0; } diff --git a/tests/test_threadpool.c b/tests/test_threadpool.c index 4fe63e2229..38b79b58ce 100644 --- a/tests/test_threadpool.c +++ b/tests/test_threadpool.c @@ -220,7 +220,7 @@ static enum ast_test_result_state wait_for_empty_notice(struct ast_test *test, s } if (!tld->empty_notice) { - ast_test_status_update(test, "Test listener never told that threadpool is empty\n"); + ast_test_status_update(test, "Test listener not notified that threadpool is empty\n"); res = AST_TEST_FAIL; } @@ -283,6 +283,7 @@ AST_TEST_DEFINE(threadpool_push) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -336,6 +337,7 @@ AST_TEST_DEFINE(threadpool_thread_creation) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -385,6 +387,7 @@ AST_TEST_DEFINE(threadpool_thread_destruction) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -443,6 +446,7 @@ AST_TEST_DEFINE(threadpool_thread_timeout) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 2, + .auto_increment = 0, }; switch (cmd) { @@ -505,6 +509,7 @@ AST_TEST_DEFINE(threadpool_one_task_one_thread) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -581,6 +586,7 @@ AST_TEST_DEFINE(threadpool_one_thread_one_task) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -645,7 +651,6 @@ end: ao2_cleanup(listener); ast_free(std); return res; - } AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) @@ -660,6 +665,7 @@ AST_TEST_DEFINE(threadpool_one_thread_multiple_tasks) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -737,7 +743,80 @@ end: ast_free(std2); ast_free(std3); return res; +} +AST_TEST_DEFINE(threadpool_auto_increment) +{ + struct ast_threadpool *pool = NULL; + struct ast_threadpool_listener *listener = NULL; + struct simple_task_data *std = NULL; + enum ast_test_result_state res = AST_TEST_FAIL; + struct test_listener_data *tld; + struct ast_threadpool_options options = { + .version = AST_THREADPOOL_OPTIONS_VERSION, + .idle_timeout = 0, + .auto_increment = 3, + }; + + switch (cmd) { + case TEST_INIT: + info->name = "auto_increment"; + info->category = "/main/threadpool/"; + info->summary = "Test that the threadpool grows as tasks are added"; + info->description = + "Create an empty threadpool and push a task to it. Once the task is\n" + "pushed, the threadpool should add three threads and be able to\n" + "handle the task. The threads should then go idle\n"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + listener = ast_threadpool_listener_alloc(&test_callbacks); + if (!listener) { + return AST_TEST_FAIL; + } + tld = listener->private_data; + + pool = ast_threadpool_create(info->name, listener, 0, &options); + if (!pool) { + goto end; + } + + std = simple_task_data_alloc(); + if (!std) { + goto end; + } + + ast_threadpool_push(pool, simple_task, std); + + /* Pushing the task should result in the threadpool growing + * by three threads. This will allow the task to actually execute + */ + res = wait_for_completion(test, std); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_for_empty_notice(test, tld); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = wait_until_thread_state(test, tld, 0, 3); + if (res == AST_TEST_FAIL) { + goto end; + } + + res = listener_check(test, listener, 1, 1, 1, 0, 3, 1); + +end: + if (pool) { + ast_threadpool_shutdown(pool); + } + ao2_cleanup(listener); + ast_free(std); + return res; } AST_TEST_DEFINE(threadpool_reactivation) @@ -751,6 +830,7 @@ AST_TEST_DEFINE(threadpool_reactivation) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -913,6 +993,7 @@ AST_TEST_DEFINE(threadpool_task_distribution) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -1001,6 +1082,7 @@ AST_TEST_DEFINE(threadpool_more_destruction) struct ast_threadpool_options options = { .version = AST_THREADPOOL_OPTIONS_VERSION, .idle_timeout = 0, + .auto_increment = 0, }; switch (cmd) { @@ -1104,6 +1186,7 @@ static int unload_module(void) ast_test_unregister(threadpool_one_task_one_thread); ast_test_unregister(threadpool_one_thread_one_task); ast_test_unregister(threadpool_one_thread_multiple_tasks); + ast_test_unregister(threadpool_auto_increment); ast_test_unregister(threadpool_reactivation); ast_test_unregister(threadpool_task_distribution); ast_test_unregister(threadpool_more_destruction); @@ -1119,6 +1202,7 @@ static int load_module(void) ast_test_register(threadpool_one_task_one_thread); ast_test_register(threadpool_one_thread_one_task); ast_test_register(threadpool_one_thread_multiple_tasks); + ast_test_register(threadpool_auto_increment); ast_test_register(threadpool_reactivation); ast_test_register(threadpool_task_distribution); ast_test_register(threadpool_more_destruction); From 2abda6400324156688b28d818b180940164e6b2c Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 16:36:08 +0000 Subject: [PATCH 110/186] Add threadpool option version check into threadpool creation routine. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377804 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/threadpool.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main/threadpool.c b/main/threadpool.c index b3195fc4cb..663de3b36b 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -810,6 +810,11 @@ struct ast_threadpool *ast_threadpool_create(const char *name, return NULL; } + if (options->version != AST_THREADPOOL_OPTIONS_VERSION) { + ast_log(LOG_WARNING, "Incompatible version of threadpool options in use.\n"); + return NULL; + } + tps = ast_taskprocessor_create_with_listener(name, tps_listener); if (!tps) { From 7995bc63c783cc7e8ecb73668bda7c29988de854 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 16:53:16 +0000 Subject: [PATCH 111/186] Some general cleanup, plus we now send state changes when threads activate. This is now ready for review board, imo! git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377805 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/threadpool.h | 2 +- main/threadpool.c | 63 +++++++++++++++++++---------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h index 39792b1bbf..e492eae9c9 100644 --- a/include/asterisk/threadpool.h +++ b/include/asterisk/threadpool.h @@ -89,7 +89,7 @@ struct ast_threadpool_options { /*! * \brief Time limit in seconds for idle threads * - * A time of 0 or less will mean an infinite timeout. + * A time of 0 or less will mean no timeout. */ int idle_timeout; /*! diff --git a/main/threadpool.c b/main/threadpool.c index 663de3b36b..62664428de 100644 --- a/main/threadpool.c +++ b/main/threadpool.c @@ -435,7 +435,28 @@ static int activate_thread(void *obj, void *arg, int flags) return CMP_MATCH; } -static void grow(struct ast_threadpool *pool, int delta); +/*! + * \brief Add threads to the threadpool + * + * This function is called from the threadpool's control taskprocessor thread. + * \param pool The pool that is expanding + * \delta The number of threads to add to the pool + */ +static void grow(struct ast_threadpool *pool, int delta) +{ + int i; + + ast_debug(1, "Going to increase threadpool size by %d\n", delta); + + for (i = 0; i < delta; ++i) { + struct worker_thread *worker = worker_thread_alloc(pool); + if (!worker) { + return; + } + ao2_link(pool->active_threads, worker); + ao2_ref(worker, -1); + } +} /*! * \brief Queued task called when tasks are pushed into the threadpool @@ -451,15 +472,22 @@ static int queued_task_pushed(void *data) struct task_pushed_data *tpd = data; struct ast_threadpool *pool = tpd->pool; int was_empty = tpd->was_empty; + int state_changed; pool->listener->callbacks->task_pushed(pool, pool->listener, was_empty); - if (ao2_container_count(pool->idle_threads) == 0 && pool->options.auto_increment > 0) { - grow(pool, pool->options.auto_increment); + if (ao2_container_count(pool->idle_threads) == 0) { + if (pool->options.auto_increment > 0) { + grow(pool, pool->options.auto_increment); + state_changed = 1; + } } else { ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA, activate_thread, pool); - } - threadpool_send_state_changed(pool); + state_changed = 1; + } + if (state_changed) { + threadpool_send_state_changed(pool); + } ao2_ref(tpd, -1); return 0; } @@ -571,29 +599,6 @@ static struct ast_taskprocessor_listener_callbacks threadpool_tps_listener_callb .destroy = threadpool_destroy, }; -/*! - * \brief Add threads to the threadpool - * - * This function is called from the threadpool's control taskprocessor thread. - * \param pool The pool that is expanding - * \delta The number of threads to add to the pool - */ -static void grow(struct ast_threadpool *pool, int delta) -{ - int i; - - ast_debug(1, "Going to increase threadpool size by %d\n", delta); - - for (i = 0; i < delta; ++i) { - struct worker_thread *worker = worker_thread_alloc(pool); - if (!worker) { - return; - } - ao2_link(pool->active_threads, worker); - ao2_ref(worker, -1); - } -} - /*! * \brief ao2 callback to kill a set number of threads. * @@ -680,7 +685,7 @@ static void shrink(struct ast_threadpool *pool, int delta) ao2_callback(pool->idle_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, kill_threads, &idle_threads_to_kill); - ast_debug(1, "Goign to kill off %d active threads\n", active_threads_to_zombify); + ast_debug(1, "Going to kill off %d active threads\n", active_threads_to_zombify); ao2_callback_data(pool->active_threads, OBJ_UNLINK | OBJ_NOLOCK | OBJ_NODATA | OBJ_MULTIPLE, zombify_threads, pool, &active_threads_to_zombify); From 090b9e09f7cdc0329a5bce484a402a2870853d0c Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 20:20:16 +0000 Subject: [PATCH 112/186] Merged revisions 377809 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377809 | rmudgett | 2012-12-11 14:05:32 -0600 (Tue, 11 Dec 2012) | 23 lines Cleanup pbx on exit. * Cleanup CLI commands on exit. * Unreference hints and statecbs containers on exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches: pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell pbx-cleanup-10.patch (license #5909) patch uploaded by Corey Farrell pbx-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell Modified ........ Merged revisions 377806 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377807 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377808 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377816 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/pbx.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main/pbx.c b/main/pbx.c index e186b861e4..d1c8109c78 100644 --- a/main/pbx.c +++ b/main/pbx.c @@ -11747,6 +11747,7 @@ static void unload_pbx(void) ast_unregister_application(builtins[x].name); } ast_manager_unregister("ShowDialPlan"); + ast_cli_unregister_multiple(pbx_cli, ARRAY_LEN(pbx_cli)); ast_custom_function_unregister(&exception_function); ast_custom_function_unregister(&testtime_function); ast_data_unregister(NULL); @@ -11759,6 +11760,8 @@ int load_pbx(void) { int x; + ast_register_atexit(unload_pbx); + /* Initialize the PBX */ ast_verb(1, "Asterisk PBX Core Initializing\n"); if (!(extension_state_tps = ast_taskprocessor_get("pbx-core", 0))) { @@ -11793,7 +11796,6 @@ int load_pbx(void) return -1; } - ast_register_atexit(unload_pbx); return 0; } @@ -12154,17 +12156,23 @@ static int statecbs_cmp(void *obj, void *arg, int flags) return (state_cb->change_cb == change_cb) ? CMP_MATCH | CMP_STOP : 0; } -/*! \internal \brief Clean up resources on Asterisk shutdown */ +/*! + * \internal + * \brief Clean up resources on Asterisk shutdown + */ static void pbx_shutdown(void) { if (hints) { ao2_ref(hints, -1); + hints = NULL; } if (hintdevices) { ao2_ref(hintdevices, -1); + hintdevices = NULL; } if (statecbs) { ao2_ref(statecbs, -1); + statecbs = NULL; } } @@ -12175,5 +12183,6 @@ int ast_pbx_init(void) statecbs = ao2_container_alloc(1, NULL, statecbs_cmp); ast_register_atexit(pbx_shutdown); + return (hints && hintdevices && statecbs) ? 0 : -1; } From 603bf5301f3a950687e41d40eeb02870044f6d0b Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 21:19:46 +0000 Subject: [PATCH 113/186] automerge cancel git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377856 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From f5e9cf5975cf8a58774579f126952be61beb0e54 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 21:52:09 +0000 Subject: [PATCH 114/186] Add automerge property back after conflict. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377879 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- configure | 37990 ++++------------------------- configure.ac | 3 +- include/asterisk/autoconfig.h.in | 13 +- include/asterisk/uuid.h | 107 + main/Makefile | 2 +- main/asterisk.c | 2 + main/udptl.c | 10 +- main/uuid.c | 206 + tests/test_uuid.c | 136 + 9 files changed, 5783 insertions(+), 32686 deletions(-) create mode 100644 include/asterisk/uuid.h create mode 100644 main/uuid.c create mode 100644 tests/test_uuid.c diff --git a/configure b/configure index 050d1fbcf7..5f5143d6f3 100755 --- a/configure +++ b/configure @@ -1,23 +1,27 @@ #! /bin/sh -# From configure.ac Revision: 374940 . +# From configure.ac Revision: 375192 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for asterisk trunk. +# Generated by GNU Autoconf 2.65 for asterisk trunk. # # Report bugs to . # +# # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# +# # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # # "Asterisk" -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -25,23 +29,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -49,7 +45,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -60,7 +62,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -83,13 +85,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -99,15 +94,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -119,12 +114,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -136,7 +135,249 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: https://issues.asterisk.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -150,8 +391,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -171,295 +416,19 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; -esac - -fi - - -: -(as_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= @@ -476,8 +445,7 @@ test \$exitcode = 0") || { s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the @@ -487,29 +455,18 @@ test \$exitcode = 0") || { exit } - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -539,7 +496,7 @@ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -558,10 +515,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -575,8 +532,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -exec 7<&0 &1 +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, @@ -594,7 +551,6 @@ cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='asterisk' @@ -602,6 +558,7 @@ PACKAGE_TARNAME='asterisk' PACKAGE_VERSION='trunk' PACKAGE_STRING='asterisk trunk' PACKAGE_BUGREPORT='https://issues.asterisk.org' +PACKAGE_URL='' ac_unique_file="main/asterisk.c" # Factoring default headers for most tests. @@ -1220,6 +1177,7 @@ bindir program_transform_name prefix exec_prefix +PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION @@ -1440,8 +1398,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1467,8 +1424,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1672,8 +1628,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1689,8 +1644,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } + as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1720,17 +1674,17 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) as_fn_error "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error "invalid variable name: \`$ac_envvar'" ;; + esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1747,15 +1701,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; + fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1778,8 +1730,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } + as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1809,11 +1760,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } + as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } + as_fn_error "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1852,13 +1801,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } + as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -2052,7 +1999,7 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command @@ -2138,10 +2085,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF asterisk configure trunk -generated by GNU Autoconf 2.63 +generated by GNU Autoconf 2.65 -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -2149,12 +2095,904 @@ gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to https://issues.asterisk.org ## +## ------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_func + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_type + +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_member + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include +#include +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 &5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to https://issues.asterisk.org ## +## ------------------------------------------ ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_mongrel + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_cxx_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_compile cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.63. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2190,8 +3028,8 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done IFS=$as_save_IFS } >&5 @@ -2228,9 +3066,9 @@ do ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else @@ -2246,13 +3084,13 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args '$ac_arg'" + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there @@ -2277,13 +3115,13 @@ _ASBOX case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -2355,39 +3193,41 @@ _ASBOX exit $exit_status ' 0 for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h +$as_echo "/* confdefs.h */" > confdefs.h + # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF - cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. @@ -2405,8 +3245,8 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" @@ -2414,10 +3254,10 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;} done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; @@ -2425,12 +3265,15 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi -ac_header_list="$ac_header_list utime.h" +as_fn_append ac_header_list " stdlib.h" +as_fn_append ac_header_list " unistd.h" +as_fn_append ac_header_list " sys/param.h" +as_fn_append ac_header_list " utime.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2441,11 +3284,11 @@ for ac_var in $ac_precious_vars; do eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; @@ -2455,17 +3298,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac @@ -2477,43 +3320,20 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi - - - - - - - - - - - - - - - - - - - - - - - - +## -------------------- ## +## Main body of script. ## +## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2526,24 +3346,16 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # cross-compile macros ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2557,35 +3369,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then +if test "${ac_cv_build+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -$as_echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -2601,28 +3405,24 @@ IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then +if test "${ac_cv_host+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -$as_echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; +*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -2644,24 +3444,16 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ac_aux_dir= for ac_dir in `pwd` "$srcdir"/`pwd`; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \`pwd\` \"$srcdir\"/\`pwd\`" >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in \`pwd\` \"$srcdir\"/\`pwd\`" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find install-sh, install.sh, or shtool in \`pwd\` \"$srcdir\"/\`pwd\`" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2705,9 +3497,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2718,24 +3510,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2749,9 +3541,9 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2762,24 +3554,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -2792,7 +3584,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -2801,57 +3593,37 @@ esac fi -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "no acceptable C compiler found in \$PATH +See \`config.log' for more details." "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2867,8 +3639,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: @@ -2884,17 +3656,17 @@ do done rm -f $ac_rmfiles -if { (ac_try="$ac_link_default" +if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -2911,7 +3683,7 @@ do # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi @@ -2930,84 +3702,42 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C compiler cannot create executables -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } -fi - -ac_exeext=$ac_cv_exeext - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 +{ as_fn_set_status 77 +as_fn_error "C compiler cannot create executables +See \`config.log' for more details." "$LINENO" 5; }; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" +if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3022,32 +3752,83 @@ for ac_file in conftest.exe conftest conftest.*; do esac done else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." "$LINENO" 5; } fi - -rm -f conftest$ac_cv_exeext -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then +if test "${ac_cv_objext+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3059,17 +3840,17 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" +if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -3082,31 +3863,23 @@ else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "cannot compute suffix of object files: cannot compile +See \`config.log' for more details." "$LINENO" 5; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then +if test "${ac_cv_c_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3120,37 +3893,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes @@ -3159,20 +3911,16 @@ else fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then +if test "${ac_cv_prog_cc_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3183,35 +3931,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3222,36 +3946,12 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_compile "$LINENO"; then : - ac_c_werror_flag=$ac_save_c_werror_flag +else + ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -3262,42 +3962,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -3314,18 +3989,14 @@ else CFLAGS= fi fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then +if test "${ac_cv_prog_cc_c89+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3382,32 +4053,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done @@ -3418,17 +4066,19 @@ fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac +if test "x$ac_cv_prog_cc_c89" != xno; then : +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3443,14 +4093,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -3465,11 +4115,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3478,78 +4124,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -3561,7 +4163,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -3572,11 +4174,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -3585,87 +4183,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -3675,9 +4226,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then +if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -3688,7 +4239,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue @@ -3708,7 +4259,7 @@ case `"$ac_path_GREP" --version 2>&1` in $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" @@ -3723,26 +4274,24 @@ esac $ac_path_GREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3756,7 +4305,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue @@ -3776,7 +4325,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -3791,12 +4340,10 @@ esac $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -3804,21 +4351,17 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3833,48 +4376,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -3884,18 +4402,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -3905,14 +4419,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3939,118 +4449,34 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : +if ac_fn_c_try_run "$LINENO"; then : + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4061,139 +4487,8 @@ done - if test "${ac_cv_header_minix_config_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5 -$as_echo_n "checking minix/config.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5 -$as_echo_n "checking minix/config.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5 -$as_echo_n "checking for minix/config.h... " >&6; } -if test "${ac_cv_header_minix_config_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_minix_config_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 -$as_echo "$ac_cv_header_minix_config_h" >&6; } - -fi -if test "x$ac_cv_header_minix_config_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = x""yes; then : MINIX=yes else MINIX= @@ -4202,34 +4497,23 @@ fi if test "$MINIX" = yes; then -cat >>confdefs.h <<\_ACEOF -#define _POSIX_SOURCE 1 -_ACEOF +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _POSIX_1_SOURCE 2 -_ACEOF +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _MINIX 1 -_ACEOF +$as_echo "#define _MINIX 1" >>confdefs.h fi - - { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then +if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 @@ -4242,56 +4526,25 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_safe_to_define___extensions__=no + ac_cv_safe_to_define___extensions__=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && - cat >>confdefs.h <<\_ACEOF -#define __EXTENSIONS__ 1 -_ACEOF + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _ALL_SOURCE 1 -_ACEOF + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _GNU_SOURCE 1 -_ACEOF + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _POSIX_PTHREAD_SEMANTICS 1 -_ACEOF + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - cat >>confdefs.h <<\_ACEOF -#define _TANDEM_SOURCE 1 -_ACEOF + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h # System default paths @@ -4351,14 +4604,10 @@ case "${host_os}" in astvarrundir='/Library/Application Support/Asterisk/Run' fi -cat >>confdefs.h <<\_ACEOF -#define AST_POLL_COMPAT 1 -_ACEOF +$as_echo "#define AST_POLL_COMPAT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define _DARWIN_UNLIMITED_SELECT 1 -_ACEOF +$as_echo "#define _DARWIN_UNLIMITED_SELECT 1" >>confdefs.h ;; solaris*) @@ -4455,9 +4704,9 @@ esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}uname", so it can be a program name with args. set dummy ${ac_tool_prefix}uname; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_UNAME+set}" = set; then +if test "${ac_cv_path_UNAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $UNAME in @@ -4470,14 +4719,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_UNAME="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -4485,10 +4734,10 @@ esac fi UNAME=$ac_cv_path_UNAME if test -n "$UNAME"; then - { $as_echo "$as_me:$LINENO: result: $UNAME" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNAME" >&5 $as_echo "$UNAME" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4498,9 +4747,9 @@ if test -z "$ac_cv_path_UNAME"; then ac_pt_UNAME=$UNAME # Extract the first word of "uname", so it can be a program name with args. set dummy uname; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_UNAME+set}" = set; then +if test "${ac_cv_path_ac_pt_UNAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_UNAME in @@ -4513,14 +4762,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_UNAME="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -4528,10 +4777,10 @@ esac fi ac_pt_UNAME=$ac_cv_path_ac_pt_UNAME if test -n "$ac_pt_UNAME"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_UNAME" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_UNAME" >&5 $as_echo "$ac_pt_UNAME" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4540,7 +4789,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4559,17 +4808,15 @@ fi - - # cross-compile checks if test "${cross_compiling}" = "yes"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then +if test "${ac_cv_prog_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4580,24 +4827,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4607,9 +4854,9 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -4620,24 +4867,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4646,7 +4893,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4659,9 +4906,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args. set dummy ${ac_tool_prefix}g++; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then +if test "${ac_cv_prog_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -4672,24 +4919,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="${ac_tool_prefix}g++" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { $as_echo "$as_me:$LINENO: result: $CXX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4699,9 +4946,9 @@ if test -z "$ac_cv_prog_CXX"; then ac_ct_CXX=$CXX # Extract the first word of "g++", so it can be a program name with args. set dummy g++; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -4712,24 +4959,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="g++" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4738,7 +4985,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4751,9 +4998,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. set dummy ${ac_tool_prefix}ld; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LD+set}" = set; then +if test "${ac_cv_prog_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$LD"; then @@ -4764,24 +5011,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LD="${ac_tool_prefix}ld" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi LD=$ac_cv_prog_LD if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4791,9 +5038,9 @@ if test -z "$ac_cv_prog_LD"; then ac_ct_LD=$LD # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LD+set}" = set; then +if test "${ac_cv_prog_ac_ct_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LD"; then @@ -4804,24 +5051,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LD="ld" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_LD=$ac_cv_prog_ac_ct_LD if test -n "$ac_ct_LD"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_LD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LD" >&5 $as_echo "$ac_ct_LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4830,7 +5077,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4843,9 +5090,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then +if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -4856,24 +5103,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4883,9 +5130,9 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -4896,24 +5143,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4922,7 +5169,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -4949,9 +5196,9 @@ if test -z "$CXX"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then +if test "${ac_cv_prog_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -4962,24 +5209,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { $as_echo "$as_me:$LINENO: result: $CXX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -4993,9 +5240,9 @@ if test -z "$CXX"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -5006,24 +5253,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -5036,7 +5283,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -5047,53 +5294,36 @@ fi fi fi # Provide some information about the compiler. -$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5107,37 +5337,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no + ac_compiler_gnu=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes @@ -5146,20 +5355,16 @@ else fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then +if test "${ac_cv_prog_cxx_g+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5170,35 +5375,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5209,36 +5390,12 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cxx_werror_flag=$ac_save_cxx_werror_flag +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5249,42 +5406,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS @@ -5312,14 +5444,14 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then + if test "${ac_cv_prog_CPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5334,11 +5466,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5347,78 +5475,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -5430,7 +5514,7 @@ fi else ac_cv_prog_CPP=$CPP fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -5441,11 +5525,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5454,87 +5534,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -5548,10 +5581,10 @@ ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded @@ -5566,11 +5599,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5579,78 +5608,34 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -5662,7 +5647,7 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes @@ -5673,11 +5658,7 @@ do # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -5686,87 +5667,40 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_cxx_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi - rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then +if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. ac_preproc_ok=: break fi - rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." "$LINENO" 5; } fi ac_ext=c @@ -5777,9 +5711,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # This macro is just copied into our local acinclude.m4 from libtool.m4 so that # the developers regenerating the configure script don't have to install libtool. -{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then +if test "${ac_cv_path_SED+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -5796,7 +5730,7 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue @@ -5816,7 +5750,7 @@ case `"$ac_path_SED" --version 2>&1` in $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" @@ -5831,26 +5765,24 @@ esac $ac_path_SED_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_prog_egrep+set}" = set; then +if test "${ac_cv_prog_egrep+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 @@ -5858,14 +5790,14 @@ else else ac_cv_prog_egrep='egrep' fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_egrep" >&5 $as_echo "$ac_cv_prog_egrep" >&6; } EGREP=$ac_cv_prog_egrep # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then +if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no @@ -5874,7 +5806,7 @@ fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) @@ -5904,13 +5836,13 @@ $as_echo_n "checking for ld used by $CC... " >&6; } ;; esac elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then +if test "${lt_cv_path_LD+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -5941,18 +5873,16 @@ fi LD="$lt_cv_path_LD" if test -n "$LD"; then - { $as_echo "$as_me:$LINENO: result: $LD" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then +if test "${lt_cv_prog_gnu_ld+set}" = set; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -5965,7 +5895,7 @@ case `$LD -v 2>&1 &5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -5974,9 +5904,9 @@ for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -5987,24 +5917,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6026,10 +5956,10 @@ done # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then +if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6037,11 +5967,11 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -6078,7 +6008,7 @@ case $as_dir/ in ;; esac -done + done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir @@ -6094,7 +6024,7 @@ fi INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -6105,23 +6035,23 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then +if test "${ac_cv_prog_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6132,24 +6062,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6159,9 +6089,9 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -6172,24 +6102,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6198,7 +6128,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -6208,9 +6138,9 @@ else RANLIB="$ac_cv_prog_RANLIB" fi -{ $as_echo "$as_me:$LINENO: checking for GNU make" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 $as_echo_n "checking for GNU make... " >&6; } -if test "${ac_cv_GNU_MAKE+set}" = set; then +if test "${ac_cv_GNU_MAKE+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_GNU_MAKE='Not Found' ; @@ -6227,20 +6157,18 @@ else done ; fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_GNU_MAKE" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_GNU_MAKE" >&5 $as_echo "$ac_cv_GNU_MAKE" >&6; } ; if test "x$ac_cv_GNU_MAKE" = "xNot Found" ; then - { { $as_echo "$as_me:$LINENO: error: *** Please install GNU make. It is required to build Asterisk!" >&5 -$as_echo "$as_me: error: *** Please install GNU make. It is required to build Asterisk!" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "*** Please install GNU make. It is required to build Asterisk!" "$LINENO" 5 exit 1 fi GNU_MAKE=$ac_cv_GNU_MAKE -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then +if test "${ac_cv_path_EGREP+set}" = set; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -6254,7 +6182,7 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue @@ -6274,7 +6202,7 @@ case `"$ac_path_EGREP" --version 2>&1` in $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` + as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" @@ -6289,12 +6217,10 @@ esac $ac_path_EGREP_found && break 3 done done -done + done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -6302,7 +6228,7 @@ fi fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" @@ -6313,9 +6239,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then +if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -6326,24 +6252,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6357,9 +6283,9 @@ if test -z "$STRIP"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -6370,24 +6296,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6400,7 +6326,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -6413,9 +6339,9 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then +if test "${ac_cv_prog_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -6426,24 +6352,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:$LINENO: result: $AR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6457,9 +6383,9 @@ if test -z "$AR"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -6470,24 +6396,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -6500,7 +6426,7 @@ done else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -6517,9 +6443,9 @@ fi # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BISON+set}" = set; then +if test "${ac_cv_path_BISON+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BISON in @@ -6532,14 +6458,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_BISON" && ac_cv_path_BISON=":" @@ -6548,19 +6474,19 @@ esac fi BISON=$ac_cv_path_BISON if test -n "$BISON"; then - { $as_echo "$as_me:$LINENO: result: $BISON" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 $as_echo "$BISON" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "cmp", so it can be a program name with args. set dummy cmp; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CMP+set}" = set; then +if test "${ac_cv_path_CMP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CMP in @@ -6573,14 +6499,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CMP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_CMP" && ac_cv_path_CMP=":" @@ -6589,19 +6515,19 @@ esac fi CMP=$ac_cv_path_CMP if test -n "$CMP"; then - { $as_echo "$as_me:$LINENO: result: $CMP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CMP" >&5 $as_echo "$CMP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FLEX+set}" = set; then +if test "${ac_cv_path_FLEX+set}" = set; then : $as_echo_n "(cached) " >&6 else case $FLEX in @@ -6614,14 +6540,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_FLEX" && ac_cv_path_FLEX=":" @@ -6630,19 +6556,19 @@ esac fi FLEX=$ac_cv_path_FLEX if test -n "$FLEX"; then - { $as_echo "$as_me:$LINENO: result: $FLEX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5 $as_echo "$FLEX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "grep", so it can be a program name with args. set dummy grep; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then +if test "${ac_cv_path_GREP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GREP in @@ -6655,14 +6581,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_GREP" && ac_cv_path_GREP=":" @@ -6671,19 +6597,19 @@ esac fi GREP=$ac_cv_path_GREP if test -n "$GREP"; then - { $as_echo "$as_me:$LINENO: result: $GREP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GREP" >&5 $as_echo "$GREP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "python", so it can be a program name with args. set dummy python; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PYTHON+set}" = set; then +if test "${ac_cv_path_PYTHON+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PYTHON in @@ -6696,14 +6622,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_PYTHON" && ac_cv_path_PYTHON=":" @@ -6712,19 +6638,19 @@ esac fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:$LINENO: result: $PYTHON" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 $as_echo "$PYTHON" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "find", so it can be a program name with args. set dummy find; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FIND+set}" = set; then +if test "${ac_cv_path_FIND+set}" = set; then : $as_echo_n "(cached) " >&6 else case $FIND in @@ -6737,14 +6663,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_FIND" && ac_cv_path_FIND=":" @@ -6753,19 +6679,19 @@ esac fi FIND=$ac_cv_path_FIND if test -n "$FIND"; then - { $as_echo "$as_me:$LINENO: result: $FIND" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5 $as_echo "$FIND" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "compress", so it can be a program name with args. set dummy compress; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_COMPRESS+set}" = set; then +if test "${ac_cv_path_COMPRESS+set}" = set; then : $as_echo_n "(cached) " >&6 else case $COMPRESS in @@ -6778,14 +6704,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_COMPRESS" && ac_cv_path_COMPRESS=":" @@ -6794,19 +6720,19 @@ esac fi COMPRESS=$ac_cv_path_COMPRESS if test -n "$COMPRESS"; then - { $as_echo "$as_me:$LINENO: result: $COMPRESS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPRESS" >&5 $as_echo "$COMPRESS" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "basename", so it can be a program name with args. set dummy basename; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BASENAME+set}" = set; then +if test "${ac_cv_path_BASENAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $BASENAME in @@ -6819,14 +6745,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BASENAME="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_BASENAME" && ac_cv_path_BASENAME=":" @@ -6835,19 +6761,19 @@ esac fi BASENAME=$ac_cv_path_BASENAME if test -n "$BASENAME"; then - { $as_echo "$as_me:$LINENO: result: $BASENAME" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASENAME" >&5 $as_echo "$BASENAME" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "dirname", so it can be a program name with args. set dummy dirname; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DIRNAME+set}" = set; then +if test "${ac_cv_path_DIRNAME+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DIRNAME in @@ -6860,14 +6786,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DIRNAME="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_DIRNAME" && ac_cv_path_DIRNAME=":" @@ -6876,19 +6802,19 @@ esac fi DIRNAME=$ac_cv_path_DIRNAME if test -n "$DIRNAME"; then - { $as_echo "$as_me:$LINENO: result: $DIRNAME" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIRNAME" >&5 $as_echo "$DIRNAME" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "sh", so it can be a program name with args. set dummy sh; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SHELL+set}" = set; then +if test "${ac_cv_path_SHELL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SHELL in @@ -6901,14 +6827,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHELL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_SHELL" && ac_cv_path_SHELL=":" @@ -6917,19 +6843,19 @@ esac fi SHELL=$ac_cv_path_SHELL if test -n "$SHELL"; then - { $as_echo "$as_me:$LINENO: result: $SHELL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHELL" >&5 $as_echo "$SHELL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "ln", so it can be a program name with args. set dummy ln; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LN+set}" = set; then +if test "${ac_cv_path_LN+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LN in @@ -6942,14 +6868,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_LN" && ac_cv_path_LN=":" @@ -6958,19 +6884,19 @@ esac fi LN=$ac_cv_path_LN if test -n "$LN"; then - { $as_echo "$as_me:$LINENO: result: $LN" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LN" >&5 $as_echo "$LN" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DOXYGEN+set}" = set; then +if test "${ac_cv_path_DOXYGEN+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DOXYGEN in @@ -6983,14 +6909,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_DOXYGEN" && ac_cv_path_DOXYGEN=":" @@ -6999,19 +6925,19 @@ esac fi DOXYGEN=$ac_cv_path_DOXYGEN if test -n "$DOXYGEN"; then - { $as_echo "$as_me:$LINENO: result: $DOXYGEN" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5 $as_echo "$DOXYGEN" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "dot", so it can be a program name with args. set dummy dot; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DOT+set}" = set; then +if test "${ac_cv_path_DOT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $DOT in @@ -7024,14 +6950,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_DOT" && ac_cv_path_DOT=":" @@ -7040,19 +6966,19 @@ esac fi DOT=$ac_cv_path_DOT if test -n "$DOT"; then - { $as_echo "$as_me:$LINENO: result: $DOT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5 $as_echo "$DOT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "wget", so it can be a program name with args. set dummy wget; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_WGET+set}" = set; then +if test "${ac_cv_path_WGET+set}" = set; then : $as_echo_n "(cached) " >&6 else case $WGET in @@ -7065,14 +6991,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_WGET" && ac_cv_path_WGET=":" @@ -7081,19 +7007,19 @@ esac fi WGET=$ac_cv_path_WGET if test -n "$WGET"; then - { $as_echo "$as_me:$LINENO: result: $WGET" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5 $as_echo "$WGET" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "curl", so it can be a program name with args. set dummy curl; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CURL+set}" = set; then +if test "${ac_cv_path_CURL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CURL in @@ -7106,14 +7032,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CURL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_CURL" && ac_cv_path_CURL=":" @@ -7122,19 +7048,19 @@ esac fi CURL=$ac_cv_path_CURL if test -n "$CURL"; then - { $as_echo "$as_me:$LINENO: result: $CURL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5 $as_echo "$CURL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "rubber", so it can be a program name with args. set dummy rubber; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_RUBBER+set}" = set; then +if test "${ac_cv_path_RUBBER+set}" = set; then : $as_echo_n "(cached) " >&6 else case $RUBBER in @@ -7147,14 +7073,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_RUBBER="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_RUBBER" && ac_cv_path_RUBBER=":" @@ -7163,19 +7089,19 @@ esac fi RUBBER=$ac_cv_path_RUBBER if test -n "$RUBBER"; then - { $as_echo "$as_me:$LINENO: result: $RUBBER" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RUBBER" >&5 $as_echo "$RUBBER" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "catdvi", so it can be a program name with args. set dummy catdvi; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CATDVI+set}" = set; then +if test "${ac_cv_path_CATDVI+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CATDVI in @@ -7188,14 +7114,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CATDVI="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_CATDVI" && ac_cv_path_CATDVI=":" @@ -7204,19 +7130,19 @@ esac fi CATDVI=$ac_cv_path_CATDVI if test -n "$CATDVI"; then - { $as_echo "$as_me:$LINENO: result: $CATDVI" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CATDVI" >&5 $as_echo "$CATDVI" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "kpsewhich", so it can be a program name with args. set dummy kpsewhich; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_KPATHSEA+set}" = set; then +if test "${ac_cv_path_KPATHSEA+set}" = set; then : $as_echo_n "(cached) " >&6 else case $KPATHSEA in @@ -7229,14 +7155,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_KPATHSEA="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_KPATHSEA" && ac_cv_path_KPATHSEA=":" @@ -7245,19 +7171,19 @@ esac fi KPATHSEA=$ac_cv_path_KPATHSEA if test -n "$KPATHSEA"; then - { $as_echo "$as_me:$LINENO: result: $KPATHSEA" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KPATHSEA" >&5 $as_echo "$KPATHSEA" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xmllint", so it can be a program name with args. set dummy xmllint; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XMLLINT+set}" = set; then +if test "${ac_cv_path_XMLLINT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XMLLINT in @@ -7270,14 +7196,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT=":" @@ -7286,19 +7212,19 @@ esac fi XMLLINT=$ac_cv_path_XMLLINT if test -n "$XMLLINT"; then - { $as_echo "$as_me:$LINENO: result: $XMLLINT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 $as_echo "$XMLLINT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xmlstarlet", so it can be a program name with args. set dummy xmlstarlet; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XMLSTARLET+set}" = set; then +if test "${ac_cv_path_XMLSTARLET+set}" = set; then : $as_echo_n "(cached) " >&6 else case $XMLSTARLET in @@ -7311,14 +7237,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XMLSTARLET="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_XMLSTARLET" && ac_cv_path_XMLSTARLET=":" @@ -7327,19 +7253,19 @@ esac fi XMLSTARLET=$ac_cv_path_XMLSTARLET if test -n "$XMLSTARLET"; then - { $as_echo "$as_me:$LINENO: result: $XMLSTARLET" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLSTARLET" >&5 $as_echo "$XMLSTARLET" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "git", so it can be a program name with args. set dummy git; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GIT+set}" = set; then +if test "${ac_cv_path_GIT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $GIT in @@ -7352,14 +7278,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GIT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_GIT" && ac_cv_path_GIT=":" @@ -7368,10 +7294,10 @@ esac fi GIT=$ac_cv_path_GIT if test -n "$GIT"; then - { $as_echo "$as_me:$LINENO: result: $GIT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GIT" >&5 $as_echo "$GIT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7383,9 +7309,9 @@ else if test "${CURL}" != ":" ; then else # Extract the first word of "fetch", so it can be a program name with args. set dummy fetch; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FETCH+set}" = set; then +if test "${ac_cv_path_FETCH+set}" = set; then : $as_echo_n "(cached) " >&6 else case $FETCH in @@ -7398,14 +7324,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FETCH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_FETCH" && ac_cv_path_FETCH=":" @@ -7414,10 +7340,10 @@ esac fi FETCH=$ac_cv_path_FETCH if test -n "$FETCH"; then - { $as_echo "$as_me:$LINENO: result: $FETCH" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FETCH" >&5 $as_echo "$FETCH" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7428,9 +7354,9 @@ fi # Extract the first word of "ldconfig", so it can be a program name with args. set dummy ldconfig; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LDCONFIG+set}" = set; then +if test "${ac_cv_path_LDCONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $LDCONFIG in @@ -7443,14 +7369,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_LDCONFIG" && ac_cv_path_LDCONFIG=":" @@ -7459,19 +7385,19 @@ esac fi LDCONFIG=$ac_cv_path_LDCONFIG if test -n "$LDCONFIG"; then - { $as_echo "$as_me:$LINENO: result: $LDCONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDCONFIG" >&5 $as_echo "$LDCONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "sha1sum", so it can be a program name with args. set dummy sha1sum; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SHA1SUM+set}" = set; then +if test "${ac_cv_path_SHA1SUM+set}" = set; then : $as_echo_n "(cached) " >&6 else case $SHA1SUM in @@ -7484,14 +7410,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SHA1SUM="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_SHA1SUM" && ac_cv_path_SHA1SUM="$ac_aux_dir/build_tools/sha1sum-sh" @@ -7500,19 +7426,19 @@ esac fi SHA1SUM=$ac_cv_path_SHA1SUM if test -n "$SHA1SUM"; then - { $as_echo "$as_me:$LINENO: result: $SHA1SUM" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHA1SUM" >&5 $as_echo "$SHA1SUM" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "openssl", so it can be a program name with args. set dummy openssl; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_OPENSSL+set}" = set; then +if test "${ac_cv_path_OPENSSL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $OPENSSL in @@ -7525,14 +7451,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_OPENSSL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path_OPENSSL" && ac_cv_path_OPENSSL=":" @@ -7541,18 +7467,18 @@ esac fi OPENSSL=$ac_cv_path_OPENSSL if test -n "$OPENSSL"; then - { $as_echo "$as_me:$LINENO: result: $OPENSSL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OPENSSL" >&5 $as_echo "$OPENSSL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -{ $as_echo "$as_me:$LINENO: checking for bison that supports parse-param" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bison that supports parse-param" >&5 $as_echo_n "checking for bison that supports parse-param... " >&6; } -if test "${ac_cv_path_BISON2+set}" = set; then +if test "${ac_cv_path_BISON2+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -7585,7 +7511,7 @@ __EOL__ fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_BISON2" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_BISON2" >&5 $as_echo "$ac_cv_path_BISON2" >&6; } if test "x${ac_cv_path_BISON2}" = "x" ; then BISON=: @@ -7604,9 +7530,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}soxmix", so it can be a program name with args. set dummy ${ac_tool_prefix}soxmix; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_SOXMIX+set}" = set; then +if test "${ac_cv_prog_SOXMIX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$SOXMIX"; then @@ -7617,24 +7543,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_SOXMIX="${ac_tool_prefix}soxmix" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi SOXMIX=$ac_cv_prog_SOXMIX if test -n "$SOXMIX"; then - { $as_echo "$as_me:$LINENO: result: $SOXMIX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SOXMIX" >&5 $as_echo "$SOXMIX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7644,9 +7570,9 @@ if test -z "$ac_cv_prog_SOXMIX"; then ac_ct_SOXMIX=$SOXMIX # Extract the first word of "soxmix", so it can be a program name with args. set dummy soxmix; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_SOXMIX+set}" = set; then +if test "${ac_cv_prog_ac_ct_SOXMIX+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_SOXMIX"; then @@ -7657,24 +7583,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_SOXMIX="soxmix" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi ac_ct_SOXMIX=$ac_cv_prog_ac_ct_SOXMIX if test -n "$ac_ct_SOXMIX"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_SOXMIX" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_SOXMIX" >&5 $as_echo "$ac_ct_SOXMIX" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7683,7 +7609,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -7695,9 +7621,7 @@ fi if test "${SOXMIX}" != ":" ; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_SOXMIX 1 -_ACEOF +$as_echo "#define HAVE_SOXMIX 1" >>confdefs.h fi @@ -7705,9 +7629,9 @@ for ac_prog in md5 md5sum gmd5sum digest do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_MD5+set}" = set; then +if test "${ac_cv_prog_MD5+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$MD5"; then @@ -7718,24 +7642,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_MD5="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi MD5=$ac_cv_prog_MD5 if test -n "$MD5"; then - { $as_echo "$as_me:$LINENO: result: $MD5" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MD5" >&5 $as_echo "$MD5" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7771,13 +7695,9 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -7795,39 +7715,12 @@ return pthread_join (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : acx_pthread_ok=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" @@ -7889,12 +7782,12 @@ for flag in $acx_pthread_flags; do case $flag in none) - { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 $as_echo_n "checking whether pthreads work without any flags... " >&6; } ;; -*) - { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 $as_echo_n "checking whether pthreads work with $flag... " >&6; } PTHREAD_CFLAGS="$flag" ;; @@ -7902,9 +7795,9 @@ $as_echo_n "checking whether pthreads work with $flag... " >&6; } pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_acx_pthread_config+set}" = set; then +if test "${ac_cv_prog_acx_pthread_config+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$acx_pthread_config"; then @@ -7915,14 +7808,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_acx_pthread_config="yes" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" @@ -7930,10 +7823,10 @@ fi fi acx_pthread_config=$ac_cv_prog_acx_pthread_config if test -n "$acx_pthread_config"; then - { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 $as_echo "$acx_pthread_config" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -7944,7 +7837,7 @@ fi ;; *) - { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 $as_echo_n "checking for the pthreads library -l$flag... " >&6; } PTHREAD_LIBS="-l$flag" ;; @@ -7964,11 +7857,7 @@ $as_echo_n "checking for the pthreads library -l$flag... " >&6; } # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -7981,43 +7870,16 @@ pthread_t th; pthread_join(th, 0); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : acx_pthread_ok=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" - { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test "x$acx_pthread_ok" = xyes; then break; @@ -8036,15 +7898,11 @@ if test "x$acx_pthread_ok" = xyes; then CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 $as_echo_n "checking for joinable pthread attribute... " >&6; } attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -8055,40 +7913,13 @@ int attr=$attr; return attr; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : attr_name=$attr; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext done - { $as_echo "$as_me:$LINENO: result: $attr_name" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 $as_echo "$attr_name" >&6; } if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then @@ -8098,14 +7929,14 @@ _ACEOF fi - { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 $as_echo_n "checking if more special flags are required for pthreads... " >&6; } flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac - { $as_echo "$as_me:$LINENO: result: ${flag}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 $as_echo "${flag}" >&6; } if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" @@ -8120,9 +7951,9 @@ $as_echo "${flag}" >&6; } do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then @@ -8133,24 +7964,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PTHREAD_CC="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then - { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 $as_echo "$PTHREAD_CC" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -8173,9 +8004,7 @@ fi # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$acx_pthread_ok" = xyes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h : else @@ -8198,7 +8027,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-dev-mode was given. -if test "${enable_dev_mode+set}" = set; then +if test "${enable_dev_mode+set}" = set; then : enableval=$enable_dev_mode; case "${enableval}" in y|ye|yes) AST_DEVMODE=yes ;; n|no) AST_DEVMODE=no ;; @@ -8210,9 +8039,7 @@ if test "${enable_dev_mode+set}" = set; then AST_DEVMODE=yes AST_DEVMODE_STRICT=yes ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-dev-mode" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-dev-mode" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --enable-dev-mode" "$LINENO" 5 ;; esac fi @@ -8222,13 +8049,11 @@ fi AST_CODE_COVERAGE=no # Check whether --enable-coverage was given. -if test "${enable_coverage+set}" = set; then +if test "${enable_coverage+set}" = set; then : enableval=$enable_coverage; case "${enableval}" in y|ye|yes) AST_CODE_COVERAGE=yes ;; n|no) AST_CODE_COVERAGE=no ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-coverage" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-coverage" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --enable-coverage" "$LINENO" 5 ;; esac fi @@ -8250,7 +8075,7 @@ fi PBX_ALSA=0 # Check whether --with-asound was given. -if test "${with_asound+set}" = set; then +if test "${with_asound+set}" = set; then : withval=$with_asound; case ${withval} in n|no) @@ -8277,13 +8102,12 @@ fi - BFD_DESCRIP="Debug symbol decoding" BFD_OPTION="bfd" PBX_BFD=0 # Check whether --with-bfd was given. -if test "${with_bfd+set}" = set; then +if test "${with_bfd+set}" = set; then : withval=$with_bfd; case ${withval} in n|no) @@ -8310,7 +8134,6 @@ fi - # BKTR is used for backtrace support on platforms that do not # have it natively. @@ -8319,7 +8142,7 @@ fi PBX_BKTR=0 # Check whether --with-execinfo was given. -if test "${with_execinfo+set}" = set; then +if test "${with_execinfo+set}" = set; then : withval=$with_execinfo; case ${withval} in n|no) @@ -8346,13 +8169,12 @@ fi - BLUETOOTH_DESCRIP="Bluetooth" BLUETOOTH_OPTION="bluetooth" PBX_BLUETOOTH=0 # Check whether --with-bluetooth was given. -if test "${with_bluetooth+set}" = set; then +if test "${with_bluetooth+set}" = set; then : withval=$with_bluetooth; case ${withval} in n|no) @@ -8379,13 +8201,12 @@ fi - CAP_DESCRIP="POSIX 1.e capabilities" CAP_OPTION="cap" PBX_CAP=0 # Check whether --with-cap was given. -if test "${with_cap+set}" = set; then +if test "${with_cap+set}" = set; then : withval=$with_cap; case ${withval} in n|no) @@ -8412,13 +8233,12 @@ fi - COROSYNC_DESCRIP="Corosync" COROSYNC_OPTION="cpg" PBX_COROSYNC=0 # Check whether --with-cpg was given. -if test "${with_cpg+set}" = set; then +if test "${with_cpg+set}" = set; then : withval=$with_cpg; case ${withval} in n|no) @@ -8445,7 +8265,6 @@ fi - COROSYNC_CFG_STATE_TRACK_DESCRIP="A callback only in corosync 1.x" COROSYNC_CFG_STATE_TRACK_OPTION=cfg COROSYNC_CFG_STATE_TRACK_DIR=${COROSYNC_DIR} @@ -8458,13 +8277,12 @@ PBX_COROSYNC_CFG_STATE_TRACK=0 - CURSES_DESCRIP="curses" CURSES_OPTION="curses" PBX_CURSES=0 # Check whether --with-curses was given. -if test "${with_curses+set}" = set; then +if test "${with_curses+set}" = set; then : withval=$with_curses; case ${withval} in n|no) @@ -8491,13 +8309,12 @@ fi - CRYPTO_DESCRIP="OpenSSL Cryptography" CRYPTO_OPTION="crypto" PBX_CRYPTO=0 # Check whether --with-crypto was given. -if test "${with_crypto+set}" = set; then +if test "${with_crypto+set}" = set; then : withval=$with_crypto; case ${withval} in n|no) @@ -8524,7 +8341,6 @@ fi - OPENSSL_SRTP_DESCRIP="OpenSSL SRTP Extension Support" OPENSSL_SRTP_OPTION=crypto OPENSSL_SRTP_DIR=${CRYPTO_DIR} @@ -8537,13 +8353,12 @@ PBX_OPENSSL_SRTP=0 - DAHDI_DESCRIP="DAHDI" DAHDI_OPTION="dahdi" PBX_DAHDI=0 # Check whether --with-dahdi was given. -if test "${with_dahdi+set}" = set; then +if test "${with_dahdi+set}" = set; then : withval=$with_dahdi; case ${withval} in n|no) @@ -8570,13 +8385,12 @@ fi - FFMPEG_DESCRIP="Ffmpeg and avcodec" FFMPEG_OPTION="avcodec" PBX_FFMPEG=0 # Check whether --with-avcodec was given. -if test "${with_avcodec+set}" = set; then +if test "${with_avcodec+set}" = set; then : withval=$with_avcodec; case ${withval} in n|no) @@ -8603,13 +8417,12 @@ fi - GSM_DESCRIP="External GSM" GSM_OPTION="gsm" PBX_GSM=0 # Check whether --with-gsm was given. -if test "${with_gsm+set}" = set; then +if test "${with_gsm+set}" = set; then : withval=$with_gsm; case ${withval} in n|no) @@ -8636,13 +8449,12 @@ fi - ILBC_DESCRIP="System iLBC" ILBC_OPTION="ilbc" PBX_ILBC=0 # Check whether --with-ilbc was given. -if test "${with_ilbc+set}" = set; then +if test "${with_ilbc+set}" = set; then : withval=$with_ilbc; case ${withval} in n|no) @@ -8669,13 +8481,12 @@ fi - GTK2_DESCRIP="gtk2" GTK2_OPTION="gtk2" PBX_GTK2=0 # Check whether --with-gtk2 was given. -if test "${with_gtk2+set}" = set; then +if test "${with_gtk2+set}" = set; then : withval=$with_gtk2; case ${withval} in n|no) @@ -8702,13 +8513,12 @@ fi - GMIME_DESCRIP="GMime" GMIME_OPTION="gmime" PBX_GMIME=0 # Check whether --with-gmime was given. -if test "${with_gmime+set}" = set; then +if test "${with_gmime+set}" = set; then : withval=$with_gmime; case ${withval} in n|no) @@ -8735,13 +8545,12 @@ fi - OPENH323_DESCRIP="OpenH323" OPENH323_OPTION="h323" PBX_OPENH323=0 # Check whether --with-h323 was given. -if test "${with_h323+set}" = set; then +if test "${with_h323+set}" = set; then : withval=$with_h323; case ${withval} in n|no) @@ -8768,13 +8577,12 @@ fi - HOARD_DESCRIP="Hoard Memory Allocator" HOARD_OPTION="hoard" PBX_HOARD=0 # Check whether --with-hoard was given. -if test "${with_hoard+set}" = set; then +if test "${with_hoard+set}" = set; then : withval=$with_hoard; case ${withval} in n|no) @@ -8801,13 +8609,12 @@ fi - ICAL_DESCRIP="iCal" ICAL_OPTION="ical" PBX_ICAL=0 # Check whether --with-ical was given. -if test "${with_ical+set}" = set; then +if test "${with_ical+set}" = set; then : withval=$with_ical; case ${withval} in n|no) @@ -8834,13 +8641,12 @@ fi - ICONV_DESCRIP="Iconv" ICONV_OPTION="iconv" PBX_ICONV=0 # Check whether --with-iconv was given. -if test "${with_iconv+set}" = set; then +if test "${with_iconv+set}" = set; then : withval=$with_iconv; case ${withval} in n|no) @@ -8867,13 +8673,12 @@ fi - IKSEMEL_DESCRIP="Iksemel Jabber" IKSEMEL_OPTION="iksemel" PBX_IKSEMEL=0 # Check whether --with-iksemel was given. -if test "${with_iksemel+set}" = set; then +if test "${with_iksemel+set}" = set; then : withval=$with_iksemel; case ${withval} in n|no) @@ -8900,13 +8705,12 @@ fi - IMAP_TK_DESCRIP="UW IMAP Toolkit" IMAP_TK_OPTION="imap" PBX_IMAP_TK=0 # Check whether --with-imap was given. -if test "${with_imap+set}" = set; then +if test "${with_imap+set}" = set; then : withval=$with_imap; case ${withval} in n|no) @@ -8933,13 +8737,12 @@ fi - INOTIFY_DESCRIP="inotify support" INOTIFY_OPTION="inotify" PBX_INOTIFY=0 # Check whether --with-inotify was given. -if test "${with_inotify+set}" = set; then +if test "${with_inotify+set}" = set; then : withval=$with_inotify; case ${withval} in n|no) @@ -8966,13 +8769,12 @@ fi - IODBC_DESCRIP="iODBC" IODBC_OPTION="iodbc" PBX_IODBC=0 # Check whether --with-iodbc was given. -if test "${with_iodbc+set}" = set; then +if test "${with_iodbc+set}" = set; then : withval=$with_iodbc; case ${withval} in n|no) @@ -8999,13 +8801,12 @@ fi - ISDNNET_DESCRIP="ISDN4Linux" ISDNNET_OPTION="isdnnet" PBX_ISDNNET=0 # Check whether --with-isdnnet was given. -if test "${with_isdnnet+set}" = set; then +if test "${with_isdnnet+set}" = set; then : withval=$with_isdnnet; case ${withval} in n|no) @@ -9032,13 +8833,12 @@ fi - JACK_DESCRIP="Jack Audio Connection Kit" JACK_OPTION="jack" PBX_JACK=0 # Check whether --with-jack was given. -if test "${with_jack+set}" = set; then +if test "${with_jack+set}" = set; then : withval=$with_jack; case ${withval} in n|no) @@ -9065,13 +8865,12 @@ fi - KQUEUE_DESCRIP="kqueue support" KQUEUE_OPTION="kqueue" PBX_KQUEUE=0 # Check whether --with-kqueue was given. -if test "${with_kqueue+set}" = set; then +if test "${with_kqueue+set}" = set; then : withval=$with_kqueue; case ${withval} in n|no) @@ -9098,13 +8897,12 @@ fi - LDAP_DESCRIP="OpenLDAP" LDAP_OPTION="ldap" PBX_LDAP=0 # Check whether --with-ldap was given. -if test "${with_ldap+set}" = set; then +if test "${with_ldap+set}" = set; then : withval=$with_ldap; case ${withval} in n|no) @@ -9143,24 +8941,6 @@ fi - - - - - - - - - - - - - - - - - - @@ -9171,7 +8951,7 @@ fi # Check whether --with-libcurl was given. -if test "${with_libcurl+set}" = set; then +if test "${with_libcurl+set}" = set; then : withval=$with_libcurl; _libcurl_with=$withval else _libcurl_with=yes @@ -9184,9 +8964,9 @@ fi do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then +if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -9197,24 +8977,24 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -9232,9 +9012,9 @@ done _libcurl_ldflags="-L$withval/lib" # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path__libcurl_config+set}" = set; then +if test "${ac_cv_path__libcurl_config+set}" = set; then : $as_echo_n "(cached) " >&6 else case $_libcurl_config in @@ -9247,14 +9027,14 @@ for as_dir in "$withval/bin" do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS test -z "$ac_cv_path__libcurl_config" && ac_cv_path__libcurl_config=""$withval/bin"" @@ -9263,10 +9043,10 @@ esac fi _libcurl_config=$ac_cv_path__libcurl_config if test -n "$_libcurl_config"; then - { $as_echo "$as_me:$LINENO: result: $_libcurl_config" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_libcurl_config" >&5 $as_echo "$_libcurl_config" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -9274,9 +9054,9 @@ fi else # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path__libcurl_config+set}" = set; then +if test "${ac_cv_path__libcurl_config+set}" = set; then : $as_echo_n "(cached) " >&6 else case $_libcurl_config in @@ -9289,14 +9069,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -9304,10 +9084,10 @@ esac fi _libcurl_config=$ac_cv_path__libcurl_config if test -n "$_libcurl_config"; then - { $as_echo "$as_me:$LINENO: result: $_libcurl_config" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_libcurl_config" >&5 $as_echo "$_libcurl_config" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -9315,23 +9095,23 @@ fi fi if test x$_libcurl_config != "x" ; then - { $as_echo "$as_me:$LINENO: checking for the version of libcurl" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the version of libcurl" >&5 $as_echo_n "checking for the version of libcurl... " >&6; } -if test "${libcurl_cv_lib_curl_version+set}" = set; then +if test "${libcurl_cv_lib_curl_version+set}" = set; then : $as_echo_n "(cached) " >&6 else libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $2}'` fi -{ $as_echo "$as_me:$LINENO: result: $libcurl_cv_lib_curl_version" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libcurl_cv_lib_curl_version" >&5 $as_echo "$libcurl_cv_lib_curl_version" >&6; } _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse` _libcurl_wanted=`echo 7.10.1 | $_libcurl_version_parse` if test $_libcurl_wanted -gt 0 ; then - { $as_echo "$as_me:$LINENO: checking for libcurl >= version 7.10.1" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcurl >= version 7.10.1" >&5 $as_echo_n "checking for libcurl >= version 7.10.1... " >&6; } -if test "${libcurl_cv_lib_version_ok+set}" = set; then +if test "${libcurl_cv_lib_version_ok+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -9342,7 +9122,7 @@ else fi fi -{ $as_echo "$as_me:$LINENO: result: $libcurl_cv_lib_version_ok" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libcurl_cv_lib_version_ok" >&5 $as_echo "$libcurl_cv_lib_version_ok" >&6; } fi @@ -9383,9 +9163,9 @@ $as_echo "$libcurl_cv_lib_version_ok" >&6; } # link line (or failing that, "-lcurl") is enough. CURL_LIB=${CURL_LIB-"$_libcurl_ldflags -lcurl"} - { $as_echo "$as_me:$LINENO: checking whether libcurl is usable" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libcurl is usable" >&5 $as_echo_n "checking whether libcurl is usable... " >&6; } -if test "${libcurl_cv_lib_curl_usable+set}" = set; then +if test "${libcurl_cv_lib_curl_usable+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -9394,11 +9174,7 @@ else _libcurl_save_libs=$LIBS LIBS="$CURL_LIB $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -9420,38 +9196,13 @@ x=CURLOPT_VERBOSE; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : libcurl_cv_lib_curl_usable=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - libcurl_cv_lib_curl_usable=no + libcurl_cv_lib_curl_usable=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS=$_libcurl_save_cppflags LIBS=$_libcurl_save_libs @@ -9459,7 +9210,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ unset _libcurl_save_libs fi -{ $as_echo "$as_me:$LINENO: result: $libcurl_cv_lib_curl_usable" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libcurl_cv_lib_curl_usable" >&5 $as_echo "$libcurl_cv_lib_curl_usable" >&6; } if test $libcurl_cv_lib_curl_usable = yes ; then @@ -9472,98 +9223,12 @@ $as_echo "$libcurl_cv_lib_curl_usable" >&6; } _libcurl_save_libs=$LIBS LIBS="$LIBS $CURL_LIB" - { $as_echo "$as_me:$LINENO: checking for curl_free" >&5 -$as_echo_n "checking for curl_free... " >&6; } -if test "${ac_cv_func_curl_free+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define curl_free to an innocuous variant, in case declares curl_free. - For example, HP-UX 11i declares gettimeofday. */ -#define curl_free innocuous_curl_free + ac_fn_c_check_func "$LINENO" "curl_free" "ac_cv_func_curl_free" +if test "x$ac_cv_func_curl_free" = x""yes; then : -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char curl_free (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef curl_free - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char curl_free (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_curl_free || defined __stub___curl_free -choke me -#endif - -int -main () -{ -return curl_free (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_curl_free=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_curl_free=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_curl_free" >&5 -$as_echo "$ac_cv_func_curl_free" >&6; } -if test "x$ac_cv_func_curl_free" = x""yes; then - : else -cat >>confdefs.h <<\_ACEOF -#define curl_free free -_ACEOF +$as_echo "#define curl_free free" >>confdefs.h fi @@ -9574,9 +9239,7 @@ fi unset _libcurl_save_libs -cat >>confdefs.h <<\_ACEOF -#define HAVE_CURL 1 -_ACEOF +$as_echo "#define HAVE_CURL 1" >>confdefs.h @@ -9648,7 +9311,7 @@ _ACEOF PBX_LIBEDIT=0 # Check whether --with-libedit was given. -if test "${with_libedit+set}" = set; then +if test "${with_libedit+set}" = set; then : withval=$with_libedit; case ${withval} in n|no) @@ -9675,13 +9338,12 @@ fi - LIBXML2_DESCRIP="LibXML2" LIBXML2_OPTION="libxml2" PBX_LIBXML2=0 # Check whether --with-libxml2 was given. -if test "${with_libxml2+set}" = set; then +if test "${with_libxml2+set}" = set; then : withval=$with_libxml2; case ${withval} in n|no) @@ -9708,13 +9370,12 @@ fi - LTDL_DESCRIP="libtool" LTDL_OPTION="ltdl" PBX_LTDL=0 # Check whether --with-ltdl was given. -if test "${with_ltdl+set}" = set; then +if test "${with_ltdl+set}" = set; then : withval=$with_ltdl; case ${withval} in n|no) @@ -9741,13 +9402,12 @@ fi - LUA_DESCRIP="Lua" LUA_OPTION="lua" PBX_LUA=0 # Check whether --with-lua was given. -if test "${with_lua+set}" = set; then +if test "${with_lua+set}" = set; then : withval=$with_lua; case ${withval} in n|no) @@ -9774,13 +9434,12 @@ fi - MISDN_DESCRIP="mISDN user" MISDN_OPTION="misdn" PBX_MISDN=0 # Check whether --with-misdn was given. -if test "${with_misdn+set}" = set; then +if test "${with_misdn+set}" = set; then : withval=$with_misdn; case ${withval} in n|no) @@ -9807,13 +9466,12 @@ fi - MYSQLCLIENT_DESCRIP="MySQL client" MYSQLCLIENT_OPTION="mysqlclient" PBX_MYSQLCLIENT=0 # Check whether --with-mysqlclient was given. -if test "${with_mysqlclient+set}" = set; then +if test "${with_mysqlclient+set}" = set; then : withval=$with_mysqlclient; case ${withval} in n|no) @@ -9840,13 +9498,12 @@ fi - NBS_DESCRIP="Network Broadcast Sound" NBS_OPTION="nbs" PBX_NBS=0 # Check whether --with-nbs was given. -if test "${with_nbs+set}" = set; then +if test "${with_nbs+set}" = set; then : withval=$with_nbs; case ${withval} in n|no) @@ -9873,13 +9530,12 @@ fi - NCURSES_DESCRIP="ncurses" NCURSES_OPTION="ncurses" PBX_NCURSES=0 # Check whether --with-ncurses was given. -if test "${with_ncurses+set}" = set; then +if test "${with_ncurses+set}" = set; then : withval=$with_ncurses; case ${withval} in n|no) @@ -9906,13 +9562,12 @@ fi - NEON_DESCRIP="neon" NEON_OPTION="neon" PBX_NEON=0 # Check whether --with-neon was given. -if test "${with_neon+set}" = set; then +if test "${with_neon+set}" = set; then : withval=$with_neon; case ${withval} in n|no) @@ -9939,13 +9594,12 @@ fi - NEON29_DESCRIP="neon29" NEON29_OPTION="neon29" PBX_NEON29=0 # Check whether --with-neon29 was given. -if test "${with_neon29+set}" = set; then +if test "${with_neon29+set}" = set; then : withval=$with_neon29; case ${withval} in n|no) @@ -9972,13 +9626,12 @@ fi - NETSNMP_DESCRIP="Net-SNMP" NETSNMP_OPTION="netsnmp" PBX_NETSNMP=0 # Check whether --with-netsnmp was given. -if test "${with_netsnmp+set}" = set; then +if test "${with_netsnmp+set}" = set; then : withval=$with_netsnmp; case ${withval} in n|no) @@ -10005,13 +9658,12 @@ fi - NEWT_DESCRIP="newt" NEWT_OPTION="newt" PBX_NEWT=0 # Check whether --with-newt was given. -if test "${with_newt+set}" = set; then +if test "${with_newt+set}" = set; then : withval=$with_newt; case ${withval} in n|no) @@ -10038,13 +9690,12 @@ fi - OGG_DESCRIP="OGG" OGG_OPTION="ogg" PBX_OGG=0 # Check whether --with-ogg was given. -if test "${with_ogg+set}" = set; then +if test "${with_ogg+set}" = set; then : withval=$with_ogg; case ${withval} in n|no) @@ -10071,13 +9722,12 @@ fi - OPENR2_DESCRIP="MFR2" OPENR2_OPTION="openr2" PBX_OPENR2=0 # Check whether --with-openr2 was given. -if test "${with_openr2+set}" = set; then +if test "${with_openr2+set}" = set; then : withval=$with_openr2; case ${withval} in n|no) @@ -10104,13 +9754,12 @@ fi - OSPTK_DESCRIP="OSP Toolkit" OSPTK_OPTION="osptk" PBX_OSPTK=0 # Check whether --with-osptk was given. -if test "${with_osptk+set}" = set; then +if test "${with_osptk+set}" = set; then : withval=$with_osptk; case ${withval} in n|no) @@ -10137,13 +9786,12 @@ fi - OSS_DESCRIP="Open Sound System" OSS_OPTION="oss" PBX_OSS=0 # Check whether --with-oss was given. -if test "${with_oss+set}" = set; then +if test "${with_oss+set}" = set; then : withval=$with_oss; case ${withval} in n|no) @@ -10170,13 +9818,12 @@ fi - PGSQL_DESCRIP="PostgreSQL" PGSQL_OPTION="postgres" PBX_PGSQL=0 # Check whether --with-postgres was given. -if test "${with_postgres+set}" = set; then +if test "${with_postgres+set}" = set; then : withval=$with_postgres; case ${withval} in n|no) @@ -10203,13 +9850,12 @@ fi - POPT_DESCRIP="popt" POPT_OPTION="popt" PBX_POPT=0 # Check whether --with-popt was given. -if test "${with_popt+set}" = set; then +if test "${with_popt+set}" = set; then : withval=$with_popt; case ${withval} in n|no) @@ -10236,13 +9882,12 @@ fi - PORTAUDIO_DESCRIP="PortAudio" PORTAUDIO_OPTION="portaudio" PBX_PORTAUDIO=0 # Check whether --with-portaudio was given. -if test "${with_portaudio+set}" = set; then +if test "${with_portaudio+set}" = set; then : withval=$with_portaudio; case ${withval} in n|no) @@ -10269,13 +9914,12 @@ fi - PRI_DESCRIP="ISDN PRI" PRI_OPTION="pri" PBX_PRI=0 # Check whether --with-pri was given. -if test "${with_pri+set}" = set; then +if test "${with_pri+set}" = set; then : withval=$with_pri; case ${withval} in n|no) @@ -10302,7 +9946,6 @@ fi - PRI_L2_PERSISTENCE_DESCRIP="ISDN Layer 2 persistence option" PRI_L2_PERSISTENCE_OPTION=pri PRI_L2_PERSISTENCE_DIR=${PRI_DIR} @@ -10315,7 +9958,6 @@ PBX_PRI_L2_PERSISTENCE=0 - PRI_DATETIME_SEND_DESCRIP="ISDN PRI Date/time ie send policy" PRI_DATETIME_SEND_OPTION=pri PRI_DATETIME_SEND_DIR=${PRI_DIR} @@ -10328,7 +9970,6 @@ PBX_PRI_DATETIME_SEND=0 - PRI_MWI_V2_DESCRIP="ISDN PRI Message Waiting Indication (Fixed)" PRI_MWI_V2_OPTION=pri PRI_MWI_V2_DIR=${PRI_DIR} @@ -10341,7 +9982,6 @@ PBX_PRI_MWI_V2=0 - PRI_DISPLAY_TEXT_DESCRIP="ISDN PRI user display text IE contents during call" PRI_DISPLAY_TEXT_OPTION=pri PRI_DISPLAY_TEXT_DIR=${PRI_DIR} @@ -10354,7 +9994,6 @@ PBX_PRI_DISPLAY_TEXT=0 - PRI_MWI_DESCRIP="ISDN PRI Message Waiting Indication" PRI_MWI_OPTION=pri PRI_MWI_DIR=${PRI_DIR} @@ -10367,7 +10006,6 @@ PBX_PRI_MWI=0 - PRI_MCID_DESCRIP="ISDN PRI Malicious Call ID" PRI_MCID_OPTION=pri PRI_MCID_DIR=${PRI_DIR} @@ -10380,7 +10018,6 @@ PBX_PRI_MCID=0 - PRI_CALL_WAITING_DESCRIP="ISDN PRI call waiting supplementary service" PRI_CALL_WAITING_OPTION=pri PRI_CALL_WAITING_DIR=${PRI_DIR} @@ -10393,7 +10030,6 @@ PBX_PRI_CALL_WAITING=0 - PRI_AOC_EVENTS_DESCRIP="ISDN PRI advice of charge supplementary service events" PRI_AOC_EVENTS_OPTION=pri PRI_AOC_EVENTS_DIR=${PRI_DIR} @@ -10406,7 +10042,6 @@ PBX_PRI_AOC_EVENTS=0 - PRI_TRANSFER_DESCRIP="ISDN PRI call transfer supplementary service" PRI_TRANSFER_OPTION=pri PRI_TRANSFER_DIR=${PRI_DIR} @@ -10419,7 +10054,6 @@ PBX_PRI_TRANSFER=0 - PRI_CCSS_DESCRIP="ISDN PRI call completion supplementary service" PRI_CCSS_OPTION=pri PRI_CCSS_DIR=${PRI_DIR} @@ -10432,7 +10066,6 @@ PBX_PRI_CCSS=0 - PRI_HANGUP_FIX_DESCRIP="ISDN PRI hangup fix" PRI_HANGUP_FIX_OPTION=pri PRI_HANGUP_FIX_DIR=${PRI_DIR} @@ -10445,7 +10078,6 @@ PBX_PRI_HANGUP_FIX=0 - PRI_SUBADDR_DESCRIP="ISDN PRI subaddressing" PRI_SUBADDR_OPTION=pri PRI_SUBADDR_DIR=${PRI_DIR} @@ -10458,7 +10090,6 @@ PBX_PRI_SUBADDR=0 - PRI_CALL_HOLD_DESCRIP="ISDN PRI call hold" PRI_CALL_HOLD_OPTION=pri PRI_CALL_HOLD_DIR=${PRI_DIR} @@ -10471,7 +10102,6 @@ PBX_PRI_CALL_HOLD=0 - PRI_CALL_REROUTING_DESCRIP="ISDN PRI call rerouting and call deflection" PRI_CALL_REROUTING_OPTION=pri PRI_CALL_REROUTING_DIR=${PRI_DIR} @@ -10484,7 +10114,6 @@ PBX_PRI_CALL_REROUTING=0 - PRI_SETUP_KEYPAD_DESCRIP="ISDN PRI keypad facility in SETUP" PRI_SETUP_KEYPAD_OPTION=pri PRI_SETUP_KEYPAD_DIR=${PRI_DIR} @@ -10496,7 +10125,6 @@ PBX_PRI_SETUP_KEYPAD=0 - # ------------------------------------v # TODO: The code can be changed to always include these features now. # These features will always be present if pri_connected_line_update is available. @@ -10513,7 +10141,6 @@ PBX_PRI_INBANDDISCONNECT=0 - PRI_PROG_W_CAUSE_DESCRIP="ISDN progress with cause" PRI_PROG_W_CAUSE_OPTION=pri PRI_PROG_W_CAUSE_DIR=${PRI_DIR} @@ -10526,7 +10153,6 @@ PBX_PRI_PROG_W_CAUSE=0 - PRI_SERVICE_MESSAGES_DESCRIP="ISDN service messages" PRI_SERVICE_MESSAGES_OPTION=pri PRI_SERVICE_MESSAGES_DIR=${PRI_DIR} @@ -10539,7 +10165,6 @@ PBX_PRI_SERVICE_MESSAGES=0 - PRI_REVERSE_CHARGE_DESCRIP="ISDN reverse charge" PRI_REVERSE_CHARGE_OPTION=pri PRI_REVERSE_CHARGE_DIR=${PRI_DIR} @@ -10551,7 +10176,6 @@ PBX_PRI_REVERSE_CHARGE=0 - # ------------------------------------^ PWLIB_DESCRIP="PWlib" @@ -10559,7 +10183,7 @@ PBX_PRI_REVERSE_CHARGE=0 PBX_PWLIB=0 # Check whether --with-pwlib was given. -if test "${with_pwlib+set}" = set; then +if test "${with_pwlib+set}" = set; then : withval=$with_pwlib; case ${withval} in n|no) @@ -10586,13 +10210,12 @@ fi - RADIUS_DESCRIP="Radius Client" RADIUS_OPTION="radius" PBX_RADIUS=0 # Check whether --with-radius was given. -if test "${with_radius+set}" = set; then +if test "${with_radius+set}" = set; then : withval=$with_radius; case ${withval} in n|no) @@ -10619,13 +10242,12 @@ fi - RESAMPLE_DESCRIP="LIBRESAMPLE" RESAMPLE_OPTION="resample" PBX_RESAMPLE=0 # Check whether --with-resample was given. -if test "${with_resample+set}" = set; then +if test "${with_resample+set}" = set; then : withval=$with_resample; case ${withval} in n|no) @@ -10652,13 +10274,12 @@ fi - SDL_DESCRIP="Sdl" SDL_OPTION="sdl" PBX_SDL=0 # Check whether --with-sdl was given. -if test "${with_sdl+set}" = set; then +if test "${with_sdl+set}" = set; then : withval=$with_sdl; case ${withval} in n|no) @@ -10685,13 +10306,12 @@ fi - SDL_IMAGE_DESCRIP="Sdl Image" SDL_IMAGE_OPTION="SDL_image" PBX_SDL_IMAGE=0 # Check whether --with-SDL_image was given. -if test "${with_SDL_image+set}" = set; then +if test "${with_SDL_image+set}" = set; then : withval=$with_SDL_image; case ${withval} in n|no) @@ -10719,9 +10339,8 @@ fi - # Check whether --with-sounds-cache was given. -if test "${with_sounds_cache+set}" = set; then +if test "${with_sounds_cache+set}" = set; then : withval=$with_sounds_cache; case ${withval} in n|no) @@ -10748,7 +10367,7 @@ fi PBX_SPANDSP=0 # Check whether --with-spandsp was given. -if test "${with_spandsp+set}" = set; then +if test "${with_spandsp+set}" = set; then : withval=$with_spandsp; case ${withval} in n|no) @@ -10775,13 +10394,12 @@ fi - SS7_DESCRIP="ISDN SS7" SS7_OPTION="ss7" PBX_SS7=0 # Check whether --with-ss7 was given. -if test "${with_ss7+set}" = set; then +if test "${with_ss7+set}" = set; then : withval=$with_ss7; case ${withval} in n|no) @@ -10808,13 +10426,12 @@ fi - SPEEX_DESCRIP="Speex" SPEEX_OPTION="speex" PBX_SPEEX=0 # Check whether --with-speex was given. -if test "${with_speex+set}" = set; then +if test "${with_speex+set}" = set; then : withval=$with_speex; case ${withval} in n|no) @@ -10841,13 +10458,12 @@ fi - SPEEX_PREPROCESS_DESCRIP="Speex preprocess routines" SPEEX_PREPROCESS_OPTION="speex" PBX_SPEEX_PREPROCESS=0 # Check whether --with-speex was given. -if test "${with_speex+set}" = set; then +if test "${with_speex+set}" = set; then : withval=$with_speex; case ${withval} in n|no) @@ -10874,13 +10490,12 @@ fi - SPEEXDSP_DESCRIP="SpeexDSP" SPEEXDSP_OPTION="speexdsp" PBX_SPEEXDSP=0 # Check whether --with-speexdsp was given. -if test "${with_speexdsp+set}" = set; then +if test "${with_speexdsp+set}" = set; then : withval=$with_speexdsp; case ${withval} in n|no) @@ -10907,7 +10522,6 @@ fi - SPEEX_PREPROCESS_DESCRIP="speex_preprocess_ctl" SPEEX_PREPROCESS_OPTION=speex @@ -10919,13 +10533,12 @@ PBX_SPEEX_PREPROCESS=0 - SQLITE_DESCRIP="SQLite" SQLITE_OPTION="sqlite" PBX_SQLITE=0 # Check whether --with-sqlite was given. -if test "${with_sqlite+set}" = set; then +if test "${with_sqlite+set}" = set; then : withval=$with_sqlite; case ${withval} in n|no) @@ -10952,13 +10565,12 @@ fi - SQLITE3_DESCRIP="SQLite" SQLITE3_OPTION="sqlite3" PBX_SQLITE3=0 # Check whether --with-sqlite3 was given. -if test "${with_sqlite3+set}" = set; then +if test "${with_sqlite3+set}" = set; then : withval=$with_sqlite3; case ${withval} in n|no) @@ -10985,13 +10597,12 @@ fi - SRTP_DESCRIP="Secure RTP" SRTP_OPTION="srtp" PBX_SRTP=0 # Check whether --with-srtp was given. -if test "${with_srtp+set}" = set; then +if test "${with_srtp+set}" = set; then : withval=$with_srtp; case ${withval} in n|no) @@ -11018,13 +10629,12 @@ fi - OPENSSL_DESCRIP="OpenSSL Secure Sockets Layer" OPENSSL_OPTION="ssl" PBX_OPENSSL=0 # Check whether --with-ssl was given. -if test "${with_ssl+set}" = set; then +if test "${with_ssl+set}" = set; then : withval=$with_ssl; case ${withval} in n|no) @@ -11051,13 +10661,12 @@ fi - SUPPSERV_DESCRIP="mISDN Supplemental Services" SUPPSERV_OPTION="suppserv" PBX_SUPPSERV=0 # Check whether --with-suppserv was given. -if test "${with_suppserv+set}" = set; then +if test "${with_suppserv+set}" = set; then : withval=$with_suppserv; case ${withval} in n|no) @@ -11084,13 +10693,12 @@ fi - FREETDS_DESCRIP="FreeTDS" FREETDS_OPTION="tds" PBX_FREETDS=0 # Check whether --with-tds was given. -if test "${with_tds+set}" = set; then +if test "${with_tds+set}" = set; then : withval=$with_tds; case ${withval} in n|no) @@ -11117,13 +10725,12 @@ fi - TERMCAP_DESCRIP="Termcap" TERMCAP_OPTION="termcap" PBX_TERMCAP=0 # Check whether --with-termcap was given. -if test "${with_termcap+set}" = set; then +if test "${with_termcap+set}" = set; then : withval=$with_termcap; case ${withval} in n|no) @@ -11150,13 +10757,12 @@ fi - TIMERFD_DESCRIP="timerfd" TIMERFD_OPTION="timerfd" PBX_TIMERFD=0 # Check whether --with-timerfd was given. -if test "${with_timerfd+set}" = set; then +if test "${with_timerfd+set}" = set; then : withval=$with_timerfd; case ${withval} in n|no) @@ -11183,13 +10789,12 @@ fi - TINFO_DESCRIP="Term Info" TINFO_OPTION="tinfo" PBX_TINFO=0 # Check whether --with-tinfo was given. -if test "${with_tinfo+set}" = set; then +if test "${with_tinfo+set}" = set; then : withval=$with_tinfo; case ${withval} in n|no) @@ -11216,13 +10821,12 @@ fi - TONEZONE_DESCRIP="tonezone" TONEZONE_OPTION="tonezone" PBX_TONEZONE=0 # Check whether --with-tonezone was given. -if test "${with_tonezone+set}" = set; then +if test "${with_tonezone+set}" = set; then : withval=$with_tonezone; case ${withval} in n|no) @@ -11249,13 +10853,12 @@ fi - UNIXODBC_DESCRIP="unixODBC" UNIXODBC_OPTION="unixodbc" PBX_UNIXODBC=0 # Check whether --with-unixodbc was given. -if test "${with_unixodbc+set}" = set; then +if test "${with_unixodbc+set}" = set; then : withval=$with_unixodbc; case ${withval} in n|no) @@ -11282,13 +10885,12 @@ fi - VORBIS_DESCRIP="Vorbis" VORBIS_OPTION="vorbis" PBX_VORBIS=0 # Check whether --with-vorbis was given. -if test "${with_vorbis+set}" = set; then +if test "${with_vorbis+set}" = set; then : withval=$with_vorbis; case ${withval} in n|no) @@ -11315,13 +10917,12 @@ fi - VPB_DESCRIP="Voicetronix API" VPB_OPTION="vpb" PBX_VPB=0 # Check whether --with-vpb was given. -if test "${with_vpb+set}" = set; then +if test "${with_vpb+set}" = set; then : withval=$with_vpb; case ${withval} in n|no) @@ -11348,13 +10949,12 @@ fi - X11_DESCRIP="X11" X11_OPTION="x11" PBX_X11=0 # Check whether --with-x11 was given. -if test "${with_x11+set}" = set; then +if test "${with_x11+set}" = set; then : withval=$with_x11; case ${withval} in n|no) @@ -11381,13 +10981,12 @@ fi - ZLIB_DESCRIP="zlib compression" ZLIB_OPTION="z" PBX_ZLIB=0 # Check whether --with-z was given. -if test "${with_z+set}" = set; then +if test "${with_z+set}" = set; then : withval=$with_z; case ${withval} in n|no) @@ -11414,22 +11013,17 @@ fi - # check for basic system features and functionality before # checking for package libraries # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then +if test "${ac_cv_working_alloca_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -11441,59 +11035,28 @@ char *p = (char *) alloca (2 * sizeof (int)); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_working_alloca_h=no + ac_cv_working_alloca_h=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA_H 1 -_ACEOF +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for alloca" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then +if test "${ac_cv_func_alloca_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca @@ -11525,47 +11088,20 @@ char *p = (char *) alloca (1); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_alloca_works=no + ac_cv_func_alloca_works=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions @@ -11575,21 +11111,15 @@ else ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -cat >>confdefs.h <<\_ACEOF -#define C_ALLOCA 1 -_ACEOF +$as_echo "#define C_ALLOCA 1" >>confdefs.h -{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then +if test "${ac_cv_os_cray+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray @@ -11599,7 +11129,7 @@ wenotbecray _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then + $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no @@ -11607,101 +11137,14 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -11713,19 +11156,15 @@ fi done fi -{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then +if test "${ac_cv_c_stack_direction+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -11748,46 +11187,18 @@ main () return find_stack_direction () < 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_stack_direction=-1 + ac_cv_c_stack_direction=-1 fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } - cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF @@ -11795,24 +11206,15 @@ _ACEOF fi - - - - - ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> @@ -11826,41 +11228,18 @@ return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" + eval "$as_ac_Header=no" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -11871,17 +11250,13 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if test "${ac_cv_search_opendir+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -11906,70 +11281,39 @@ for ac_lib in '' dir; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if test "${ac_cv_search_opendir+set}" = set; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else - { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then +if test "${ac_cv_search_opendir+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -11994,70 +11338,39 @@ for ac_lib in '' x; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then - : +if test "${ac_cv_search_opendir+set}" = set; then : + else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then +if test "${ac_cv_header_stdc+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -12072,48 +11385,23 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no + ac_cv_header_stdc=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -12123,18 +11411,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -12144,14 +11428,10 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -12178,64 +11458,31 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : +if ac_fn_c_try_run "$LINENO"; then : + else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then +if test "${ac_cv_header_sys_wait_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -12256,212 +11503,27 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_sys_wait_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_sys_wait_h=no + ac_cv_header_sys_wait_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 $as_echo "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_WAIT_H 1 -_ACEOF +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi - - - - - - - - - - - - - - - - - - - - - - - - - - for ac_header in arpa/inet.h fcntl.h inttypes.h libintl.h limits.h locale.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/event.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h termios.h unistd.h utime.h arpa/nameser.h sys/io.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -12471,7 +11533,7 @@ fi done -# Any one of these 4 packages support a mandatory requirement, so we want to check on them as early as possible. +# Any one of these 5 packages support a mandatory requirement, so we want to check on them as early as possible. if test "x${PBX_TERMCAP}" != "x1" -a "${USE_TERMCAP}" != "no"; then pbxlibdir="" @@ -12490,18 +11552,14 @@ if test "x${PBX_TERMCAP}" != "x1" -a "${USE_TERMCAP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_termcap_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -ltermcap" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltermcap" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltermcap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltermcap ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12519,47 +11577,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_TERMCAP_FOUND=yes else AST_TERMCAP_FOUND=no @@ -12581,139 +11612,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TERMCAP_INCLUDE}" - if test "${ac_cv_header_+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking usability" >&5 -$as_echo_n "checking usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking presence" >&5 -$as_echo_n "checking presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: : present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: : present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: : check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: : see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: : section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: : in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } - -fi -if test "x$ac_cv_header_" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" +if test "x$ac_cv_header_" = x""yes; then : TERMCAP_HEADER_FOUND=1 else TERMCAP_HEADER_FOUND=0 @@ -12757,18 +11657,14 @@ if test "x${PBX_TINFO}" != "x1" -a "${USE_TINFO}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_tinfo_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -ltinfo" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltinfo" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltinfo... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltinfo ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -12786,47 +11682,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_TINFO_FOUND=yes else AST_TINFO_FOUND=no @@ -12848,139 +11717,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TINFO_INCLUDE}" - if test "${ac_cv_header_+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking usability" >&5 -$as_echo_n "checking usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking presence" >&5 -$as_echo_n "checking presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: : present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: : present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: : check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: : see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: : section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: : in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } - -fi -if test "x$ac_cv_header_" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" +if test "x$ac_cv_header_" = x""yes; then : TINFO_HEADER_FOUND=1 else TINFO_HEADER_FOUND=0 @@ -13024,18 +11762,14 @@ if test "x${PBX_CURSES}" != "x1" -a "${USE_CURSES}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_curses_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lcurses" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcurses" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcurses... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcurses ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -13053,47 +11787,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_CURSES_FOUND=yes else AST_CURSES_FOUND=no @@ -13115,139 +11822,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CURSES_INCLUDE}" - if test "${ac_cv_header_curses_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for curses.h" >&5 -$as_echo_n "checking for curses.h... " >&6; } -if test "${ac_cv_header_curses_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curses_h" >&5 -$as_echo "$ac_cv_header_curses_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking curses.h usability" >&5 -$as_echo_n "checking curses.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking curses.h presence" >&5 -$as_echo_n "checking curses.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: curses.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: curses.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: curses.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: curses.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: curses.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: curses.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: curses.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: curses.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: curses.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: curses.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for curses.h" >&5 -$as_echo_n "checking for curses.h... " >&6; } -if test "${ac_cv_header_curses_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_curses_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curses_h" >&5 -$as_echo "$ac_cv_header_curses_h" >&6; } - -fi -if test "x$ac_cv_header_curses_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" +if test "x$ac_cv_header_curses_h" = x""yes; then : CURSES_HEADER_FOUND=1 else CURSES_HEADER_FOUND=0 @@ -13291,18 +11867,14 @@ if test "x${PBX_NCURSES}" != "x1" -a "${USE_NCURSES}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ncurses_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lncurses" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lncurses" >&5 $as_echo_n "checking for ${pbxfuncname} in -lncurses... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lncurses ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -13320,47 +11892,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_NCURSES_FOUND=yes else AST_NCURSES_FOUND=no @@ -13382,139 +11927,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NCURSES_INCLUDE}" - if test "${ac_cv_header_curses_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for curses.h" >&5 -$as_echo_n "checking for curses.h... " >&6; } -if test "${ac_cv_header_curses_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curses_h" >&5 -$as_echo "$ac_cv_header_curses_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking curses.h usability" >&5 -$as_echo_n "checking curses.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking curses.h presence" >&5 -$as_echo_n "checking curses.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: curses.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: curses.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: curses.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: curses.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: curses.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: curses.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: curses.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: curses.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: curses.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curses.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: curses.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for curses.h" >&5 -$as_echo_n "checking for curses.h... " >&6; } -if test "${ac_cv_header_curses_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_curses_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curses_h" >&5 -$as_echo "$ac_cv_header_curses_h" >&6; } - -fi -if test "x$ac_cv_header_curses_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" +if test "x$ac_cv_header_curses_h" = x""yes; then : NCURSES_HEADER_FOUND=1 else NCURSES_HEADER_FOUND=0 @@ -13541,6 +11955,111 @@ fi +if test "x${PBX_UUID}" != "x1" -a "${USE_UUID}" != "no"; then + pbxlibdir="" + # if --with-UUID=DIR has been specified, use it. + if test "x${UUID_DIR}" != "x"; then + if test -d ${UUID_DIR}/lib; then + pbxlibdir="-L${UUID_DIR}/lib" + else + pbxlibdir="-L${UUID_DIR}" + fi + fi + pbxfuncname="uuid_generate_random" + if test "x${pbxfuncname}" = "x" ; then # empty lib, assume only headers + AST_UUID_FOUND=yes + else + ast_ext_lib_check_save_CFLAGS="${CFLAGS}" + CFLAGS="${CFLAGS} " + as_ac_Lib=`$as_echo "ac_cv_lib_uuid_${pbxfuncname}" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -luuid" >&5 +$as_echo_n "checking for ${pbxfuncname} in -luuid... " >&6; } +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid ${pbxlibdir} -luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ${pbxfuncname} (); +int +main () +{ +return ${pbxfuncname} (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Lib=yes" +else + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : + AST_UUID_FOUND=yes +else + AST_UUID_FOUND=no +fi + + CFLAGS="${ast_ext_lib_check_save_CFLAGS}" + fi + + # now check for the header. + if test "${AST_UUID_FOUND}" = "yes"; then + UUID_LIB="${pbxlibdir} -luuid -luuid" + # if --with-UUID=DIR has been specified, use it. + if test "x${UUID_DIR}" != "x"; then + UUID_INCLUDE="-I${UUID_DIR}/include" + fi + UUID_INCLUDE="${UUID_INCLUDE} " + if test "xuuid.h" = "x" ; then # no header, assume found + UUID_HEADER_FOUND="1" + else # check for the header + ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" + CPPFLAGS="${CPPFLAGS} ${UUID_INCLUDE}" + ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default" +if test "x$ac_cv_header_uuid_h" = x""yes; then : + UUID_HEADER_FOUND=1 +else + UUID_HEADER_FOUND=0 +fi + + + CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" + fi + if test "x${UUID_HEADER_FOUND}" = "x0" ; then + UUID_LIB="" + UUID_INCLUDE="" + else + if test "x${pbxfuncname}" = "x" ; then # only checking headers -> no library + UUID_LIB="" + fi + PBX_UUID=1 + cat >>confdefs.h <<_ACEOF +#define HAVE_UUID 1 +_ACEOF + + fi + fi +fi + + + EDITLINE_LIB="" if test "x$TERMCAP_LIB" != "x" ; then EDITLINE_LIB="$TERMCAP_LIB" @@ -13551,21 +12070,17 @@ elif test "x$CURSES_LIB" != "x" ; then elif test "x$NCURSES_LIB" != "x" ; then EDITLINE_LIB="$NCURSES_LIB" else - { { $as_echo "$as_me:$LINENO: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)" >&5 -$as_echo "$as_me: error: *** termcap support not found (on modern systems, this typically means the ncurses development package is missing)" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "*** termcap support not found (on modern systems, this typically means the ncurses development package is missing)" "$LINENO" 5 fi # Another mandatory item (unless it's explicitly disabled) # Check whether --enable-xmldoc was given. -if test "${enable_xmldoc+set}" = set; then +if test "${enable_xmldoc+set}" = set; then : enableval=$enable_xmldoc; case "${enableval}" in y|ye|yes) disable_xmldoc=no ;; n|no) disable_xmldoc=yes ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --disable-xmldoc" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --disable-xmldoc" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --disable-xmldoc" "$LINENO" 5 ;; esac else disable_xmldoc=no @@ -13579,9 +12094,9 @@ if test "${disable_xmldoc}" != "yes"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}xml2-config", so it can be a program name with args. set dummy ${ac_tool_prefix}xml2-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_LIBXML2+set}" = set; then +if test "${ac_cv_path_CONFIG_LIBXML2+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_LIBXML2 in @@ -13595,14 +12110,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -13610,10 +12125,10 @@ esac fi CONFIG_LIBXML2=$ac_cv_path_CONFIG_LIBXML2 if test -n "$CONFIG_LIBXML2"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_LIBXML2" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_LIBXML2" >&5 $as_echo "$CONFIG_LIBXML2" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -13623,9 +12138,9 @@ if test -z "$ac_cv_path_CONFIG_LIBXML2"; then ac_pt_CONFIG_LIBXML2=$CONFIG_LIBXML2 # Extract the first word of "xml2-config", so it can be a program name with args. set dummy xml2-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_LIBXML2+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_LIBXML2+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_LIBXML2 in @@ -13639,14 +12154,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -13654,10 +12169,10 @@ esac fi ac_pt_CONFIG_LIBXML2=$ac_cv_path_ac_pt_CONFIG_LIBXML2 if test -n "$ac_pt_CONFIG_LIBXML2"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_LIBXML2" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_LIBXML2" >&5 $as_echo "$ac_pt_CONFIG_LIBXML2" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -13666,7 +12181,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -13692,13 +12207,9 @@ fi saved_libs="${LIBS}" LIBS="${LIBXML2_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include + #include #include int main () @@ -13709,215 +12220,44 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_LIBXML2=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBXML2 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_LIBXML2=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBXML2 1 -_ACEOF +$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h fi fi fi if test "${PBX_LIBXML2}" != 1; then - { $as_echo "$as_me:$LINENO: *** XML documentation will not be available because the 'libxml2' development package is missing." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** XML documentation will not be available because the 'libxml2' development package is missing." >&5 $as_echo "$as_me: *** XML documentation will not be available because the 'libxml2' development package is missing." >&6;} - { $as_echo "$as_me:$LINENO: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option" >&5 $as_echo "$as_me: *** Please run the 'configure' script with the '--disable-xmldoc' parameter option" >&6;} - { $as_echo "$as_me:$LINENO: *** or install the 'libxml2' development package." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** or install the 'libxml2' development package." >&5 $as_echo "$as_me: *** or install the 'libxml2' development package." >&6;} exit 1 fi fi # some embedded systems omit internationalization (locale) support - for ac_header in xlocale.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "xlocale.h" "ac_cv_header_xlocale_h" "$ac_includes_default" +if test "x$ac_cv_header_xlocale_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_XLOCALE_H 1 _ACEOF fi @@ -13925,150 +12265,12 @@ fi done - - for ac_header in winsock.h winsock2.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -14078,160 +12280,27 @@ fi done -if test "${ac_cv_header_sys_poll_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/poll.h" >&5 -$as_echo_n "checking for sys/poll.h... " >&6; } -if test "${ac_cv_header_sys_poll_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5 -$as_echo "$ac_cv_header_sys_poll_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/poll.h usability" >&5 -$as_echo_n "checking sys/poll.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_poll_h" = x""yes; then : - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/poll.h presence" >&5 -$as_echo_n "checking sys/poll.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/poll.h" >&5 -$as_echo_n "checking for sys/poll.h... " >&6; } -if test "${ac_cv_header_sys_poll_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_poll_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5 -$as_echo "$ac_cv_header_sys_poll_h" >&6; } - -fi -if test "x$ac_cv_header_sys_poll_h" = x""yes; then - : else -cat >>confdefs.h <<\_ACEOF -#define AST_POLL_COMPAT 1 -_ACEOF +$as_echo "#define AST_POLL_COMPAT 1" >>confdefs.h fi # Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then +if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then - { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then +if test "${ac_cv_sys_largefile_CC+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no @@ -14240,11 +12309,7 @@ else while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -14263,60 +12328,14 @@ main () return 0; } _ACEOF - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then + if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext break done @@ -14324,23 +12343,19 @@ rm -f core conftest.err conftest.$ac_objext rm -f conftest.$ac_ext fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi - { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then +if test "${ac_cv_sys_file_offset_bits+set}" = set; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -14359,38 +12374,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include @@ -14410,38 +12398,15 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; @@ -14453,17 +12418,13 @@ _ACEOF esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then +if test "${ac_cv_sys_large_files+set}" = set; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. @@ -14482,38 +12443,11 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include @@ -14533,38 +12467,15 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; @@ -14580,16 +12491,12 @@ fi # Checks for typedefs, structures, and compiler characteristics. -{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then +if test "${ac_cv_header_stdbool_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14669,131 +12576,17 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdbool_h=no + ac_cv_header_stdbool_h=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } -{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5 -$as_echo_n "checking for _Bool... " >&6; } -if test "${ac_cv_type__Bool+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type__Bool=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (_Bool)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((_Bool))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type__Bool=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -$as_echo "$ac_cv_type__Bool" >&6; } -if test "x$ac_cv_type__Bool" = x""yes; then +ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 @@ -14804,22 +12597,16 @@ fi if test $ac_cv_header_stdbool_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_STDBOOL_H 1 -_ACEOF +$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then +if test "${ac_cv_c_const+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -14879,60 +12666,33 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no + ac_cv_c_const=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\_ACEOF -#define const /**/ -_ACEOF +$as_echo "#define const /**/" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then +if test "${ac_cv_type_uid_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then + $EGREP "uid_t" >/dev/null 2>&1; then : ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no @@ -14940,33 +12700,25 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 $as_echo "$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then -cat >>confdefs.h <<\_ACEOF -#define uid_t int -_ACEOF +$as_echo "#define uid_t int" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define gid_t int -_ACEOF +$as_echo "#define gid_t int" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for inline" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then +if test "${ac_cv_c_inline+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; @@ -14975,41 +12727,17 @@ $ac_kw foo_t foo () {return 0; } #endif _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } - case $ac_cv_c_inline in inline | yes) ;; *) @@ -15026,16 +12754,12 @@ _ACEOF esac - { $as_echo "$as_me:$LINENO: checking for long double with more range or precision than double" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 $as_echo_n "checking for long double with more range or precision than double... " >&6; } -if test "${ac_cv_type_long_double_wider+set}" = set; then +if test "${ac_cv_type_long_double_wider+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include long double const a[] = @@ -15065,140 +12789,24 @@ test_array [0] = 0 return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_long_double_wider=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_long_double_wider=no + ac_cv_type_long_double_wider=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_double_wider" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5 $as_echo "$ac_cv_type_long_double_wider" >&6; } if test $ac_cv_type_long_double_wider = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_LONG_DOUBLE_WIDER 1 -_ACEOF +$as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5 -$as_echo_n "checking for mode_t... " >&6; } -if test "${ac_cv_type_mode_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_mode_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (mode_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((mode_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = x""yes; then : - ac_cv_type_mode_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 -$as_echo "$ac_cv_type_mode_t" >&6; } -if test "x$ac_cv_type_mode_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -15207,102 +12815,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for off_t" >&5 -$as_echo_n "checking for off_t... " >&6; } -if test "${ac_cv_type_off_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_off_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (off_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((off_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" +if test "x$ac_cv_type_off_t" = x""yes; then : - ac_cv_type_off_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -$as_echo "$ac_cv_type_off_t" >&6; } -if test "x$ac_cv_type_off_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -15311,102 +12826,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5 -$as_echo_n "checking for pid_t... " >&6; } -if test "${ac_cv_type_pid_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_pid_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (pid_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((pid_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = x""yes; then : - ac_cv_type_pid_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -$as_echo "$ac_cv_type_pid_t" >&6; } -if test "x$ac_cv_type_pid_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -15415,102 +12837,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_size_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((size_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = x""yes; then : - ac_cv_type_size_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : else cat >>confdefs.h <<_ACEOF @@ -15519,102 +12848,8 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 -$as_echo_n "checking for struct stat.st_blksize... " >&6; } -if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_blksize=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5 -$as_echo "$ac_cv_member_struct_stat_st_blksize" >&6; } -if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then +ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" +if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 @@ -15623,106 +12858,10 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for struct ucred.uid" >&5 -$as_echo_n "checking for struct ucred.uid... " >&6; } -if test "${ac_cv_member_struct_ucred_uid+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +ac_fn_c_check_member "$LINENO" "struct ucred" "uid" "ac_cv_member_struct_ucred_uid" "#include #include - -int -main () -{ -static struct ucred ac_aggr; -if (ac_aggr.uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ucred_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -static struct ucred ac_aggr; -if (sizeof ac_aggr.uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ucred_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_ucred_uid=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_ucred_uid" >&5 -$as_echo "$ac_cv_member_struct_ucred_uid" >&6; } -if test "x$ac_cv_member_struct_ucred_uid" = x""yes; then +" +if test "x$ac_cv_member_struct_ucred_uid" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UCRED_UID 1 @@ -15730,106 +12869,10 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for struct ucred.cr_uid" >&5 -$as_echo_n "checking for struct ucred.cr_uid... " >&6; } -if test "${ac_cv_member_struct_ucred_cr_uid+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +ac_fn_c_check_member "$LINENO" "struct ucred" "cr_uid" "ac_cv_member_struct_ucred_cr_uid" "#include #include - -int -main () -{ -static struct ucred ac_aggr; -if (ac_aggr.cr_uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ucred_cr_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -static struct ucred ac_aggr; -if (sizeof ac_aggr.cr_uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ucred_cr_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_ucred_cr_uid=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_ucred_cr_uid" >&5 -$as_echo "$ac_cv_member_struct_ucred_cr_uid" >&6; } -if test "x$ac_cv_member_struct_ucred_cr_uid" = x""yes; then +" +if test "x$ac_cv_member_struct_ucred_cr_uid" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UCRED_CR_UID 1 @@ -15837,106 +12880,10 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for struct sockpeercred.uid" >&5 -$as_echo_n "checking for struct sockpeercred.uid... " >&6; } -if test "${ac_cv_member_struct_sockpeercred_uid+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +ac_fn_c_check_member "$LINENO" "struct sockpeercred" "uid" "ac_cv_member_struct_sockpeercred_uid" "#include #include - -int -main () -{ -static struct sockpeercred ac_aggr; -if (ac_aggr.uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_sockpeercred_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -static struct sockpeercred ac_aggr; -if (sizeof ac_aggr.uid) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_sockpeercred_uid=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_sockpeercred_uid=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockpeercred_uid" >&5 -$as_echo "$ac_cv_member_struct_sockpeercred_uid" >&6; } -if test "x$ac_cv_member_struct_sockpeercred_uid" = x""yes; then +" +if test "x$ac_cv_member_struct_sockpeercred_uid" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKPEERCRED_UID 1 @@ -15945,104 +12892,9 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for struct ifreq.ifr_ifru.ifru_hwaddr" >&5 -$as_echo_n "checking for struct ifreq.ifr_ifru.ifru_hwaddr... " >&6; } -if test "${ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct ifreq ac_aggr; -if (ac_aggr.ifr_ifru.ifru_hwaddr) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static struct ifreq ac_aggr; -if (sizeof ac_aggr.ifr_ifru.ifru_hwaddr) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" >&5 -$as_echo "$ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" >&6; } -if test "x$ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" = x""yes; then +ac_fn_c_check_member "$LINENO" "struct ifreq" "ifr_ifru.ifru_hwaddr" "ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" "#include +" +if test "x$ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR 1 @@ -16051,16 +12903,12 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then +if test "${ac_cv_header_time+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -16075,54 +12923,27 @@ return 0; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_time=no + ac_cv_header_time=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\_ACEOF -#define TIME_WITH_SYS_TIME 1 -_ACEOF +$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then +if test "${ac_cv_struct_tm+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -16137,54 +12958,27 @@ struct tm tm; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h + ac_cv_struct_tm=sys/time.h fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } -if test "${ac_cv_c_volatile+set}" = set; then +if test "${ac_cv_c_volatile+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -16198,139 +12992,23 @@ return !x && !y; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_volatile=no + ac_cv_c_volatile=no fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then -cat >>confdefs.h <<\_ACEOF -#define volatile /**/ -_ACEOF +$as_echo "#define volatile /**/" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5 -$as_echo_n "checking for ptrdiff_t... " >&6; } -if test "${ac_cv_type_ptrdiff_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_ptrdiff_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (ptrdiff_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((ptrdiff_t))) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ptrdiff_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5 -$as_echo "$ac_cv_type_ptrdiff_t" >&6; } -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then +ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" +if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTRDIFF_T 1 @@ -16341,170 +13019,27 @@ fi # Checks for library functions. - for ac_header in unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_UNISTD_H 1 _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking for working chown" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 $as_echo_n "checking for working chown... " >&6; } -if test "${ac_cv_func_chown_works+set}" = set; then +if test "${ac_cv_func_chown_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_chown_works=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include @@ -16529,68 +13064,35 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_chown_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_chown_works=no + ac_cv_func_chown_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - rm -f conftest.chown fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_chown_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 $as_echo "$ac_cv_func_chown_works" >&6; } if test $ac_cv_func_chown_works = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_CHOWN 1 -_ACEOF +$as_echo "#define HAVE_CHOWN 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking whether closedir returns void" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 $as_echo_n "checking whether closedir returns void... " >&6; } -if test "${ac_cv_func_closedir_void+set}" = set; then +if test "${ac_cv_func_closedir_void+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_closedir_void=yes else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include <$ac_header_dirent> @@ -16606,63 +13108,30 @@ return closedir (opendir (".")) != 0; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_closedir_void=no else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_closedir_void=yes + ac_cv_func_closedir_void=yes fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_closedir_void" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 $as_echo "$ac_cv_func_closedir_void" >&6; } if test $ac_cv_func_closedir_void = yes; then -cat >>confdefs.h <<\_ACEOF -#define CLOSEDIR_VOID 1 -_ACEOF +$as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking for error_at_line" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 $as_echo_n "checking for error_at_line... " >&6; } -if test "${ac_cv_lib_error_at_line+set}" = set; then +if test "${ac_cv_lib_error_at_line+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -16673,40 +13142,15 @@ error_at_line (0, 0, "", 0, "an error occurred"); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_error_at_line=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_error_at_line=no + ac_cv_lib_error_at_line=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 $as_echo "$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then case " $LIBOBJS " in @@ -16717,252 +13161,24 @@ esac fi - for ac_header in vfork.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_VFORK_H 1 _ACEOF fi done - - for ac_func in fork vfork -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -16971,19 +13187,15 @@ fi done if test "x$ac_cv_func_fork" = xyes; then - { $as_echo "$as_me:$LINENO: checking for working fork" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } -if test "${ac_cv_func_fork_works+set}" = set; then +if test "${ac_cv_func_fork_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_fork_works=cross else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -16997,44 +13209,17 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_fork_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_fork_works=no + ac_cv_func_fork_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 $as_echo "$ac_cv_func_fork_works" >&6; } else @@ -17050,24 +13235,20 @@ if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_fork_works=yes ;; esac - { $as_echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then - { $as_echo "$as_me:$LINENO: checking for working vfork" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } -if test "${ac_cv_func_vfork_works+set}" = set; then +if test "${ac_cv_func_vfork_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_vfork_works=cross else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default @@ -17159,87 +13340,50 @@ main () } } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_vfork_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_vfork_works=no + ac_cv_func_vfork_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 $as_echo "$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork - { $as_echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_VFORK 1 -_ACEOF +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h else -cat >>confdefs.h <<\_ACEOF -#define vfork fork -_ACEOF +$as_echo "#define vfork fork" >>confdefs.h fi if test "x$ac_cv_func_fork_works" = xyes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_FORK 1 -_ACEOF +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h PBX_WORKING_FORK=1 fi -{ $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then +if test "${ac_cv_sys_largefile_source+set}" = set; then : $as_echo_n "(cached) " >&6 else while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* for off_t */ #include @@ -17252,43 +13396,12 @@ int (*fp) (FILE *, off_t, int) = fseeko; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=no; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include /* for off_t */ @@ -17302,43 +13415,16 @@ int (*fp) (FILE *, off_t, int) = fseeko; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_sys_largefile_source=1; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 $as_echo "$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; @@ -17355,30 +13441,24 @@ rm -rf conftest* # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_FSEEKO 1 -_ACEOF +$as_echo "#define HAVE_FSEEKO 1" >>confdefs.h fi if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then +if test "${ac_cv_prog_gcc_traditional+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no @@ -17387,24 +13467,20 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then + $EGREP "$ac_pattern" >/dev/null 2>&1; then : ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" @@ -17415,19 +13491,15 @@ fi # acts exactly like glibc's or not # AC_FUNC_MALLOC # AC_FUNC_REALLOC -{ $as_echo "$as_me:$LINENO: checking for working memcmp" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 $as_echo_n "checking for working memcmp... " >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then +if test "${ac_cv_func_memcmp_working+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_memcmp_working=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -17462,44 +13534,17 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_memcmp_working=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_memcmp_working=no + ac_cv_func_memcmp_working=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_memcmp_working" >&5 $as_echo "$ac_cv_func_memcmp_working" >&6; } test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in *" memcmp.$ac_objext "* ) ;; @@ -17510,148 +13555,14 @@ esac -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -17661,119 +13572,32 @@ fi done + + + + + + for ac_func in getpagesize -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_GETPAGESIZE 1 _ACEOF fi done -{ $as_echo "$as_me:$LINENO: checking for working mmap" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ @@ -17810,11 +13634,6 @@ char *malloc (); /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ @@ -17849,8 +13668,9 @@ int main () { char *data, *data2, *data3; + const char *cdata2; int i, pagesize; - int fd; + int fd, fd2; pagesize = getpagesize (); @@ -17863,27 +13683,41 @@ main () umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) - return 1; + return 2; if (write (fd, data, pagesize) != pagesize) - return 1; + return 3; close (fd); + /* Next, check that the tail of a page is zero-filled. File must have + non-zero length, otherwise we risk SIGBUS for entire page. */ + fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); + if (fd2 < 0) + return 4; + cdata2 = ""; + if (write (fd2, cdata2, 1) != 1) + return 5; + data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); + if (data2 == MAP_FAILED) + return 6; + for (i = 0; i < pagesize; ++i) + if (*(data2 + i)) + return 7; + close (fd2); + if (munmap (data2, pagesize)) + return 8; + /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) - return 1; - data2 = (char *) malloc (2 * pagesize); - if (!data2) - return 1; - data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); + return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 1; + return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) - return 1; + return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on @@ -17892,208 +13726,41 @@ main () *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) - return 1; + return 12; if (read (fd, data3, pagesize) != pagesize) - return 1; + return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) - return 1; + return 14; close (fd); return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no + ac_cv_func_mmap_fixed_mapped=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 -_ACEOF +$as_echo "#define HAVE_MMAP 1" >>confdefs.h fi -rm -f conftest.mmap - - +rm -f conftest.mmap conftest.txt for ac_header in sys/select.h sys/socket.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -18102,19 +13769,15 @@ fi done -{ $as_echo "$as_me:$LINENO: checking types of arguments for select" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for select" >&5 $as_echo_n "checking types of arguments for select... " >&6; } -if test "${ac_cv_func_select_args+set}" = set; then +if test "${ac_cv_func_select_args+set}" = set; then : $as_echo_n "(cached) " >&6 else for ac_arg234 in 'fd_set *' 'int *' 'void *'; do for ac_arg1 in 'int' 'size_t' 'unsigned long int' 'unsigned int'; do for ac_arg5 in 'struct timeval *' 'const struct timeval *'; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #ifdef HAVE_SYS_SELECT_H @@ -18134,32 +13797,9 @@ extern int select ($ac_arg1, return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_select_args="$ac_arg1,$ac_arg234,$ac_arg5"; break 3 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done done @@ -18168,7 +13808,7 @@ done : ${ac_cv_func_select_args='int,int *,struct timeval *'} fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_select_args" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_select_args" >&5 $as_echo "$ac_cv_func_select_args" >&6; } ac_save_IFS=$IFS; IFS=',' set dummy `echo "$ac_cv_func_select_args" | sed 's/\*/\*/g'` @@ -18191,23 +13831,19 @@ _ACEOF rm -f conftest* -if test "${ac_cv_func_setvbuf_reversed+set}" = set; then +if test "${ac_cv_func_setvbuf_reversed+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_cv_func_setvbuf_reversed=no fi -{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } -if test "${ac_cv_type_signal+set}" = set; then +if test "${ac_cv_type_signal+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -18220,35 +13856,14 @@ return *(signal (0, 0)) (0) == 1; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_signal=int else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_signal=void + ac_cv_type_signal=void fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 $as_echo "$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF @@ -18256,29 +13871,25 @@ cat >>confdefs.h <<_ACEOF _ACEOF -{ $as_echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5 -$as_echo_n "checking whether lstat dereferences a symlink specified with a trailing slash... " >&6; } -if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; - /* Linux will dereference the symlink and fail. + /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; @@ -18286,42 +13897,15 @@ struct stat sbuf; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_lstat_dereferences_slashed_symlink=no + ac_cv_func_lstat_dereferences_slashed_symlink=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - else # If the `ln -s' command failed, then we probably don't even # have an lstat function. @@ -18330,7 +13914,7 @@ fi rm -f conftest.sym conftest.file fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 $as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && @@ -18340,7 +13924,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF -if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" @@ -18349,19 +13933,15 @@ esac fi -{ $as_echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 $as_echo_n "checking whether stat accepts an empty string... " >&6; } -if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then +if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_stat_empty_string_bug=yes else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -18373,44 +13953,17 @@ struct stat sbuf; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_stat_empty_string_bug=no else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_stat_empty_string_bug=yes + ac_cv_func_stat_empty_string_bug=yes fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_stat_empty_string_bug" >&5 $as_echo "$ac_cv_func_stat_empty_string_bug" >&6; } if test $ac_cv_func_stat_empty_string_bug = yes; then case " $LIBOBJS " in @@ -18426,19 +13979,15 @@ _ACEOF fi -{ $as_echo "$as_me:$LINENO: checking for working strcoll" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5 $as_echo_n "checking for working strcoll... " >&6; } -if test "${ac_cv_func_strcoll_works+set}" = set; then +if test "${ac_cv_func_strcoll_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_strcoll_works=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -18451,165 +14000,42 @@ return (strcoll ("abc", "def") >= 0 || return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strcoll_works=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_strcoll_works=no + ac_cv_func_strcoll_works=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5 $as_echo "$ac_cv_func_strcoll_works" >&6; } if test $ac_cv_func_strcoll_works = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_STRCOLL 1 -_ACEOF +$as_echo "#define HAVE_STRCOLL 1" >>confdefs.h fi - for ac_func in strftime -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" +if test "x$ac_cv_func_strftime" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_STRFTIME 1 _ACEOF else # strftime is in -lintl on SCO UNIX. -{ $as_echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 $as_echo_n "checking for strftime in -lintl... " >&6; } -if test "${ac_cv_lib_intl_strftime+set}" = set; then +if test "${ac_cv_lib_intl_strftime+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -18627,46 +14053,19 @@ return strftime (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_strftime=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_intl_strftime=no + ac_cv_lib_intl_strftime=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 $as_echo "$ac_cv_lib_intl_strftime" >&6; } -if test "x$ac_cv_lib_intl_strftime" = x""yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_STRFTIME 1 -_ACEOF +if test "x$ac_cv_lib_intl_strftime" = x""yes; then : + $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h LIBS="-lintl $LIBS" fi @@ -18674,19 +14073,15 @@ fi fi done -{ $as_echo "$as_me:$LINENO: checking for working strnlen" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 $as_echo_n "checking for working strnlen... " >&6; } -if test "${ac_cv_func_strnlen_working+set}" = set; then +if test "${ac_cv_func_strnlen_working+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_strnlen_working=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -18712,44 +14107,17 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strnlen_working=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_strnlen_working=no + ac_cv_func_strnlen_working=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strnlen_working" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strnlen_working" >&5 $as_echo "$ac_cv_func_strnlen_working" >&6; } test $ac_cv_func_strnlen_working = no && case " $LIBOBJS " in *" strnlen.$ac_objext "* ) ;; @@ -18758,19 +14126,15 @@ test $ac_cv_func_strnlen_working = no && case " $LIBOBJS " in esac -{ $as_echo "$as_me:$LINENO: checking for working strtod" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5 $as_echo_n "checking for working strtod... " >&6; } -if test "${ac_cv_func_strtod+set}" = set; then +if test "${ac_cv_func_strtod+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_strtod=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default @@ -18803,44 +14167,17 @@ main() } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strtod=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_strtod=no + ac_cv_func_strtod=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strtod" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strtod" >&5 $as_echo "$ac_cv_func_strtod" >&6; } if test $ac_cv_func_strtod = no; then case " $LIBOBJS " in @@ -18849,105 +14186,20 @@ if test $ac_cv_func_strtod = no; then ;; esac -{ $as_echo "$as_me:$LINENO: checking for pow" >&5 -$as_echo_n "checking for pow... " >&6; } -if test "${ac_cv_func_pow+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define pow to an innocuous variant, in case declares pow. - For example, HP-UX 11i declares gettimeofday. */ -#define pow innocuous_pow +ac_fn_c_check_func "$LINENO" "pow" "ac_cv_func_pow" +if test "x$ac_cv_func_pow" = x""yes; then : -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char pow (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef pow - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pow (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_pow || defined __stub___pow -choke me -#endif - -int -main () -{ -return pow (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func_pow=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_pow=no fi -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_pow" >&5 -$as_echo "$ac_cv_func_pow" >&6; } - if test $ac_cv_func_pow = no; then - { $as_echo "$as_me:$LINENO: checking for pow in -lm" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 $as_echo_n "checking for pow in -lm... " >&6; } -if test "${ac_cv_lib_m_pow+set}" = set; then +if test "${ac_cv_lib_m_pow+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -18965,46 +14217,21 @@ return pow (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_pow=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_m_pow=no + ac_cv_lib_m_pow=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 $as_echo "$ac_cv_lib_m_pow" >&6; } -if test "x$ac_cv_lib_m_pow" = x""yes; then +if test "x$ac_cv_lib_m_pow" = x""yes; then : POW_LIB=-lm else - { $as_echo "$as_me:$LINENO: WARNING: cannot find library containing definition of pow" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5 $as_echo "$as_me: WARNING: cannot find library containing definition of pow" >&2;} fi @@ -19015,180 +14242,17 @@ fi - -for ac_header in $ac_header_list -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - - - - -{ $as_echo "$as_me:$LINENO: checking whether utime accepts a null argument" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utime accepts a null argument" >&5 $as_echo_n "checking whether utime accepts a null argument... " >&6; } -if test "${ac_cv_func_utime_null+set}" = set; then +if test "${ac_cv_func_utime_null+set}" = set; then : $as_echo_n "(cached) " >&6 else rm -f conftest.data; >conftest.data # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. -if test "$cross_compiling" = yes; then - ac_cv_func_utime_null=no +if test "$cross_compiling" = yes; then : + ac_cv_func_utime_null='guessing yes' else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #ifdef HAVE_UTIME_H @@ -19207,242 +14271,38 @@ struct stat s, t; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_utime_null=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_utime_null=no + ac_cv_func_utime_null=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_utime_null" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_utime_null" >&5 $as_echo "$ac_cv_func_utime_null" >&6; } -if test $ac_cv_func_utime_null = yes; then +if test "x$ac_cv_func_utime_null" != xno; then + ac_cv_func_utime_null=yes -cat >>confdefs.h <<\_ACEOF -#define HAVE_UTIME_NULL 1 -_ACEOF +$as_echo "#define HAVE_UTIME_NULL 1" >>confdefs.h fi rm -f conftest.data - for ac_func in vprintf -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" +if test "x$ac_cv_func_vprintf" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_VPRINTF 1 _ACEOF -{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5 -$as_echo_n "checking for _doprnt... " >&6; } -if test "${ac_cv_func__doprnt+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define _doprnt to an innocuous variant, in case declares _doprnt. - For example, HP-UX 11i declares gettimeofday. */ -#define _doprnt innocuous__doprnt +ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" +if test "x$ac_cv_func__doprnt" = x""yes; then : -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char _doprnt (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef _doprnt - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char _doprnt (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub__doprnt || defined __stub____doprnt -choke me -#endif - -int -main () -{ -return _doprnt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_func__doprnt=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func__doprnt=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 -$as_echo "$ac_cv_func__doprnt" >&6; } -if test "x$ac_cv_func__doprnt" = x""yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_DOPRNT 1 -_ACEOF +$as_echo "#define HAVE_DOPRNT 1" >>confdefs.h fi @@ -19450,158 +14310,12 @@ fi done - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for ac_func in asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll ftruncate getcwd gethostbyname gethostname getloadavg gettimeofday glob htonll ioperm inet_ntoa isascii memchr memmove memset mkdir mkdtemp munmap ntohll newlocale ppoll putenv re_comp regcomp select setenv socket strcasecmp strcasestr strchr strcspn strdup strerror strlcat strlcpy strncasecmp strndup strnlen strrchr strsep strspn strstr strtod strtol strtold strtoq unsetenv utime vasprintf getpeereid sysctl swapctl -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -19612,19 +14326,14 @@ done # NOTE: we use AC_CHECK_LIB to get -lm into the arguments for later checks, # so that AC_CHECK_FUNCS can detect functions in that library. - -{ $as_echo "$as_me:$LINENO: checking for sqrt in -lm" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 $as_echo_n "checking for sqrt in -lm... " >&6; } -if test "${ac_cv_lib_m_sqrt+set}" = set; then +if test "${ac_cv_lib_m_sqrt+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -19642,43 +14351,18 @@ return sqrt (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_sqrt=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_m_sqrt=no + ac_cv_lib_m_sqrt=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_sqrt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 $as_echo "$ac_cv_lib_m_sqrt" >&6; } -if test "x$ac_cv_lib_m_sqrt" = x""yes; then +if test "x$ac_cv_lib_m_sqrt" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -19688,120 +14372,12 @@ _ACEOF fi # BSD might not have exp2, and/or log2 - - - - - - - - - - - - - - - - - - - - - for ac_func in exp2 log2 exp10 log10 sin cos tan asin acos atan atan2 pow rint exp log remainder fmod round trunc floor ceil -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -19813,121 +14389,12 @@ done # Certain architectures don't really have long double, even though # AC_CHECK_FUNCS would otherwise find the following functions. if test "x${ac_cv_type_long_double_wider}" = "xyes" ; then - - - - - - - - - - - - - - - - - - - - - - -for ac_func in exp2l log2l exp10l log10l sinl cosl tanl asinl acosl atanl atan2l powl sqrtl rintl expl logl remainderl fmodl roundl truncl floorl ceill -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then + for ac_func in exp2l log2l exp10l log10l sinl cosl tanl asinl acosl atanl atan2l powl sqrtl rintl expl logl remainderl fmodl roundl truncl floorl ceill +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -19937,13 +14404,9 @@ done fi -{ $as_echo "$as_me:$LINENO: checking for LLONG_MAX in limits.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LLONG_MAX in limits.h" >&5 $as_echo_n "checking for LLONG_MAX in limits.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -19954,54 +14417,23 @@ long long foo = LLONG_MAX return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_LLONG_MAX 1 -_ACEOF +$as_echo "#define HAVE_LLONG_MAX 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for timersub in time.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timersub in time.h" >&5 $as_echo_n "checking for timersub in time.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -20012,48 +14444,21 @@ struct timeval *a; timersub(a, a, a); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_TIMERSUB 1 -_ACEOF +$as_echo "#define HAVE_TIMERSUB 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for a version of GNU ld that supports the --dynamic-list flag" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of GNU ld that supports the --dynamic-list flag" >&5 $as_echo_n "checking for a version of GNU ld that supports the --dynamic-list flag... " >&6; } old_LDFLAGS=${LDFLAGS} cat >conftest.dynamics <<_ACEOF @@ -20063,11 +14468,7 @@ cat >conftest.dynamics <<_ACEOF _ACEOF LDFLAGS="${LDFLAGS} -Wl,--dynamic-list,conftest.dynamics" PBX_DYNAMIC_LIST=0 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20078,210 +14479,48 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_DYNAMIC_LIST=1 - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS=${old_LDFLAGS} rm -f conftest.dynamics -if test "${ac_cv_header_sys_poll_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/poll.h" >&5 -$as_echo_n "checking for sys/poll.h... " >&6; } -if test "${ac_cv_header_sys_poll_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5 -$as_echo "$ac_cv_header_sys_poll_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/poll.h usability" >&5 -$as_echo_n "checking sys/poll.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/poll.h presence" >&5 -$as_echo_n "checking sys/poll.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/poll.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/poll.h" >&5 -$as_echo_n "checking for sys/poll.h... " >&6; } -if test "${ac_cv_header_sys_poll_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_poll_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_poll_h" >&5 -$as_echo "$ac_cv_header_sys_poll_h" >&6; } - -fi -if test "x$ac_cv_header_sys_poll_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_poll_h" = x""yes; then : HAS_POLL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_POLL_H 1 -_ACEOF +$as_echo "#define HAVE_SYS_POLL_H 1" >>confdefs.h fi # Check whether --enable-internal-poll was given. -if test "${enable_internal_poll+set}" = set; then +if test "${enable_internal_poll+set}" = set; then : enableval=$enable_internal_poll; case "${enableval}" in y|ye|yes) HAS_POLL="";; n|no) HAS_POLL="${HAS_POLL}" ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-internal-poll" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-internal-poll" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --enable-internal-poll" "$LINENO" 5 ;; esac fi # Check whether --enable-asteriskssl was given. -if test "${enable_asteriskssl+set}" = set; then +if test "${enable_asteriskssl+set}" = set; then : enableval=$enable_asteriskssl; case "${enableval}" in y|ye|yes) AST_ASTERISKSSL=yes ;; n|no) AST_ASTERISKSSL=no ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --disable-asteriskssl" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --disable-asteriskssl" >&2;} - { (exit 1); exit 1; }; } ;; + *) as_fn_error "bad value ${enableval} for --disable-asteriskssl" "$LINENO" 5 ;; esac else AST_ASTERISKSSL=yes @@ -20291,101 +14530,12 @@ fi # https support (in main/http.c) uses funopen on BSD systems, # fopencookie on linux - - for ac_func in funopen fopencookie -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -20394,102 +14544,12 @@ fi done - for ac_func in inet_aton -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" +if test "x$ac_cv_func_inet_aton" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_INET_ATON 1 _ACEOF fi @@ -20497,13 +14557,9 @@ done # check if we have IP_PKTINFO constant defined -{ $as_echo "$as_me:$LINENO: checking for IP_PKTINFO" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IP_PKTINFO" >&5 $as_echo_n "checking for IP_PKTINFO... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -20514,59 +14570,28 @@ int pi = IP_PKTINFO; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_PKTINFO 1 -_ACEOF +$as_echo "#define HAVE_PKTINFO 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext # some systems already have gethostbyname_r so we don't need to build ours in main/utils.c -{ $as_echo "$as_me:$LINENO: checking for library containing gethostbyname_r" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname_r" >&5 $as_echo_n "checking for library containing gethostbyname_r... " >&6; } -if test "${ac_cv_search_gethostbyname_r+set}" = set; then +if test "${ac_cv_search_gethostbyname_r+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -20591,66 +14616,35 @@ for ac_lib in '' socket nsl; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_gethostbyname_r=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_gethostbyname_r+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_gethostbyname_r+set}" = set; then : break fi done -if test "${ac_cv_search_gethostbyname_r+set}" = set; then - : +if test "${ac_cv_search_gethostbyname_r+set}" = set; then : + else ac_cv_search_gethostbyname_r=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gethostbyname_r" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname_r" >&5 $as_echo "$ac_cv_search_gethostbyname_r" >&6; } ac_res=$ac_cv_search_gethostbyname_r -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:$LINENO: checking for gethostbyname_r with 6 arguments" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname_r with 6 arguments" >&5 $as_echo_n "checking for gethostbyname_r with 6 arguments... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -20662,54 +14656,23 @@ struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETHOSTBYNAME_R_6 1 -_ACEOF +$as_echo "#define HAVE_GETHOSTBYNAME_R_6 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for gethostbyname_r with 5 arguments" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname_r with 5 arguments" >&5 $as_echo_n "checking for gethostbyname_r with 5 arguments... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -20721,180 +14684,22 @@ struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETHOSTBYNAME_R_5 1 -_ACEOF +$as_echo "#define HAVE_GETHOSTBYNAME_R_5 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -if test "${ac_cv_header_byteswap_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for byteswap.h" >&5 -$as_echo_n "checking for byteswap.h... " >&6; } -if test "${ac_cv_header_byteswap_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_byteswap_h" >&5 -$as_echo "$ac_cv_header_byteswap_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking byteswap.h usability" >&5 -$as_echo_n "checking byteswap.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking byteswap.h presence" >&5 -$as_echo_n "checking byteswap.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: byteswap.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: byteswap.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: byteswap.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: byteswap.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: byteswap.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: byteswap.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: byteswap.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: byteswap.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: byteswap.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for byteswap.h" >&5 -$as_echo_n "checking for byteswap.h... " >&6; } -if test "${ac_cv_header_byteswap_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_byteswap_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_byteswap_h" >&5 -$as_echo "$ac_cv_header_byteswap_h" >&6; } - -fi -if test "x$ac_cv_header_byteswap_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default" +if test "x$ac_cv_header_byteswap_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BYTESWAP_H 1 @@ -20904,13 +14709,9 @@ fi -{ $as_echo "$as_me:$LINENO: checking for __swap16 variant of byteswapping macros" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __swap16 variant of byteswapping macros" >&5 $as_echo_n "checking for __swap16 variant of byteswapping macros... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -20921,54 +14722,23 @@ int a = 1; int b = __swap16(a); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_ENDIAN_SWAP16 1 -_ACEOF +$as_echo "#define HAVE_SYS_ENDIAN_SWAP16 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for bswap16 variant of byteswapping macros" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bswap16 variant of byteswapping macros" >&5 $as_echo_n "checking for bswap16 variant of byteswapping macros... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -20979,83 +14749,48 @@ int a = 1; int b = bswap16(a); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_ENDIAN_BSWAP16 1 -_ACEOF +$as_echo "#define HAVE_SYS_ENDIAN_BSWAP16 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "${cross_compiling}" = "no"; then - { $as_echo "$as_me:$LINENO: checking for /dev/urandom" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 $as_echo_n "checking for /dev/urandom... " >&6; } -if test "${ac_cv_file__dev_urandom+set}" = set; then +if test "${ac_cv_file__dev_urandom+set}" = set; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/dev/urandom"; then ac_cv_file__dev_urandom=yes else ac_cv_file__dev_urandom=no fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__dev_urandom" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 $as_echo "$ac_cv_file__dev_urandom" >&6; } -if test "x$ac_cv_file__dev_urandom" = x""yes; then +if test "x$ac_cv_file__dev_urandom" = x""yes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_DEV_URANDOM 1 -_ACEOF +$as_echo "#define HAVE_DEV_URANDOM 1" >>confdefs.h fi fi -{ $as_echo "$as_me:$LINENO: checking for locale_t in locale.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for locale_t in locale.h" >&5 $as_echo_n "checking for locale_t in locale.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21066,47 +14801,18 @@ locale_t lt = NULL return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_LOCALE_T_IN_LOCALE_H 1 -_ACEOF +$as_echo "#define HAVE_LOCALE_T_IN_LOCALE_H 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:$LINENO: checking for locale_t in xlocale.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for locale_t in xlocale.h" >&5 $as_echo_n "checking for locale_t in xlocale.h... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21117,60 +14823,27 @@ locale_t lt = NULL return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_LOCALE_T_IN_XLOCALE_H 1 -_ACEOF +$as_echo "#define HAVE_LOCALE_T_IN_XLOCALE_H 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for O_EVTONLY in fcntl.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for O_EVTONLY in fcntl.h" >&5 $as_echo_n "checking for O_EVTONLY in fcntl.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21181,54 +14854,23 @@ int a = O_EVTONLY; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_O_EVTONLY 1 -_ACEOF +$as_echo "#define HAVE_O_EVTONLY 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for O_SYMLINK in fcntl.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for O_SYMLINK in fcntl.h" >&5 $as_echo_n "checking for O_SYMLINK in fcntl.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21239,50 +14881,23 @@ int a = O_SYMLINK; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_O_SYMLINK 1 -_ACEOF +$as_echo "#define HAVE_O_SYMLINK 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "x${PBX_PTHREAD_RWLOCK_INITIALIZER}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for PTHREAD_RWLOCK_INITIALIZER in pthread.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_RWLOCK_INITIALIZER in pthread.h" >&5 $as_echo_n "checking for PTHREAD_RWLOCK_INITIALIZER in pthread.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${PTHREAD_RWLOCK_INITIALIZER_DIR}" != "x"; then @@ -21290,13 +14905,9 @@ $as_echo_n "checking for PTHREAD_RWLOCK_INITIALIZER in pthread.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${PTHREAD_RWLOCK_INITIALIZER_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -21311,56 +14922,29 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_PTHREAD_RWLOCK_INITIALIZER=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD_RWLOCK_INITIALIZER 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD_RWLOCK_INITIALIZER 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi -{ $as_echo "$as_me:$LINENO: checking for PTHREAD_RWLOCK_PREFER_WRITER_NP in pthread.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_RWLOCK_PREFER_WRITER_NP in pthread.h" >&5 $as_echo_n "checking for PTHREAD_RWLOCK_PREFER_WRITER_NP in pthread.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21371,54 +14955,23 @@ int a = PTHREAD_RWLOCK_PREFER_WRITER_NP; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for PTHREAD_MUTEX_RECURSIVE_NP in pthread.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_MUTEX_RECURSIVE_NP in pthread.h" >&5 $as_echo_n "checking for PTHREAD_MUTEX_RECURSIVE_NP in pthread.h... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21429,58 +14982,27 @@ int a = PTHREAD_MUTEX_RECURSIVE_NP; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD_MUTEX_RECURSIVE_NP 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE_NP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for pthread_rwlock_timedwrlock() in pthread.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_rwlock_timedwrlock() in pthread.h" >&5 $as_echo_n "checking for pthread_rwlock_timedwrlock() in pthread.h... " >&6; } save_LIBS="$LIBS" save_CFLAGS="$CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -21493,66 +15015,35 @@ pthread_rwlock_t foo; struct timespec bar; pthread_rwlock_timedwrlock(&foo, &bar } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ac_cv_pthread_rwlock_timedwrlock="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ac_cv_pthread_rwlock_timedwrlock="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" if test "${ac_cv_pthread_rwlock_timedwrlock}" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK 1" >>confdefs.h fi -{ $as_echo "$as_me:$LINENO: checking if PTHREAD_ONCE_INIT needs braces" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if PTHREAD_ONCE_INIT needs braces" >&5 $as_echo_n "checking if PTHREAD_ONCE_INIT needs braces... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -Werror -Wmissing-braces" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include void empty(){} @@ -21565,54 +15056,31 @@ pthread_once_t once = PTHREAD_ONCE_INIT; pthread_once(&once, empty); } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then +if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ac_cv_pthread_once_needsbraces="no" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ac_cv_pthread_once_needsbraces="yes" fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="${saved_CFLAGS}" if test "${ac_cv_pthread_once_needsbraces}" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define PTHREAD_ONCE_INIT_NEEDS_BRACES 1 -_ACEOF +$as_echo "#define PTHREAD_ONCE_INIT_NEEDS_BRACES 1" >>confdefs.h fi if test "x${PBX_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in pthread.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in pthread.h" >&5 $as_echo_n "checking for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in pthread.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP_DIR}" != "x"; then @@ -21620,13 +15088,9 @@ $as_echo_n "checking for PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP in pthread.h... fi CPPFLAGS="${CPPFLAGS} ${PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -21641,43 +15105,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 1 -_ACEOF +$as_echo "#define HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -21686,13 +15127,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Can we compare a mutex to its initial value? # Generally yes on OpenBSD/FreeBSD and no on Mac OS X. -{ $as_echo "$as_me:$LINENO: checking whether we can compare a mutex to its initial value" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can compare a mutex to its initial value" >&5 $as_echo_n "checking whether we can compare a mutex to its initial value... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21707,46 +15144,19 @@ pthread_mutex_t lock; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define CAN_COMPARE_MUTEX_TO_INIT_VALUE 1 -_ACEOF +$as_echo "#define CAN_COMPARE_MUTEX_TO_INIT_VALUE 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext #if test "${cross_compiling}" = "no"; #then @@ -21764,151 +15174,12 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ #fi # for FreeBSD thr_self - for ac_header in sys/thr.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/thr.h" "ac_cv_header_sys_thr_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_thr_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_SYS_THR_H 1 _ACEOF fi @@ -21916,13 +15187,9 @@ fi done -{ $as_echo "$as_me:$LINENO: checking for compiler atomic operations" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler atomic operations" >&5 $as_echo_n "checking for compiler atomic operations... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -21933,61 +15200,30 @@ int foo1; int foo2 = __sync_fetch_and_add(&foo1, 1); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_GCC_ATOMICS 1 -_ACEOF +$as_echo "#define HAVE_GCC_ATOMICS 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext # glibc, AFAIK, is the only C library that makes printing a NULL to a string safe. -{ $as_echo "$as_me:$LINENO: checking if your system printf is NULL-safe." >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system printf is NULL-safe." >&5 $as_echo_n "checking if your system printf is NULL-safe.... " >&6; } -if test "$cross_compiling" = yes; then +if test "$cross_compiling" = yes; then : # It's unlikely an embedded system will have this. - { $as_echo "$as_me:$LINENO: result: unknown" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5 $as_echo "unknown" >&6; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -21998,62 +15234,29 @@ printf("%s", NULL) return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_NULLSAFE_PRINTF 1 -_ACEOF +$as_echo "#define HAVE_NULLSAFE_PRINTF 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - -{ $as_echo "$as_me:$LINENO: checking if we can increase the maximum select-able file descriptor" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can increase the maximum select-able file descriptor" >&5 $as_echo_n "checking if we can increase the maximum select-able file descriptor... " >&6; } -if test "$cross_compiling" = yes; then - { $as_echo "$as_me:$LINENO: result: cross-compile" >&5 +if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compile" >&5 $as_echo "cross-compile" >&6; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -22087,65 +15290,29 @@ main () return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_run "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_VARIABLE_FDSET 1 -_ACEOF +$as_echo "#define HAVE_VARIABLE_FDSET 1" >>confdefs.h else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -{ $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test "${ac_cv_have_variable_fdset}x" = "0x"; then - if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -22160,48 +15327,19 @@ if (getuid() != 0) { exit(1); } return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : -cat >>confdefs.h <<\_ACEOF -#define CONFIGURE_RAN_AS_ROOT 1 -_ACEOF - -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +$as_echo "#define CONFIGURE_RAN_AS_ROOT 1" >>confdefs.h fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute pure' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute pure' support" >&5 $as_echo_n "checking for compiler 'attribute pure' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22209,11 +15347,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((pure)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22224,25 +15358,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22251,21 +15368,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22276,25 +15385,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22303,14 +15395,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22319,7 +15407,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute malloc' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute malloc' support" >&5 $as_echo_n "checking for compiler 'attribute malloc' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22327,11 +15415,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((malloc)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22342,25 +15426,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22369,21 +15436,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22394,25 +15453,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22421,14 +15463,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22437,7 +15475,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute const' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute const' support" >&5 $as_echo_n "checking for compiler 'attribute const' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22445,11 +15483,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((const)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22460,25 +15494,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22487,21 +15504,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22512,25 +15521,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22539,14 +15531,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22555,7 +15543,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute unused' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute unused' support" >&5 $as_echo_n "checking for compiler 'attribute unused' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22563,11 +15551,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((unused)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22578,25 +15562,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22605,21 +15572,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22630,25 +15589,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22657,14 +15599,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22673,7 +15611,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute always_inline' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute always_inline' support" >&5 $as_echo_n "checking for compiler 'attribute always_inline' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22681,11 +15619,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((always_inline)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22696,25 +15630,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22723,21 +15640,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22748,25 +15657,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22775,14 +15667,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22791,7 +15679,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute deprecated' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute deprecated' support" >&5 $as_echo_n "checking for compiler 'attribute deprecated' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22799,11 +15687,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((deprecated)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22814,25 +15698,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22841,21 +15708,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22866,25 +15725,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22893,14 +15735,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -22909,7 +15747,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute sentinel' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute sentinel' support" >&5 $as_echo_n "checking for compiler 'attribute sentinel' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -22917,11 +15755,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((sentinel)) *test(void *muffin, ...) {return (void *) 0;} int @@ -22932,25 +15766,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -22959,21 +15776,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -22984,25 +15793,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -23011,14 +15803,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23027,7 +15815,7 @@ CFLAGS="$saved_CFLAGS" -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute warn_unused_result' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute warn_unused_result' support" >&5 $as_echo_n "checking for compiler 'attribute warn_unused_result' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -23035,11 +15823,7 @@ CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((warn_unused_result)) *test(void *muffin, ...) {return (void *) 0;} int @@ -23050,25 +15834,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -23077,21 +15844,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -23102,25 +15861,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -23129,14 +15871,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23156,7 +15894,7 @@ case "${OSARCH}" in # However, Darwin seems to break weak symbols for each new version. # -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute weak_import' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute weak_import' support" >&5 $as_echo_n "checking for compiler 'attribute weak_import' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -23164,11 +15902,7 @@ PBX_WEAKREF=0 if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((weak_import)) *test(void *muffin, ...) {return (void *) 0;} int @@ -23179,25 +15913,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23206,21 +15923,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -23231,25 +15940,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23258,14 +15950,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23278,7 +15966,7 @@ CFLAGS="$saved_CFLAGS" # define the weak attribute. However, this attribute is only # setup for use in the code by Darwin. -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute weak' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute weak' support" >&5 $as_echo_n "checking for compiler 'attribute weak' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -23286,11 +15974,7 @@ PBX_WEAKREF=0 if test "x" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__((weak)) *test(void *muffin, ...) {return (void *) 0;} int @@ -23301,25 +15985,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23328,21 +15995,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;} int @@ -23353,25 +16012,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23380,14 +16022,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23400,7 +16038,7 @@ CFLAGS="$saved_CFLAGS" # Primarily support weak symbols on Linux platforms. # -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute weakref' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute weakref' support" >&5 $as_echo_n "checking for compiler 'attribute weakref' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -23408,11 +16046,7 @@ PBX_WEAKREF=0 if test "xweakref("foo")" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ static void __attribute__((weakref)) *test(void *muffin, ...) {return (void *) 0;} int @@ -23423,25 +16057,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23450,21 +16067,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;} int @@ -23475,25 +16084,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23502,14 +16094,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23524,7 +16112,7 @@ CFLAGS="$saved_CFLAGS" # community. # -{ $as_echo "$as_me:$LINENO: checking for compiler 'attribute weakref' support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler 'attribute weakref' support" >&5 $as_echo_n "checking for compiler 'attribute weakref' support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Wno-unused -Werror" @@ -23532,11 +16120,7 @@ PBX_WEAKREF=0 if test "xweakref("foo")" = "x" then -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ static void __attribute__((weakref)) *test(void *muffin, ...) {return (void *) 0;} int @@ -23547,25 +16131,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23574,21 +16141,13 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;} int @@ -23599,25 +16158,8 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_WEAKREF=1 @@ -23626,14 +16168,10 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi @@ -23644,15 +16182,11 @@ CFLAGS="$saved_CFLAGS" ;; esac -{ $as_echo "$as_me:$LINENO: checking for -ffunction-sections support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -ffunction-sections support" >&5 $as_echo_n "checking for -ffunction-sections support... " >&6; } saved_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -ffunction-sections" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -23663,35 +16197,14 @@ int x = 1; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } saved_LDFLAGS="${LDFLAGS}" LDFLAGS="${LDFLAGS} -Wl,--gc-sections" - { $as_echo "$as_me:$LINENO: checking for --gc-sections support" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --gc-sections support" >&5 $as_echo_n "checking for --gc-sections support... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -23702,149 +16215,116 @@ int x = 1; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } GC_CFLAGS="-ffunction-sections" GC_LDFLAGS="-Wl,--gc-sections" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LDFLAGS="${saved_LDFLAGS}" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="${saved_CFLAGS}" -{ $as_echo "$as_me:$LINENO: checking for -Wdeclaration-after-statement support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wdeclaration-after-statement support" >&5 $as_echo_n "checking for -Wdeclaration-after-statement support... " >&6; } if $(${CC} -Wdeclaration-after-statement -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_DECLARATION_AFTER_STATEMENT=-Wdeclaration-after-statement else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_DECLARATION_AFTER_STATEMENT= fi -{ $as_echo "$as_me:$LINENO: checking for -Wtrampolines support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wtrampolines support" >&5 $as_echo_n "checking for -Wtrampolines support... " >&6; } if $(${CC} -Wtrampolines -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_TRAMPOLINES=-Wtrampolines else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_TRAMPOLINES= fi -{ $as_echo "$as_me:$LINENO: checking for _FORTIFY_SOURCE support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FORTIFY_SOURCE support" >&5 $as_echo_n "checking for _FORTIFY_SOURCE support... " >&6; } if $(${CC} -D_FORTIFY_SOURCE=2 -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_FORTIFY_SOURCE=-D_FORTIFY_SOURCE=2 else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_FORTIFY_SOURCE= fi -{ $as_echo "$as_me:$LINENO: checking for -fno-strict-overflow" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fno-strict-overflow" >&5 $as_echo_n "checking for -fno-strict-overflow... " >&6; } if $(${CC} -O2 -fno-strict-overflow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_NO_STRICT_OVERFLOW=-fno-strict-overflow else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_NO_STRICT_OVERFLOW= fi -{ $as_echo "$as_me:$LINENO: checking for -Wshadow" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wshadow" >&5 $as_echo_n "checking for -Wshadow... " >&6; } if $(${CC} -Wshadow -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_SHADOW_WARNINGS=-Wshadow else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_SHADOW_WARNINGS= fi -{ $as_echo "$as_me:$LINENO: checking for -march=native support" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -march=native support" >&5 $as_echo_n "checking for -march=native support... " >&6; } if $(${CC} -march=native -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then if test "${CONFIG_CFLAGS}" = ""; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } AST_NATIVE_ARCH=1 else - { $as_echo "$as_me:$LINENO: result: user CFLAGS present" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: user CFLAGS present" >&5 $as_echo "user CFLAGS present" >&6; } AST_NATIVE_ARCH= fi else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_NATIVE_ARCH= fi -{ $as_echo "$as_me:$LINENO: checking for -fnested-functions" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fnested-functions" >&5 $as_echo_n "checking for -fnested-functions... " >&6; } -cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -23855,47 +16335,22 @@ auto void foo(void); void foo(void) {} return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: no" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } AST_NESTED_FUNCTIONS= else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: required" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: required" >&5 $as_echo "required" >&6; } AST_NESTED_FUNCTIONS=-fnested-functions fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: checking for sysinfo" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysinfo" >&5 $as_echo_n "checking for sysinfo... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -23906,58 +16361,27 @@ struct sysinfo sys_info; int uptime = sys_info.uptime return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSINFO 1 -_ACEOF +$as_echo "#define HAVE_SYSINFO 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - -{ $as_echo "$as_me:$LINENO: checking for library containing res_9_ninit" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_ninit" >&5 $as_echo_n "checking for library containing res_9_ninit... " >&6; } -if test "${ac_cv_search_res_9_ninit+set}" = set; then +if test "${ac_cv_search_res_9_ninit+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -23982,65 +16406,34 @@ for ac_lib in '' resolv; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_res_9_ninit=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_res_9_ninit+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_res_9_ninit+set}" = set; then : break fi done -if test "${ac_cv_search_res_9_ninit+set}" = set; then - : +if test "${ac_cv_search_res_9_ninit+set}" = set; then : + else ac_cv_search_res_9_ninit=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_res_9_ninit" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_9_ninit" >&5 $as_echo "$ac_cv_search_res_9_ninit" >&6; } ac_res=$ac_cv_search_res_9_ninit -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -{ $as_echo "$as_me:$LINENO: checking for res_ninit" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_ninit" >&5 $as_echo_n "checking for res_ninit... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_SOCKET_H @@ -24061,45 +16454,19 @@ int foo = res_ninit(NULL); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_RES_NINIT 1 -_ACEOF +$as_echo "#define HAVE_RES_NINIT 1" >>confdefs.h - { $as_echo "$as_me:$LINENO: checking for library containing res_9_ndestroy" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_ndestroy" >&5 $as_echo_n "checking for library containing res_9_ndestroy... " >&6; } -if test "${ac_cv_search_res_9_ndestroy+set}" = set; then +if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -24124,65 +16491,34 @@ for ac_lib in '' resolv; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_res_9_ndestroy=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_res_9_ndestroy+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : break fi done -if test "${ac_cv_search_res_9_ndestroy+set}" = set; then - : +if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : + else ac_cv_search_res_9_ndestroy=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_res_9_ndestroy" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_9_ndestroy" >&5 $as_echo "$ac_cv_search_res_9_ndestroy" >&6; } ac_res=$ac_cv_search_res_9_ndestroy -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi - { $as_echo "$as_me:$LINENO: checking for res_ndestroy" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_ndestroy" >&5 $as_echo_n "checking for res_ndestroy... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_SOCKET_H @@ -24203,57 +16539,26 @@ res_ndestroy(NULL); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_RES_NDESTROY 1 -_ACEOF +$as_echo "#define HAVE_RES_NDESTROY 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:$LINENO: checking for library containing res_9_close" >&5 +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_close" >&5 $as_echo_n "checking for library containing res_9_close... " >&6; } -if test "${ac_cv_search_res_9_close+set}" = set; then +if test "${ac_cv_search_res_9_close+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -24278,65 +16583,34 @@ for ac_lib in '' resolv; do ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then + if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_res_9_close=$ac_res -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext - if test "${ac_cv_search_res_9_close+set}" = set; then +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_res_9_close+set}" = set; then : break fi done -if test "${ac_cv_search_res_9_close+set}" = set; then - : +if test "${ac_cv_search_res_9_close+set}" = set; then : + else ac_cv_search_res_9_close=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_res_9_close" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_9_close" >&5 $as_echo "$ac_cv_search_res_9_close" >&6; } ac_res=$ac_cv_search_res_9_close -if test "$ac_res" != no; then +if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi - { $as_echo "$as_me:$LINENO: checking for res_close" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_close" >&5 $as_echo_n "checking for res_close... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef HAVE_SYS_SOCKET_H @@ -24357,62 +16631,30 @@ res_close(); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_RES_CLOSE 1 -_ACEOF +$as_echo "#define HAVE_RES_CLOSE 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "x${PBX_GLOB_NOMAGIC}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for GLOB_NOMAGIC in glob.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_NOMAGIC in glob.h" >&5 $as_echo_n "checking for GLOB_NOMAGIC in glob.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${GLOB_NOMAGIC_DIR}" != "x"; then @@ -24420,13 +16662,9 @@ $as_echo_n "checking for GLOB_NOMAGIC in glob.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${GLOB_NOMAGIC_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -24441,43 +16679,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_GLOB_NOMAGIC=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_GLOB_NOMAGIC 1 -_ACEOF +$as_echo "#define HAVE_GLOB_NOMAGIC 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -24486,7 +16701,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_GLOB_BRACE}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for GLOB_BRACE in glob.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_BRACE in glob.h" >&5 $as_echo_n "checking for GLOB_BRACE in glob.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${GLOB_BRACE_DIR}" != "x"; then @@ -24494,13 +16709,9 @@ $as_echo_n "checking for GLOB_BRACE in glob.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${GLOB_BRACE_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -24515,43 +16726,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_GLOB_BRACE=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_GLOB_BRACE 1 -_ACEOF +$as_echo "#define HAVE_GLOB_BRACE 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -24560,7 +16748,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_IP_MTU_DISCOVER}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for IP_MTU_DISCOVER in netinet/in.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IP_MTU_DISCOVER in netinet/in.h" >&5 $as_echo_n "checking for IP_MTU_DISCOVER in netinet/in.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${IP_MTU_DISCOVER_DIR}" != "x"; then @@ -24568,13 +16756,9 @@ $as_echo_n "checking for IP_MTU_DISCOVER in netinet/in.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${IP_MTU_DISCOVER_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -24589,182 +16773,28 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_IP_MTU_DISCOVER=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_IP_MTU_DISCOVER 1 -_ACEOF +$as_echo "#define HAVE_IP_MTU_DISCOVER 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi -if test "${ac_cv_header_libkern_OSAtomic_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libkern/OSAtomic.h" >&5 -$as_echo_n "checking for libkern/OSAtomic.h... " >&6; } -if test "${ac_cv_header_libkern_OSAtomic_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libkern_OSAtomic_h" >&5 -$as_echo "$ac_cv_header_libkern_OSAtomic_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libkern/OSAtomic.h usability" >&5 -$as_echo_n "checking libkern/OSAtomic.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libkern/OSAtomic.h presence" >&5 -$as_echo_n "checking libkern/OSAtomic.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libkern/OSAtomic.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libkern/OSAtomic.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libkern/OSAtomic.h" >&5 -$as_echo_n "checking for libkern/OSAtomic.h... " >&6; } -if test "${ac_cv_header_libkern_OSAtomic_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libkern_OSAtomic_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libkern_OSAtomic_h" >&5 -$as_echo "$ac_cv_header_libkern_OSAtomic_h" >&6; } - -fi -if test "x$ac_cv_header_libkern_OSAtomic_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "libkern/OSAtomic.h" "ac_cv_header_libkern_OSAtomic_h" "$ac_includes_default" +if test "x$ac_cv_header_libkern_OSAtomic_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_OSX_ATOMICS 1 @@ -24778,352 +16808,27 @@ fi # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of int" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then +if test "${ac_cv_sizeof_int+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (int))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_int=$ac_lo;; -'') if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_int=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (int)); } -static unsigned long int ulongval () { return (long int) (sizeof (int)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (int))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (int)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (int)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_int=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_int" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (int) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (int) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_int=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } @@ -25137,352 +16842,27 @@ _ACEOF # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then +if test "${ac_cv_sizeof_long+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_long=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (long)); } -static unsigned long int ulongval () { return (long int) (sizeof (long)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (long))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (long)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (long)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } @@ -25496,352 +16876,27 @@ _ACEOF # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of long long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } -if test "${ac_cv_sizeof_long_long+set}" = set; then +if test "${ac_cv_sizeof_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long_long=$ac_lo;; -'') if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_long_long=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (long long)); } -static unsigned long int ulongval () { return (long int) (sizeof (long long)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (long long))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (long long)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (long long)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long_long=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long_long=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 $as_echo "$ac_cv_sizeof_long_long" >&6; } @@ -25855,352 +16910,27 @@ _ACEOF # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of char *" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char *" >&5 $as_echo_n "checking size of char *... " >&6; } -if test "${ac_cv_sizeof_char_p+set}" = set; then +if test "${ac_cv_sizeof_char_p+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (char *))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char *))" "ac_cv_sizeof_char_p" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (char *))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (char *))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_char_p=$ac_lo;; -'') if test "$ac_cv_type_char_p" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_char_p" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (char *) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_char_p=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (char *)); } -static unsigned long int ulongval () { return (long int) (sizeof (char *)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (char *))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (char *)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (char *)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_char_p=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_char_p" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (char *) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (char *) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_char_p=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char_p" >&5 $as_echo "$ac_cv_sizeof_char_p" >&6; } @@ -26214,352 +16944,27 @@ _ACEOF # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then +if test "${ac_cv_sizeof_long+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_long=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (long)); } -static unsigned long int ulongval () { return (long int) (sizeof (long)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (long))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (long)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (long)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } @@ -26573,352 +16978,27 @@ _ACEOF # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of long long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } -if test "${ac_cv_sizeof_long_long+set}" = set; then +if test "${ac_cv_sizeof_long_long+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long_long=$ac_lo;; -'') if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_long_long=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (long long)); } -static unsigned long int ulongval () { return (long int) (sizeof (long long)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (long long))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (long long)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (long long)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long_long=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (long long) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long long) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_long_long=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 $as_echo "$ac_cv_sizeof_long_long" >&6; } @@ -26928,681 +17008,38 @@ cat >>confdefs.h <<_ACEOF _ACEOF -if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -int -main () -{ -static int test_array [1 - 2 * !((sizeof(foo.fds_bits[0])) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -int -main () -{ -static int test_array [1 - 2 * !((sizeof(foo.fds_bits[0])) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -int -main () -{ -static int test_array [1 - 2 * !((sizeof(foo.fds_bits[0])) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -int -main () -{ -static int test_array [1 - 2 * !((sizeof(foo.fds_bits[0])) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -int -main () -{ -static int test_array [1 - 2 * !((sizeof(foo.fds_bits[0])) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_fd_set_fds_bits=$ac_lo;; -'') ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -fd_set foo; -static long int longval () { return sizeof(foo.fds_bits[0]); } -static unsigned long int ulongval () { return sizeof(foo.fds_bits[0]); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if ((sizeof(foo.fds_bits[0])) < 0) - { - long int i = longval (); - if (i != (sizeof(foo.fds_bits[0]))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != (sizeof(foo.fds_bits[0]))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_fd_set_fds_bits=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_compute_int "$LINENO" "sizeof(foo.fds_bits[0])" "ac_cv_sizeof_fd_set_fds_bits" "$ac_includes_default +fd_set foo;"; then : fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.val + # This doesn't actually work; what it does is to use the variable set in the # previous test as a cached value to set the right output variables. # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:$LINENO: checking size of fd_set.fds_bits" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of fd_set.fds_bits" >&5 $as_echo_n "checking size of fd_set.fds_bits... " >&6; } -if test "${ac_cv_sizeof_fd_set_fds_bits+set}" = set; then +if test "${ac_cv_sizeof_fd_set_fds_bits+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (fd_set.fds_bits))) >= 0)]; -test_array [0] = 0 + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (fd_set.fds_bits))" "ac_cv_sizeof_fd_set_fds_bits" "$ac_includes_default"; then : - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (fd_set.fds_bits))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid; break else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (fd_set.fds_bits))) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (fd_set.fds_bits))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_lo=$ac_mid; break -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo= ac_hi= -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long int) (sizeof (fd_set.fds_bits))) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_hi=$ac_mid -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_lo=`expr '(' $ac_mid ')' + 1` -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_fd_set_fds_bits=$ac_lo;; -'') if test "$ac_cv_type_fd_set_fds_bits" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$ac_cv_type_fd_set_fds_bits" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (fd_set.fds_bits) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (fd_set.fds_bits) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } - else - ac_cv_sizeof_fd_set_fds_bits=0 - fi ;; -esac -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -static long int longval () { return (long int) (sizeof (fd_set.fds_bits)); } -static unsigned long int ulongval () { return (long int) (sizeof (fd_set.fds_bits)); } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (((long int) (sizeof (fd_set.fds_bits))) < 0) - { - long int i = longval (); - if (i != ((long int) (sizeof (fd_set.fds_bits)))) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ((long int) (sizeof (fd_set.fds_bits)))) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_fd_set_fds_bits=`cat conftest.val` -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$ac_cv_type_fd_set_fds_bits" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (fd_set.fds_bits) -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot compute sizeof (fd_set.fds_bits) -See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; }; } +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (fd_set.fds_bits) +See \`config.log' for more details." "$LINENO" 5; }; } else ac_cv_sizeof_fd_set_fds_bits=0 fi fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi -rm -f conftest.val -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_fd_set_fds_bits" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_fd_set_fds_bits" >&5 $as_echo "$ac_cv_sizeof_fd_set_fds_bits" >&6; } @@ -27618,34 +17055,24 @@ _ACEOF # correctly if the size is wrong. if test $ac_cv_sizeof_int = $ac_cv_sizeof_fd_set_fds_bits; then -cat >>confdefs.h <<\_ACEOF -#define TYPEOF_FD_SET_FDS_BITS int -_ACEOF +$as_echo "#define TYPEOF_FD_SET_FDS_BITS int" >>confdefs.h else if test $ac_cv_sizeof_long = $ac_cv_sizeof_fd_set_fds_bits; then -cat >>confdefs.h <<\_ACEOF -#define TYPEOF_FD_SET_FDS_BITS long -_ACEOF +$as_echo "#define TYPEOF_FD_SET_FDS_BITS long" >>confdefs.h else if test $ac_cv_sizeof_long_long = $ac_cv_sizeof_fd_set_fds_bits; then -cat >>confdefs.h <<\_ACEOF -#define TYPEOF_FD_SET_FDS_BITS long long -_ACEOF +$as_echo "#define TYPEOF_FD_SET_FDS_BITS long long" >>confdefs.h fi ; fi ; fi -{ $as_echo "$as_me:$LINENO: checking for dladdr in dlfcn.h" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in dlfcn.h" >&5 $as_echo_n "checking for dladdr in dlfcn.h... " >&6; } PBX_DLADDR=0 old_LIBS=${LIBS} LIBS="${LIBS} -ldl" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE 1 #include @@ -27658,48 +17085,21 @@ dladdr((void *)0, (void *)0) return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DLADDR=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DLADDR 1 -_ACEOF +$as_echo "#define HAVE_DLADDR 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=${old_LIBS} # PKGCONFIG is used in later tests @@ -27709,9 +17109,9 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in @@ -27724,14 +17124,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -27739,10 +17139,10 @@ esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -27752,9 +17152,9 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in @@ -27767,14 +17167,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -27782,10 +17182,10 @@ esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -27794,7 +17194,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -27807,13 +17207,13 @@ fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 - { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi @@ -27841,18 +17241,14 @@ if test "x${PBX_ALSA}" != "x1" -a "${USE_ALSA}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_asound_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lasound" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lasound" >&5 $as_echo_n "checking for ${pbxfuncname} in -lasound... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lasound ${pbxlibdir} -lm -ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -27870,47 +17266,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ALSA_FOUND=yes else AST_ALSA_FOUND=no @@ -27932,139 +17301,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ALSA_INCLUDE}" - if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5 -$as_echo_n "checking for alsa/asoundlib.h... " >&6; } -if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5 -$as_echo "$ac_cv_header_alsa_asoundlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking alsa/asoundlib.h usability" >&5 -$as_echo_n "checking alsa/asoundlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking alsa/asoundlib.h presence" >&5 -$as_echo_n "checking alsa/asoundlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: alsa/asoundlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for alsa/asoundlib.h" >&5 -$as_echo_n "checking for alsa/asoundlib.h... " >&6; } -if test "${ac_cv_header_alsa_asoundlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_alsa_asoundlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_alsa_asoundlib_h" >&5 -$as_echo "$ac_cv_header_alsa_asoundlib_h" >&6; } - -fi -if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default" +if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then : ALSA_HEADER_FOUND=1 else ALSA_HEADER_FOUND=0 @@ -28109,18 +17347,14 @@ if test "x${PBX_BFD}" != "x1" -a "${USE_BFD}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_bfd_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lbfd" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbfd" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbfd... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbfd ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28138,47 +17372,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_BFD_FOUND=yes else AST_BFD_FOUND=no @@ -28200,139 +17407,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BFD_INCLUDE}" - if test "${ac_cv_header_bfd_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for bfd.h" >&5 -$as_echo_n "checking for bfd.h... " >&6; } -if test "${ac_cv_header_bfd_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 -$as_echo "$ac_cv_header_bfd_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking bfd.h usability" >&5 -$as_echo_n "checking bfd.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking bfd.h presence" >&5 -$as_echo_n "checking bfd.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: bfd.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: bfd.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: bfd.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: bfd.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: bfd.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: bfd.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for bfd.h" >&5 -$as_echo_n "checking for bfd.h... " >&6; } -if test "${ac_cv_header_bfd_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_bfd_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 -$as_echo "$ac_cv_header_bfd_h" >&6; } - -fi -if test "x$ac_cv_header_bfd_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default" +if test "x$ac_cv_header_bfd_h" = x""yes; then : BFD_HEADER_FOUND=1 else BFD_HEADER_FOUND=0 @@ -28379,18 +17455,14 @@ if test "x${PBX_BFD}" != "x1" -a "${USE_BFD}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_bfd_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lbfd" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbfd" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbfd... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbfd ${pbxlibdir} -ldl -liberty $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28408,47 +17480,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_BFD_FOUND=yes else AST_BFD_FOUND=no @@ -28470,139 +17515,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BFD_INCLUDE}" - if test "${ac_cv_header_bfd_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for bfd.h" >&5 -$as_echo_n "checking for bfd.h... " >&6; } -if test "${ac_cv_header_bfd_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 -$as_echo "$ac_cv_header_bfd_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking bfd.h usability" >&5 -$as_echo_n "checking bfd.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking bfd.h presence" >&5 -$as_echo_n "checking bfd.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: bfd.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: bfd.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: bfd.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: bfd.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: bfd.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: bfd.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: bfd.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bfd.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: bfd.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for bfd.h" >&5 -$as_echo_n "checking for bfd.h... " >&6; } -if test "${ac_cv_header_bfd_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_bfd_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bfd_h" >&5 -$as_echo "$ac_cv_header_bfd_h" >&6; } - -fi -if test "x$ac_cv_header_bfd_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default" +if test "x$ac_cv_header_bfd_h" = x""yes; then : BFD_HEADER_FOUND=1 else BFD_HEADER_FOUND=0 @@ -28649,18 +17563,14 @@ if test "x${PBX_CAP}" != "x1" -a "${USE_CAP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_cap_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lcap" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcap" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcap ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -28678,47 +17588,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_CAP_FOUND=yes else AST_CAP_FOUND=no @@ -28740,139 +17623,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CAP_INCLUDE}" - if test "${ac_cv_header_sys_capability_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/capability.h" >&5 -$as_echo_n "checking for sys/capability.h... " >&6; } -if test "${ac_cv_header_sys_capability_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_capability_h" >&5 -$as_echo "$ac_cv_header_sys_capability_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/capability.h usability" >&5 -$as_echo_n "checking sys/capability.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/capability.h presence" >&5 -$as_echo_n "checking sys/capability.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/capability.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/capability.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/capability.h" >&5 -$as_echo_n "checking for sys/capability.h... " >&6; } -if test "${ac_cv_header_sys_capability_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_capability_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_capability_h" >&5 -$as_echo "$ac_cv_header_sys_capability_h" >&6; } - -fi -if test "x$ac_cv_header_sys_capability_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_capability_h" = x""yes; then : CAP_HEADER_FOUND=1 else CAP_HEADER_FOUND=0 @@ -28902,7 +17654,7 @@ fi if test "x${PBX_DAHDI}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for DAHDI_RESET_COUNTERS in dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAHDI_RESET_COUNTERS in dahdi/user.h" >&5 $as_echo_n "checking for DAHDI_RESET_COUNTERS in dahdi/user.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${DAHDI_DIR}" != "x"; then @@ -28910,13 +17662,9 @@ $as_echo_n "checking for DAHDI_RESET_COUNTERS in dahdi/user.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${DAHDI_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -28931,47 +17679,22 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI 1 -_ACEOF +$as_echo "#define HAVE_DAHDI 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_VERSION 230 -_ACEOF +$as_echo "#define HAVE_DAHDI_VERSION 230" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -28979,7 +17702,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_DAHDI}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h" >&5 $as_echo_n "checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${DAHDI_DIR}" != "x"; then @@ -28987,13 +17710,9 @@ $as_echo_n "checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${DAHDI_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29008,47 +17727,22 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI 1 -_ACEOF +$as_echo "#define HAVE_DAHDI 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_VERSION 220 -_ACEOF +$as_echo "#define HAVE_DAHDI_VERSION 220" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29056,7 +17750,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_DAHDI}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for DAHDI_CODE in dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAHDI_CODE in dahdi/user.h" >&5 $as_echo_n "checking for DAHDI_CODE in dahdi/user.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${DAHDI_DIR}" != "x"; then @@ -29064,13 +17758,9 @@ $as_echo_n "checking for DAHDI_CODE in dahdi/user.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${DAHDI_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29085,47 +17775,22 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI 1 -_ACEOF +$as_echo "#define HAVE_DAHDI 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_VERSION 200 -_ACEOF +$as_echo "#define HAVE_DAHDI_VERSION 200" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29134,7 +17799,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_DAHDI_HALF_FULL}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for DAHDI_POLICY_HALF_FULL in dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DAHDI_POLICY_HALF_FULL in dahdi/user.h" >&5 $as_echo_n "checking for DAHDI_POLICY_HALF_FULL in dahdi/user.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${DAHDI_HALF_FULL_DIR}" != "x"; then @@ -29142,13 +17807,9 @@ $as_echo_n "checking for DAHDI_POLICY_HALF_FULL in dahdi/user.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${DAHDI_HALF_FULL_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29163,43 +17824,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI_HALF_FULL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_HALF_FULL 1 -_ACEOF +$as_echo "#define HAVE_DAHDI_HALF_FULL 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29209,10 +17847,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_DAHDI_LINEREVERSE_VMWI}" != "x1" -a "${USE_DAHDI_LINEREVERSE_VMWI}" != "no"; then if test "xenhanced dahdi vmwi support" != "x"; then - { $as_echo "$as_me:$LINENO: checking for enhanced dahdi vmwi support" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for enhanced dahdi vmwi support" >&5 $as_echo_n "checking for enhanced dahdi vmwi support... " >&6; } else - { $as_echo "$as_me:$LINENO: checking if \"struct dahdi_vmwi_info booger\" compiles using dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \"struct dahdi_vmwi_info booger\" compiles using dahdi/user.h" >&5 $as_echo_n "checking if \"struct dahdi_vmwi_info booger\" compiles using dahdi/user.h... " >&6; } fi saved_cppflags="${CPPFLAGS}" @@ -29221,13 +17859,9 @@ $as_echo_n "checking if \"struct dahdi_vmwi_info booger\" compiles using dahdi/u fi CPPFLAGS="${CPPFLAGS} ${DAHDI_LINEREVERSE_VMWI_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29237,43 +17871,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI_LINEREVERSE_VMWI=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_LINEREVERSE_VMWI 1 -_ACEOF +$as_echo "#define HAVE_DAHDI_LINEREVERSE_VMWI 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29282,10 +17893,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_DAHDI_ECHOCANCEL_FAX_MODE}" != "x1" -a "${USE_DAHDI_ECHOCANCEL_FAX_MODE}" != "no"; then if test "x" != "x"; then - { $as_echo "$as_me:$LINENO: checking for " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for " >&5 $as_echo_n "checking for ... " >&6; } else - { $as_echo "$as_me:$LINENO: checking if \"int foo = DAHDI_ECHOCANCEL_FAX_MODE\" compiles using dahdi/user.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \"int foo = DAHDI_ECHOCANCEL_FAX_MODE\" compiles using dahdi/user.h" >&5 $as_echo_n "checking if \"int foo = DAHDI_ECHOCANCEL_FAX_MODE\" compiles using dahdi/user.h... " >&6; } fi saved_cppflags="${CPPFLAGS}" @@ -29294,13 +17905,9 @@ $as_echo_n "checking if \"int foo = DAHDI_ECHOCANCEL_FAX_MODE\" compiles using d fi CPPFLAGS="${CPPFLAGS} ${DAHDI_ECHOCANCEL_FAX_MODE_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29310,43 +17917,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_DAHDI_ECHOCANCEL_FAX_MODE=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_DAHDI_ECHOCANCEL_FAX_MODE 1 -_ACEOF +$as_echo "#define HAVE_DAHDI_ECHOCANCEL_FAX_MODE 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29355,10 +17939,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_GETIFADDRS}" != "x1" -a "${USE_GETIFADDRS}" != "no"; then if test "xgetifaddrs() support" != "x"; then - { $as_echo "$as_me:$LINENO: checking for getifaddrs() support" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getifaddrs() support" >&5 $as_echo_n "checking for getifaddrs() support... " >&6; } else - { $as_echo "$as_me:$LINENO: checking if \"struct ifaddrs *p; getifaddrs(&p)\" compiles using ifaddrs.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \"struct ifaddrs *p; getifaddrs(&p)\" compiles using ifaddrs.h" >&5 $as_echo_n "checking if \"struct ifaddrs *p; getifaddrs(&p)\" compiles using ifaddrs.h... " >&6; } fi saved_cppflags="${CPPFLAGS}" @@ -29367,13 +17951,9 @@ $as_echo_n "checking if \"struct ifaddrs *p; getifaddrs(&p)\" compiles using ifa fi CPPFLAGS="${CPPFLAGS} ${GETIFADDRS_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29383,43 +17963,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_GETIFADDRS=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETIFADDRS 1 -_ACEOF +$as_echo "#define HAVE_GETIFADDRS 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29427,10 +17984,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_TIMERFD}" != "x1" -a "${USE_TIMERFD}" != "no"; then if test "xtimerfd support" != "x"; then - { $as_echo "$as_me:$LINENO: checking for timerfd support" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for timerfd support" >&5 $as_echo_n "checking for timerfd support... " >&6; } else - { $as_echo "$as_me:$LINENO: checking if \"timerfd_create(0,0); timerfd_settime(0,0,NULL,NULL);\" compiles using sys/timerfd.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \"timerfd_create(0,0); timerfd_settime(0,0,NULL,NULL);\" compiles using sys/timerfd.h" >&5 $as_echo_n "checking if \"timerfd_create(0,0); timerfd_settime(0,0,NULL,NULL);\" compiles using sys/timerfd.h... " >&6; } fi saved_cppflags="${CPPFLAGS}" @@ -29439,13 +17996,9 @@ $as_echo_n "checking if \"timerfd_create(0,0); timerfd_settime(0,0,NULL,NULL);\" fi CPPFLAGS="${CPPFLAGS} ${TIMERFD_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -29455,43 +18008,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_TIMERFD=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_TIMERFD 1 -_ACEOF +$as_echo "#define HAVE_TIMERFD 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -29515,18 +18045,14 @@ if test "${USE_GSM}" != "no"; then gsmlibdir="-L${GSM_DIR}" fi fi - { $as_echo "$as_me:$LINENO: checking for gsm_create in -lgsm" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gsm_create in -lgsm" >&5 $as_echo_n "checking for gsm_create in -lgsm... " >&6; } -if test "${ac_cv_lib_gsm_gsm_create+set}" = set; then +if test "${ac_cv_lib_gsm_gsm_create+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lgsm ${gsmlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -29544,43 +18070,18 @@ return gsm_create (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_gsm_gsm_create=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_gsm_gsm_create=no + ac_cv_lib_gsm_gsm_create=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_gsm_gsm_create" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gsm_gsm_create" >&5 $as_echo "$ac_cv_lib_gsm_gsm_create" >&6; } -if test "x$ac_cv_lib_gsm_gsm_create" = x""yes; then +if test "x$ac_cv_lib_gsm_gsm_create" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GSM 1 @@ -29591,145 +18092,9 @@ fi if test "${ac_cv_lib_gsm_gsm_create}" = "yes"; then if test "x${GSM_DIR}" != "x" ; then as_ac_Header=`$as_echo "ac_cv_header_${GSM_DIR}/include/gsm.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${GSM_DIR}/include/gsm.h" >&5 -$as_echo_n "checking for ${GSM_DIR}/include/gsm.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${GSM_DIR}/include/gsm.h usability" >&5 -$as_echo_n "checking ${GSM_DIR}/include/gsm.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${GSM_DIR}/include/gsm.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${GSM_DIR}/include/gsm.h presence" >&5 -$as_echo_n "checking ${GSM_DIR}/include/gsm.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${GSM_DIR}/include/gsm.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${GSM_DIR}/include/gsm.h" >&5 -$as_echo_n "checking for ${GSM_DIR}/include/gsm.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "${GSM_DIR}/include/gsm.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : GSM_HEADER_FOUND=1 else GSM_HEADER_FOUND=0 @@ -29737,145 +18102,9 @@ fi as_ac_Header=`$as_echo "ac_cv_header_${GSM_DIR}/include/gsm/gsm.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${GSM_DIR}/include/gsm/gsm.h" >&5 -$as_echo_n "checking for ${GSM_DIR}/include/gsm/gsm.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${GSM_DIR}/include/gsm/gsm.h usability" >&5 -$as_echo_n "checking ${GSM_DIR}/include/gsm/gsm.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${GSM_DIR}/include/gsm/gsm.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${GSM_DIR}/include/gsm/gsm.h presence" >&5 -$as_echo_n "checking ${GSM_DIR}/include/gsm/gsm.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${GSM_DIR}/include/gsm/gsm.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${GSM_DIR}/include/gsm/gsm.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${GSM_DIR}/include/gsm/gsm.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${GSM_DIR}/include/gsm/gsm.h" >&5 -$as_echo_n "checking for ${GSM_DIR}/include/gsm/gsm.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "${GSM_DIR}/include/gsm/gsm.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : GSM_GSM_HEADER_FOUND=1 else GSM_GSM_HEADER_FOUND=0 @@ -29883,278 +18112,16 @@ fi else - if test "${ac_cv_header_gsm_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for gsm.h" >&5 -$as_echo_n "checking for gsm.h... " >&6; } -if test "${ac_cv_header_gsm_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gsm_h" >&5 -$as_echo "$ac_cv_header_gsm_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking gsm.h usability" >&5 -$as_echo_n "checking gsm.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking gsm.h presence" >&5 -$as_echo_n "checking gsm.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: gsm.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: gsm.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: gsm.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: gsm.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: gsm.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: gsm.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: gsm.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: gsm.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for gsm.h" >&5 -$as_echo_n "checking for gsm.h... " >&6; } -if test "${ac_cv_header_gsm_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_gsm_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gsm_h" >&5 -$as_echo "$ac_cv_header_gsm_h" >&6; } - -fi -if test "x$ac_cv_header_gsm_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "gsm.h" "ac_cv_header_gsm_h" "$ac_includes_default" +if test "x$ac_cv_header_gsm_h" = x""yes; then : GSM_HEADER_FOUND=1 else GSM_HEADER_FOUND=0 fi - if test "${ac_cv_header_gsm_gsm_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for gsm/gsm.h" >&5 -$as_echo_n "checking for gsm/gsm.h... " >&6; } -if test "${ac_cv_header_gsm_gsm_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gsm_gsm_h" >&5 -$as_echo "$ac_cv_header_gsm_gsm_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking gsm/gsm.h usability" >&5 -$as_echo_n "checking gsm/gsm.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking gsm/gsm.h presence" >&5 -$as_echo_n "checking gsm/gsm.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: gsm/gsm.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: gsm/gsm.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for gsm/gsm.h" >&5 -$as_echo_n "checking for gsm/gsm.h... " >&6; } -if test "${ac_cv_header_gsm_gsm_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_gsm_gsm_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_gsm_gsm_h" >&5 -$as_echo "$ac_cv_header_gsm_gsm_h" >&6; } - -fi -if test "x$ac_cv_header_gsm_gsm_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "gsm/gsm.h" "ac_cv_header_gsm_gsm_h" "$ac_includes_default" +if test "x$ac_cv_header_gsm_gsm_h" = x""yes; then : GSM_GSM_HEADER_FOUND=1 else GSM_GSM_HEADER_FOUND=0 @@ -30165,13 +18132,13 @@ fi if test "${GSM_HEADER_FOUND}" = "0" ; then if test "{GSM_GSM_HEADER_FOUND}" = "0" ; then if test "x${GSM_MANDATORY}" = "xyes" ; then - { $as_echo "$as_me:$LINENO: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: ***" >&5 $as_echo "$as_me: ***" >&6;} - { $as_echo "$as_me:$LINENO: *** It appears that you do not have the gsm development package installed." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** It appears that you do not have the gsm development package installed." >&5 $as_echo "$as_me: *** It appears that you do not have the gsm development package installed." >&6;} - { $as_echo "$as_me:$LINENO: *** Please install it to include ${GSM_DESCRIP} support, or re-run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Please install it to include ${GSM_DESCRIP} support, or re-run configure" >&5 $as_echo "$as_me: *** Please install it to include ${GSM_DESCRIP} support, or re-run configure" >&6;} - { $as_echo "$as_me:$LINENO: *** without explicitly specifying --with-${GSM_OPTION}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** without explicitly specifying --with-${GSM_OPTION}" >&5 $as_echo "$as_me: *** without explicitly specifying --with-${GSM_OPTION}" >&6;} exit 1 fi @@ -30230,7 +18197,7 @@ if test "${USE_ILBC}" != "no"; then if test "x${PBX_ILBC}" != "x1" -a "${USE_ILBC}" != "no"; then pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for ILBC" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ILBC" >&5 $as_echo_n "checking for ILBC... " >&6; } if test -n "$PKG_CONFIG"; then @@ -30238,11 +18205,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_ILBC_CFLAGS="$ILBC_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libilbc\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libilbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libilbc") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_ILBC_CFLAGS=`$PKG_CONFIG --cflags "libilbc" 2>/dev/null` else pkg_failed=yes @@ -30256,11 +18223,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_ILBC_LIBS="$ILBC_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libilbc\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libilbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libilbc") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_ILBC_LIBS=`$PKG_CONFIG --libs "libilbc" 2>/dev/null` else pkg_failed=yes @@ -30287,7 +18254,7 @@ fi # Put the nasty error message in config.log where it belongs echo "$ILBC_PKG_ERRORS" >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PBX_ILBC=0 @@ -30301,16 +18268,14 @@ elif test $pkg_failed = untried; then else ILBC_CFLAGS=$pkg_cv_ILBC_CFLAGS ILBC_LIBS=$pkg_cv_ILBC_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_ILBC=1 ILBC_INCLUDE="$ILBC_CFLAGS" ILBC_LIB="$ILBC_LIBS" -cat >>confdefs.h <<\_ACEOF -#define HAVE_ILBC 1 -_ACEOF +$as_echo "#define HAVE_ILBC 1" >>confdefs.h fi @@ -30339,7 +18304,7 @@ if test "${USE_LIBEDIT}" != "no"; then if test "x${PBX_LIBEDIT}" != "x1" -a "${USE_LIBEDIT}" != "no"; then pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for LIBEDIT" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBEDIT" >&5 $as_echo_n "checking for LIBEDIT... " >&6; } if test -n "$PKG_CONFIG"; then @@ -30347,11 +18312,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_LIBEDIT_CFLAGS="$LIBEDIT_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libedit\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_LIBEDIT_CFLAGS=`$PKG_CONFIG --cflags "libedit" 2>/dev/null` else pkg_failed=yes @@ -30365,11 +18330,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_LIBEDIT_LIBS="$LIBEDIT_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libedit\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_LIBEDIT_LIBS=`$PKG_CONFIG --libs "libedit" 2>/dev/null` else pkg_failed=yes @@ -30396,7 +18361,7 @@ fi # Put the nasty error message in config.log where it belongs echo "$LIBEDIT_PKG_ERRORS" >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PBX_LIBEDIT=0 @@ -30410,16 +18375,14 @@ elif test $pkg_failed = untried; then else LIBEDIT_CFLAGS=$pkg_cv_LIBEDIT_CFLAGS LIBEDIT_LIBS=$pkg_cv_LIBEDIT_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_LIBEDIT=1 LIBEDIT_INCLUDE="$LIBEDIT_CFLAGS" LIBEDIT_LIB="$LIBEDIT_LIBS" -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBEDIT 1 -_ACEOF +$as_echo "#define HAVE_LIBEDIT 1" >>confdefs.h fi @@ -30452,18 +18415,14 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_iconv_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -liconv" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liconv" >&5 $as_echo_n "checking for ${pbxfuncname} in -liconv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-liconv ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -30481,47 +18440,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -30543,139 +18475,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" - if test "${ac_cv_header_iconv_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking iconv.h usability" >&5 -$as_echo_n "checking iconv.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking iconv.h presence" >&5 -$as_echo_n "checking iconv.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_iconv_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } - -fi -if test "x$ac_cv_header_iconv_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" +if test "x$ac_cv_header_iconv_h" = x""yes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -30720,18 +18521,14 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_iconv_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -liconv" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liconv" >&5 $as_echo_n "checking for ${pbxfuncname} in -liconv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-liconv ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -30749,47 +18546,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -30811,139 +18581,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" - if test "${ac_cv_header_iconv_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking iconv.h usability" >&5 -$as_echo_n "checking iconv.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking iconv.h presence" >&5 -$as_echo_n "checking iconv.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_iconv_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } - -fi -if test "x$ac_cv_header_iconv_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" +if test "x$ac_cv_header_iconv_h" = x""yes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -30988,18 +18627,14 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -31017,47 +18652,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -31079,139 +18687,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" - if test "${ac_cv_header_iconv_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking iconv.h usability" >&5 -$as_echo_n "checking iconv.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking iconv.h presence" >&5 -$as_echo_n "checking iconv.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for iconv.h" >&5 -$as_echo_n "checking for iconv.h... " >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_iconv_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -$as_echo "$ac_cv_header_iconv_h" >&6; } - -fi -if test "x$ac_cv_header_iconv_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" +if test "x$ac_cv_header_iconv_h" = x""yes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -31257,18 +18734,14 @@ if test "x${PBX_ICAL}" != "x1" -a "${USE_ICAL}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" as_ac_Lib=`$as_echo "ac_cv_lib_ical_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lical" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lical" >&5 $as_echo_n "checking for ${pbxfuncname} in -lical... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lical ${pbxlibdir} ${PTHREAD_LIBS} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -31286,47 +18759,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ICAL_FOUND=yes else AST_ICAL_FOUND=no @@ -31348,139 +18794,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICAL_INCLUDE}" - if test "${ac_cv_header_libical_ical_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libical/ical.h" >&5 -$as_echo_n "checking for libical/ical.h... " >&6; } -if test "${ac_cv_header_libical_ical_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libical_ical_h" >&5 -$as_echo "$ac_cv_header_libical_ical_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libical/ical.h usability" >&5 -$as_echo_n "checking libical/ical.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libical/ical.h presence" >&5 -$as_echo_n "checking libical/ical.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libical/ical.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libical/ical.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libical/ical.h" >&5 -$as_echo_n "checking for libical/ical.h... " >&6; } -if test "${ac_cv_header_libical_ical_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libical_ical_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libical_ical_h" >&5 -$as_echo "$ac_cv_header_libical_ical_h" >&6; } - -fi -if test "x$ac_cv_header_libical_ical_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libical/ical.h" "ac_cv_header_libical_ical_h" "$ac_includes_default" +if test "x$ac_cv_header_libical_ical_h" = x""yes; then : ICAL_HEADER_FOUND=1 else ICAL_HEADER_FOUND=0 @@ -31525,18 +18840,14 @@ if test "x${PBX_IKSEMEL}" != "x1" -a "${USE_IKSEMEL}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_iksemel_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -liksemel" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liksemel" >&5 $as_echo_n "checking for ${pbxfuncname} in -liksemel... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-liksemel ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -31554,47 +18865,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_IKSEMEL_FOUND=yes else AST_IKSEMEL_FOUND=no @@ -31616,139 +18900,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${IKSEMEL_INCLUDE}" - if test "${ac_cv_header_iksemel_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for iksemel.h" >&5 -$as_echo_n "checking for iksemel.h... " >&6; } -if test "${ac_cv_header_iksemel_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iksemel_h" >&5 -$as_echo "$ac_cv_header_iksemel_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking iksemel.h usability" >&5 -$as_echo_n "checking iksemel.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking iksemel.h presence" >&5 -$as_echo_n "checking iksemel.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: iksemel.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: iksemel.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: iksemel.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: iksemel.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: iksemel.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: iksemel.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: iksemel.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: iksemel.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: iksemel.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for iksemel.h" >&5 -$as_echo_n "checking for iksemel.h... " >&6; } -if test "${ac_cv_header_iksemel_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_iksemel_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_iksemel_h" >&5 -$as_echo "$ac_cv_header_iksemel_h" >&6; } - -fi -if test "x$ac_cv_header_iksemel_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "iksemel.h" "ac_cv_header_iksemel_h" "$ac_includes_default" +if test "x$ac_cv_header_iksemel_h" = x""yes; then : IKSEMEL_HEADER_FOUND=1 else IKSEMEL_HEADER_FOUND=0 @@ -31784,7 +18937,7 @@ if test "${USE_IMAP_TK}" != "no"; then switch_to_system_on_failure="yes" fi if test "${IMAP_TK_DIR}" != "system"; then - { $as_echo "$as_me:$LINENO: checking for UW IMAP Toolkit c-client library" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UW IMAP Toolkit c-client library" >&5 $as_echo_n "checking for UW IMAP Toolkit c-client library... " >&6; } if test -f "${IMAP_TK_DIR}/c-client/LDFLAGS"; then imap_ldflags=`cat ${IMAP_TK_DIR}/c-client/LDFLAGS` @@ -31793,11 +18946,7 @@ $as_echo_n "checking for UW IMAP Toolkit c-client library... " >&6; } imap_include="-I${IMAP_TK_DIR}/c-client" CPPFLAGS="${CPPFLAGS} ${imap_include}" LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "c-client.h" void mm_searched (MAILSTREAM *stream,unsigned long number) @@ -31856,45 +19005,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk="no" + ac_cv_imap_tk="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "${ac_cv_imap_tk}" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "c-client.h" void mm_searched (MAILSTREAM *stream,unsigned long number) @@ -31953,49 +19073,24 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk2006="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk2006="no" + ac_cv_imap_tk2006="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" if test "${ac_cv_imap_tk}" = "no"; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if test "${switch_to_system_on_failure}" = "yes"; then IMAP_TK_DIR="system" else #This means they specified a directory. Search for a package installation there too - { $as_echo "$as_me:$LINENO: checking for system c-client library..." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for system c-client library..." >&5 $as_echo_n "checking for system c-client library...... " >&6; } CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" @@ -32004,11 +19099,7 @@ $as_echo_n "checking for system c-client library...... " >&6; } imap_libs="-lc-client" CPPFLAGS="${CPPFLAGS} ${imap_include}" LIBS="${LIBS} ${imap_libs} ${imap_ldflags}" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "c-client.h" void mm_searched (MAILSTREAM *stream,unsigned long number) @@ -32067,45 +19158,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk="no" + ac_cv_imap_tk="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "${ac_cv_imap_tk}" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "c-client.h" void mm_searched (MAILSTREAM *stream,unsigned long number) @@ -32164,46 +19226,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk2006="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk2006="no" + ac_cv_imap_tk2006="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi fi fi fi if test "${IMAP_TK_DIR}" = "system"; then #We will enter here if user specified "system" or if any of above checks failed - { $as_echo "$as_me:$LINENO: checking for system c-client library..." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for system c-client library..." >&5 $as_echo_n "checking for system c-client library...... " >&6; } CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" @@ -32212,11 +19249,7 @@ $as_echo_n "checking for system c-client library...... " >&6; } imap_include="-DUSE_SYSTEM_IMAP" #Try the imap directory first CPPFLAGS="${CPPFLAGS} ${imap_include}" LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -32276,45 +19309,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk="no" + ac_cv_imap_tk="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "${ac_cv_imap_tk}" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -32374,39 +19378,14 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk2006="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk2006="no" + ac_cv_imap_tk2006="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext else #looking in imap directory didn't work, try c-client imap_ldflags="" imap_libs="-lc-client" @@ -32415,11 +19394,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ LIBS="${saved_libs}" CPPFLAGS="${CPPFLAGS} ${imap_include}" LIBS="${LIBS} ${imap_libs} "`echo ${imap_ldflags}` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -32479,45 +19454,16 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk="no" + ac_cv_imap_tk="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "${ac_cv_imap_tk}" = "yes"; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -32577,62 +19523,33 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_imap_tk2006="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_imap_tk2006="no" + ac_cv_imap_tk2006="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi fi fi if test "${ac_cv_imap_tk}" = "yes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } IMAP_TK_LIB="${imap_libs} "`echo ${imap_ldflags}` IMAP_TK_INCLUDE="${imap_include}" PBX_IMAP_TK=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_IMAP_TK 1 -_ACEOF +$as_echo "#define HAVE_IMAP_TK 1" >>confdefs.h if test "${ac_cv_imap_tk2006}" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_IMAP_TK2006 1 -_ACEOF +$as_echo "#define HAVE_IMAP_TK2006 1" >>confdefs.h fi else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi CPPFLAGS="${saved_cppflags}" @@ -32657,18 +19574,14 @@ if test "x${PBX_IODBC}" != "x1" -a "${USE_IODBC}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" as_ac_Lib=`$as_echo "ac_cv_lib_iodbc_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -liodbc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liodbc" >&5 $as_echo_n "checking for ${pbxfuncname} in -liodbc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-liodbc ${pbxlibdir} ${PTHREAD_LIBS} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -32686,47 +19599,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_IODBC_FOUND=yes else AST_IODBC_FOUND=no @@ -32748,139 +19634,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${IODBC_INCLUDE}" - if test "${ac_cv_header_sql_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sql.h" >&5 -$as_echo_n "checking for sql.h... " >&6; } -if test "${ac_cv_header_sql_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5 -$as_echo "$ac_cv_header_sql_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sql.h usability" >&5 -$as_echo_n "checking sql.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sql.h presence" >&5 -$as_echo_n "checking sql.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sql.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sql.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sql.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sql.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sql.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sql.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sql.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sql.h" >&5 -$as_echo_n "checking for sql.h... " >&6; } -if test "${ac_cv_header_sql_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sql_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5 -$as_echo "$ac_cv_header_sql_h" >&6; } - -fi -if test "x$ac_cv_header_sql_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sql.h" "ac_cv_header_sql_h" "$ac_includes_default" +if test "x$ac_cv_header_sql_h" = x""yes; then : IODBC_HEADER_FOUND=1 else IODBC_HEADER_FOUND=0 @@ -32925,18 +19680,14 @@ if test "x${PBX_INOTIFY}" != "x1" -a "${USE_INOTIFY}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -32954,47 +19705,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_INOTIFY_FOUND=yes else AST_INOTIFY_FOUND=no @@ -33016,139 +19740,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${INOTIFY_INCLUDE}" - if test "${ac_cv_header_sys_inotify_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/inotify.h" >&5 -$as_echo_n "checking for sys/inotify.h... " >&6; } -if test "${ac_cv_header_sys_inotify_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_inotify_h" >&5 -$as_echo "$ac_cv_header_sys_inotify_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/inotify.h usability" >&5 -$as_echo_n "checking sys/inotify.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/inotify.h presence" >&5 -$as_echo_n "checking sys/inotify.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/inotify.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/inotify.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/inotify.h" >&5 -$as_echo_n "checking for sys/inotify.h... " >&6; } -if test "${ac_cv_header_sys_inotify_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_inotify_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_inotify_h" >&5 -$as_echo "$ac_cv_header_sys_inotify_h" >&6; } - -fi -if test "x$ac_cv_header_sys_inotify_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_inotify_h" = x""yes; then : INOTIFY_HEADER_FOUND=1 else INOTIFY_HEADER_FOUND=0 @@ -33193,18 +19786,14 @@ if test "x${PBX_JACK}" != "x1" -a "${USE_JACK}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_jack_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -ljack" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ljack" >&5 $as_echo_n "checking for ${pbxfuncname} in -ljack... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ljack ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -33222,47 +19811,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_JACK_FOUND=yes else AST_JACK_FOUND=no @@ -33284,139 +19846,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${JACK_INCLUDE}" - if test "${ac_cv_header_jack_jack_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for jack/jack.h" >&5 -$as_echo_n "checking for jack/jack.h... " >&6; } -if test "${ac_cv_header_jack_jack_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jack_jack_h" >&5 -$as_echo "$ac_cv_header_jack_jack_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking jack/jack.h usability" >&5 -$as_echo_n "checking jack/jack.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking jack/jack.h presence" >&5 -$as_echo_n "checking jack/jack.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: jack/jack.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: jack/jack.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for jack/jack.h" >&5 -$as_echo_n "checking for jack/jack.h... " >&6; } -if test "${ac_cv_header_jack_jack_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_jack_jack_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_jack_jack_h" >&5 -$as_echo "$ac_cv_header_jack_jack_h" >&6; } - -fi -if test "x$ac_cv_header_jack_jack_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "jack/jack.h" "ac_cv_header_jack_jack_h" "$ac_includes_default" +if test "x$ac_cv_header_jack_jack_h" = x""yes; then : JACK_HEADER_FOUND=1 else JACK_HEADER_FOUND=0 @@ -33462,18 +19893,14 @@ if test "x${PBX_KQUEUE}" != "x1" -a "${USE_KQUEUE}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -33491,47 +19918,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_KQUEUE_FOUND=yes else AST_KQUEUE_FOUND=no @@ -33553,139 +19953,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${KQUEUE_INCLUDE}" - if test "${ac_cv_header_sys_event_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/event.h" >&5 -$as_echo_n "checking for sys/event.h... " >&6; } -if test "${ac_cv_header_sys_event_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_event_h" >&5 -$as_echo "$ac_cv_header_sys_event_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/event.h usability" >&5 -$as_echo_n "checking sys/event.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/event.h presence" >&5 -$as_echo_n "checking sys/event.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/event.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/event.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/event.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/event.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/event.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/event.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/event.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/event.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/event.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/event.h" >&5 -$as_echo_n "checking for sys/event.h... " >&6; } -if test "${ac_cv_header_sys_event_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_event_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_event_h" >&5 -$as_echo "$ac_cv_header_sys_event_h" >&6; } - -fi -if test "x$ac_cv_header_sys_event_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_event_h" = x""yes; then : KQUEUE_HEADER_FOUND=1 else KQUEUE_HEADER_FOUND=0 @@ -33713,102 +19982,12 @@ fi # 64-bit version of kevent (from kqueue) on OS X - for ac_func in kevent64 -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +do : + ac_fn_c_check_func "$LINENO" "kevent64" "ac_cv_func_kevent64" +if test "x$ac_cv_func_kevent64" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define HAVE_KEVENT64 1 _ACEOF fi @@ -33834,18 +20013,14 @@ if test "x${PBX_LTDL}" != "x1" -a "${USE_LTDL}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ltdl_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lltdl" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lltdl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lltdl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lltdl ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -33863,47 +20038,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_LTDL_FOUND=yes else AST_LTDL_FOUND=no @@ -33925,139 +20073,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LTDL_INCLUDE}" - if test "${ac_cv_header_ltdl_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for ltdl.h" >&5 -$as_echo_n "checking for ltdl.h... " >&6; } -if test "${ac_cv_header_ltdl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ltdl_h" >&5 -$as_echo "$ac_cv_header_ltdl_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ltdl.h usability" >&5 -$as_echo_n "checking ltdl.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ltdl.h presence" >&5 -$as_echo_n "checking ltdl.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ltdl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ltdl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ltdl.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ltdl.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ltdl.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ltdl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ltdl.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ltdl.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ltdl.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ltdl.h" >&5 -$as_echo_n "checking for ltdl.h... " >&6; } -if test "${ac_cv_header_ltdl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_ltdl_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ltdl_h" >&5 -$as_echo "$ac_cv_header_ltdl_h" >&6; } - -fi -if test "x$ac_cv_header_ltdl_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "ltdl.h" "ac_cv_header_ltdl_h" "$ac_includes_default" +if test "x$ac_cv_header_ltdl_h" = x""yes; then : LTDL_HEADER_FOUND=1 else LTDL_HEADER_FOUND=0 @@ -34102,18 +20119,14 @@ if test "x${PBX_LDAP}" != "x1" -a "${USE_LDAP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ldap_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lldap" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lldap" >&5 $as_echo_n "checking for ${pbxfuncname} in -lldap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lldap ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -34131,47 +20144,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_LDAP_FOUND=yes else AST_LDAP_FOUND=no @@ -34193,139 +20179,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LDAP_INCLUDE}" - if test "${ac_cv_header_ldap_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for ldap.h" >&5 -$as_echo_n "checking for ldap.h... " >&6; } -if test "${ac_cv_header_ldap_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ldap_h" >&5 -$as_echo "$ac_cv_header_ldap_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ldap.h usability" >&5 -$as_echo_n "checking ldap.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ldap.h presence" >&5 -$as_echo_n "checking ldap.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ldap.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ldap.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ldap.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ldap.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ldap.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ldap.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ldap.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ldap.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ldap.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ldap.h" >&5 -$as_echo_n "checking for ldap.h... " >&6; } -if test "${ac_cv_header_ldap_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_ldap_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ldap_h" >&5 -$as_echo "$ac_cv_header_ldap_h" >&6; } - -fi -if test "x$ac_cv_header_ldap_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default" +if test "x$ac_cv_header_ldap_h" = x""yes; then : LDAP_HEADER_FOUND=1 else LDAP_HEADER_FOUND=0 @@ -34370,18 +20225,14 @@ if test "x${PBX_MISDN}" != "x1" -a "${USE_MISDN}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_mISDN_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lmISDN" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lmISDN" >&5 $as_echo_n "checking for ${pbxfuncname} in -lmISDN... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmISDN ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -34399,47 +20250,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_MISDN_FOUND=yes else AST_MISDN_FOUND=no @@ -34461,139 +20285,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${MISDN_INCLUDE}" - if test "${ac_cv_header_mISDNuser_mISDNlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for mISDNuser/mISDNlib.h" >&5 -$as_echo_n "checking for mISDNuser/mISDNlib.h... " >&6; } -if test "${ac_cv_header_mISDNuser_mISDNlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_mISDNlib_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_mISDNlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/mISDNlib.h usability" >&5 -$as_echo_n "checking mISDNuser/mISDNlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/mISDNlib.h presence" >&5 -$as_echo_n "checking mISDNuser/mISDNlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/mISDNlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: mISDNuser/mISDNlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for mISDNuser/mISDNlib.h" >&5 -$as_echo_n "checking for mISDNuser/mISDNlib.h... " >&6; } -if test "${ac_cv_header_mISDNuser_mISDNlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_mISDNuser_mISDNlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_mISDNlib_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_mISDNlib_h" >&6; } - -fi -if test "x$ac_cv_header_mISDNuser_mISDNlib_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/mISDNlib.h" "ac_cv_header_mISDNuser_mISDNlib_h" "$ac_includes_default" +if test "x$ac_cv_header_mISDNuser_mISDNlib_h" = x""yes; then : MISDN_HEADER_FOUND=1 else MISDN_HEADER_FOUND=0 @@ -34639,18 +20332,14 @@ if test "x${PBX_ISDNNET}" != "x1" -a "${USE_ISDNNET}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_isdnnet_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lisdnnet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lisdnnet" >&5 $as_echo_n "checking for ${pbxfuncname} in -lisdnnet... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lisdnnet ${pbxlibdir} -lmISDN -lpthread $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -34668,47 +20357,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ISDNNET_FOUND=yes else AST_ISDNNET_FOUND=no @@ -34730,139 +20392,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ISDNNET_INCLUDE}" - if test "${ac_cv_header_mISDNuser_isdn_net_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for mISDNuser/isdn_net.h" >&5 -$as_echo_n "checking for mISDNuser/isdn_net.h... " >&6; } -if test "${ac_cv_header_mISDNuser_isdn_net_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_isdn_net_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_isdn_net_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/isdn_net.h usability" >&5 -$as_echo_n "checking mISDNuser/isdn_net.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/isdn_net.h presence" >&5 -$as_echo_n "checking mISDNuser/isdn_net.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/isdn_net.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: mISDNuser/isdn_net.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for mISDNuser/isdn_net.h" >&5 -$as_echo_n "checking for mISDNuser/isdn_net.h... " >&6; } -if test "${ac_cv_header_mISDNuser_isdn_net_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_mISDNuser_isdn_net_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_isdn_net_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_isdn_net_h" >&6; } - -fi -if test "x$ac_cv_header_mISDNuser_isdn_net_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/isdn_net.h" "ac_cv_header_mISDNuser_isdn_net_h" "$ac_includes_default" +if test "x$ac_cv_header_mISDNuser_isdn_net_h" = x""yes; then : ISDNNET_HEADER_FOUND=1 else ISDNNET_HEADER_FOUND=0 @@ -34906,18 +20437,14 @@ if test "x${PBX_SUPPSERV}" != "x1" -a "${USE_SUPPSERV}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_suppserv_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lsuppserv" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsuppserv" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsuppserv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsuppserv ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -34935,47 +20462,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SUPPSERV_FOUND=yes else AST_SUPPSERV_FOUND=no @@ -34997,139 +20497,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SUPPSERV_INCLUDE}" - if test "${ac_cv_header_mISDNuser_suppserv_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for mISDNuser/suppserv.h" >&5 -$as_echo_n "checking for mISDNuser/suppserv.h... " >&6; } -if test "${ac_cv_header_mISDNuser_suppserv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_suppserv_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_suppserv_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/suppserv.h usability" >&5 -$as_echo_n "checking mISDNuser/suppserv.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking mISDNuser/suppserv.h presence" >&5 -$as_echo_n "checking mISDNuser/suppserv.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: mISDNuser/suppserv.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: mISDNuser/suppserv.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for mISDNuser/suppserv.h" >&5 -$as_echo_n "checking for mISDNuser/suppserv.h... " >&6; } -if test "${ac_cv_header_mISDNuser_suppserv_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_mISDNuser_suppserv_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mISDNuser_suppserv_h" >&5 -$as_echo "$ac_cv_header_mISDNuser_suppserv_h" >&6; } - -fi -if test "x$ac_cv_header_mISDNuser_suppserv_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/suppserv.h" "ac_cv_header_mISDNuser_suppserv_h" "$ac_includes_default" +if test "x$ac_cv_header_mISDNuser_suppserv_h" = x""yes; then : SUPPSERV_HEADER_FOUND=1 else SUPPSERV_HEADER_FOUND=0 @@ -35157,7 +20526,7 @@ fi if test "x${PBX_MISDN_FAC_RESULT}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for Fac_RESULT in mISDNuser/suppserv.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fac_RESULT in mISDNuser/suppserv.h" >&5 $as_echo_n "checking for Fac_RESULT in mISDNuser/suppserv.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${MISDN_FAC_RESULT_DIR}" != "x"; then @@ -35165,13 +20534,9 @@ $as_echo_n "checking for Fac_RESULT in mISDNuser/suppserv.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${MISDN_FAC_RESULT_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -35186,43 +20551,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_MISDN_FAC_RESULT=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_MISDN_FAC_RESULT 1 -_ACEOF +$as_echo "#define HAVE_MISDN_FAC_RESULT 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -35230,7 +20572,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_MISDN_FAC_ERROR}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for Fac_ERROR in mISDNuser/suppserv.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fac_ERROR in mISDNuser/suppserv.h" >&5 $as_echo_n "checking for Fac_ERROR in mISDNuser/suppserv.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${MISDN_FAC_ERROR_DIR}" != "x"; then @@ -35238,13 +20580,9 @@ $as_echo_n "checking for Fac_ERROR in mISDNuser/suppserv.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${MISDN_FAC_ERROR_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -35259,181 +20597,27 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_MISDN_FAC_ERROR=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_MISDN_FAC_ERROR 1 -_ACEOF +$as_echo "#define HAVE_MISDN_FAC_ERROR 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi - if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for linux/mISDNdsp.h" >&5 -$as_echo_n "checking for linux/mISDNdsp.h... " >&6; } -if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_mISDNdsp_h" >&5 -$as_echo "$ac_cv_header_linux_mISDNdsp_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking linux/mISDNdsp.h usability" >&5 -$as_echo_n "checking linux/mISDNdsp.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking linux/mISDNdsp.h presence" >&5 -$as_echo_n "checking linux/mISDNdsp.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: linux/mISDNdsp.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for linux/mISDNdsp.h" >&5 -$as_echo_n "checking for linux/mISDNdsp.h... " >&6; } -if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_linux_mISDNdsp_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_mISDNdsp_h" >&5 -$as_echo "$ac_cv_header_linux_mISDNdsp_h" >&6; } - -fi -if test "x$ac_cv_header_linux_mISDNdsp_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "linux/mISDNdsp.h" "ac_cv_header_linux_mISDNdsp_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_mISDNdsp_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define MISDN_1_2 1 @@ -35442,105 +20626,10 @@ _ACEOF fi - { $as_echo "$as_me:$LINENO: checking for Q931_info_t.redirect_dn" >&5 -$as_echo_n "checking for Q931_info_t.redirect_dn... " >&6; } -if test "${ac_cv_member_Q931_info_t_redirect_dn+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include + ac_fn_c_check_member "$LINENO" "Q931_info_t" "redirect_dn" "ac_cv_member_Q931_info_t_redirect_dn" "#include +" +if test "x$ac_cv_member_Q931_info_t_redirect_dn" = x""yes; then : -int -main () -{ -static Q931_info_t ac_aggr; -if (ac_aggr.redirect_dn) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_Q931_info_t_redirect_dn=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int -main () -{ -static Q931_info_t ac_aggr; -if (sizeof ac_aggr.redirect_dn) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_Q931_info_t_redirect_dn=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_Q931_info_t_redirect_dn=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_Q931_info_t_redirect_dn" >&5 -$as_echo "$ac_cv_member_Q931_info_t_redirect_dn" >&6; } -if test "x$ac_cv_member_Q931_info_t_redirect_dn" = x""yes; then - : else PBX_MISDN=0 fi @@ -35553,9 +20642,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mysql_config", so it can be a program name with args. set dummy ${ac_tool_prefix}mysql_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_MYSQLCLIENT+set}" = set; then +if test "${ac_cv_path_CONFIG_MYSQLCLIENT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_MYSQLCLIENT in @@ -35569,14 +20658,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -35584,10 +20673,10 @@ esac fi CONFIG_MYSQLCLIENT=$ac_cv_path_CONFIG_MYSQLCLIENT if test -n "$CONFIG_MYSQLCLIENT"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_MYSQLCLIENT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_MYSQLCLIENT" >&5 $as_echo "$CONFIG_MYSQLCLIENT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -35597,9 +20686,9 @@ if test -z "$ac_cv_path_CONFIG_MYSQLCLIENT"; then ac_pt_CONFIG_MYSQLCLIENT=$CONFIG_MYSQLCLIENT # Extract the first word of "mysql_config", so it can be a program name with args. set dummy mysql_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_MYSQLCLIENT in @@ -35613,14 +20702,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -35628,10 +20717,10 @@ esac fi ac_pt_CONFIG_MYSQLCLIENT=$ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT if test -n "$ac_pt_CONFIG_MYSQLCLIENT"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_MYSQLCLIENT" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_MYSQLCLIENT" >&5 $as_echo "$ac_pt_CONFIG_MYSQLCLIENT" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -35640,7 +20729,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -35665,11 +20754,7 @@ fi saved_libs="${LIBS}" LIBS="${MYSQLCLIENT_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -35681,53 +20766,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_MYSQLCLIENT=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_MYSQLCLIENT 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_MYSQLCLIENT 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_MYSQLCLIENT=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_MYSQLCLIENT 1 -_ACEOF +$as_echo "#define HAVE_MYSQLCLIENT 1" >>confdefs.h fi fi @@ -35752,18 +20805,14 @@ if test "x${PBX_NBS}" != "x1" -a "${USE_NBS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_nbs_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lnbs" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lnbs" >&5 $as_echo_n "checking for ${pbxfuncname} in -lnbs... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnbs ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -35781,47 +20830,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_NBS_FOUND=yes else AST_NBS_FOUND=no @@ -35843,139 +20865,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NBS_INCLUDE}" - if test "${ac_cv_header_nbs_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for nbs.h" >&5 -$as_echo_n "checking for nbs.h... " >&6; } -if test "${ac_cv_header_nbs_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_nbs_h" >&5 -$as_echo "$ac_cv_header_nbs_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking nbs.h usability" >&5 -$as_echo_n "checking nbs.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking nbs.h presence" >&5 -$as_echo_n "checking nbs.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: nbs.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: nbs.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: nbs.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: nbs.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: nbs.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: nbs.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: nbs.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: nbs.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: nbs.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for nbs.h" >&5 -$as_echo_n "checking for nbs.h... " >&6; } -if test "${ac_cv_header_nbs_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_nbs_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_nbs_h" >&5 -$as_echo "$ac_cv_header_nbs_h" >&6; } - -fi -if test "x$ac_cv_header_nbs_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "nbs.h" "ac_cv_header_nbs_h" "$ac_includes_default" +if test "x$ac_cv_header_nbs_h" = x""yes; then : NBS_HEADER_FOUND=1 else NBS_HEADER_FOUND=0 @@ -36008,9 +20899,9 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}neon-config", so it can be a program name with args. set dummy ${ac_tool_prefix}neon-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NEON+set}" = set; then +if test "${ac_cv_path_CONFIG_NEON+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NEON in @@ -36024,14 +20915,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36039,10 +20930,10 @@ esac fi CONFIG_NEON=$ac_cv_path_CONFIG_NEON if test -n "$CONFIG_NEON"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_NEON" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_NEON" >&5 $as_echo "$CONFIG_NEON" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36052,9 +20943,9 @@ if test -z "$ac_cv_path_CONFIG_NEON"; then ac_pt_CONFIG_NEON=$CONFIG_NEON # Extract the first word of "neon-config", so it can be a program name with args. set dummy neon-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NEON+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_NEON+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NEON in @@ -36068,14 +20959,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36083,10 +20974,10 @@ esac fi ac_pt_CONFIG_NEON=$ac_cv_path_ac_pt_CONFIG_NEON if test -n "$ac_pt_CONFIG_NEON"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_NEON" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_NEON" >&5 $as_echo "$ac_pt_CONFIG_NEON" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36095,7 +20986,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -36120,11 +21011,7 @@ fi saved_libs="${LIBS}" LIBS="${NEON_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -36136,53 +21023,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_NEON=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NEON 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_NEON 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_NEON=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NEON 1 -_ACEOF +$as_echo "#define HAVE_NEON 1" >>confdefs.h fi fi @@ -36195,9 +21050,9 @@ _ACEOF if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}neon-config", so it can be a program name with args. set dummy ${ac_tool_prefix}neon-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NEON29+set}" = set; then +if test "${ac_cv_path_CONFIG_NEON29+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NEON29 in @@ -36211,14 +21066,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36226,10 +21081,10 @@ esac fi CONFIG_NEON29=$ac_cv_path_CONFIG_NEON29 if test -n "$CONFIG_NEON29"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_NEON29" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_NEON29" >&5 $as_echo "$CONFIG_NEON29" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36239,9 +21094,9 @@ if test -z "$ac_cv_path_CONFIG_NEON29"; then ac_pt_CONFIG_NEON29=$CONFIG_NEON29 # Extract the first word of "neon-config", so it can be a program name with args. set dummy neon-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NEON29+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_NEON29+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NEON29 in @@ -36255,14 +21110,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36270,10 +21125,10 @@ esac fi ac_pt_CONFIG_NEON29=$ac_cv_path_ac_pt_CONFIG_NEON29 if test -n "$ac_pt_CONFIG_NEON29"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_NEON29" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_NEON29" >&5 $as_echo "$ac_pt_CONFIG_NEON29" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36282,7 +21137,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -36307,13 +21162,9 @@ fi saved_libs="${LIBS}" LIBS="${NEON29_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include + #include int main () { @@ -36325,53 +21176,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_NEON29=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NEON29 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_NEON29 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_NEON29=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NEON29 1 -_ACEOF +$as_echo "#define HAVE_NEON29 1" >>confdefs.h fi fi @@ -36384,9 +21203,9 @@ _ACEOF if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}net-snmp-config", so it can be a program name with args. set dummy ${ac_tool_prefix}net-snmp-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NETSNMP+set}" = set; then +if test "${ac_cv_path_CONFIG_NETSNMP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NETSNMP in @@ -36400,14 +21219,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36415,10 +21234,10 @@ esac fi CONFIG_NETSNMP=$ac_cv_path_CONFIG_NETSNMP if test -n "$CONFIG_NETSNMP"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_NETSNMP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_NETSNMP" >&5 $as_echo "$CONFIG_NETSNMP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36428,9 +21247,9 @@ if test -z "$ac_cv_path_CONFIG_NETSNMP"; then ac_pt_CONFIG_NETSNMP=$CONFIG_NETSNMP # Extract the first word of "net-snmp-config", so it can be a program name with args. set dummy net-snmp-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NETSNMP+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_NETSNMP+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NETSNMP in @@ -36444,14 +21263,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -36459,10 +21278,10 @@ esac fi ac_pt_CONFIG_NETSNMP=$ac_cv_path_ac_pt_CONFIG_NETSNMP if test -n "$ac_pt_CONFIG_NETSNMP"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_NETSNMP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_NETSNMP" >&5 $as_echo "$ac_pt_CONFIG_NETSNMP" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -36471,7 +21290,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -36498,13 +21317,9 @@ fi saved_libs="${LIBS}" LIBS="${NETSNMP_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include + #include #include #include int @@ -36516,53 +21331,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_NETSNMP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NETSNMP 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_NETSNMP 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_NETSNMP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_NETSNMP 1 -_ACEOF +$as_echo "#define HAVE_NETSNMP 1" >>confdefs.h fi fi @@ -36587,18 +21370,14 @@ if test "x${PBX_NEWT}" != "x1" -a "${USE_NEWT}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_newt_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lnewt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lnewt" >&5 $as_echo_n "checking for ${pbxfuncname} in -lnewt... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lnewt ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -36616,47 +21395,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_NEWT_FOUND=yes else AST_NEWT_FOUND=no @@ -36678,139 +21430,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NEWT_INCLUDE}" - if test "${ac_cv_header_newt_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for newt.h" >&5 -$as_echo_n "checking for newt.h... " >&6; } -if test "${ac_cv_header_newt_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_newt_h" >&5 -$as_echo "$ac_cv_header_newt_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking newt.h usability" >&5 -$as_echo_n "checking newt.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking newt.h presence" >&5 -$as_echo_n "checking newt.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: newt.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: newt.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: newt.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: newt.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: newt.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: newt.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: newt.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: newt.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: newt.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: newt.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: newt.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for newt.h" >&5 -$as_echo_n "checking for newt.h... " >&6; } -if test "${ac_cv_header_newt_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_newt_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_newt_h" >&5 -$as_echo "$ac_cv_header_newt_h" >&6; } - -fi -if test "x$ac_cv_header_newt_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "newt.h" "ac_cv_header_newt_h" "$ac_includes_default" +if test "x$ac_cv_header_newt_h" = x""yes; then : NEWT_HEADER_FOUND=1 else NEWT_HEADER_FOUND=0 @@ -36855,18 +21476,14 @@ if test "x${PBX_UNIXODBC}" != "x1" -a "${USE_UNIXODBC}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_odbc_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lodbc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lodbc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lodbc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lodbc ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -36884,47 +21501,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_UNIXODBC_FOUND=yes else AST_UNIXODBC_FOUND=no @@ -36946,139 +21536,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${UNIXODBC_INCLUDE}" - if test "${ac_cv_header_sql_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sql.h" >&5 -$as_echo_n "checking for sql.h... " >&6; } -if test "${ac_cv_header_sql_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5 -$as_echo "$ac_cv_header_sql_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sql.h usability" >&5 -$as_echo_n "checking sql.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sql.h presence" >&5 -$as_echo_n "checking sql.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sql.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sql.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sql.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sql.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sql.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sql.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sql.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sql.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sql.h" >&5 -$as_echo_n "checking for sql.h... " >&6; } -if test "${ac_cv_header_sql_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sql_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5 -$as_echo "$ac_cv_header_sql_h" >&6; } - -fi -if test "x$ac_cv_header_sql_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sql.h" "ac_cv_header_sql_h" "$ac_includes_default" +if test "x$ac_cv_header_sql_h" = x""yes; then : UNIXODBC_HEADER_FOUND=1 else UNIXODBC_HEADER_FOUND=0 @@ -37123,18 +21582,14 @@ if test "x${PBX_OGG}" != "x1" -a "${USE_OGG}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ogg_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -logg" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -logg" >&5 $as_echo_n "checking for ${pbxfuncname} in -logg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-logg ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -37152,47 +21607,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OGG_FOUND=yes else AST_OGG_FOUND=no @@ -37214,139 +21642,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OGG_INCLUDE}" - if test "${ac_cv_header_+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking usability" >&5 -$as_echo_n "checking usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking presence" >&5 -$as_echo_n "checking presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: : present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: : present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: : check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: : see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: : section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: : in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } - -fi -if test "x$ac_cv_header_" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" +if test "x$ac_cv_header_" = x""yes; then : OGG_HEADER_FOUND=1 else OGG_HEADER_FOUND=0 @@ -37392,18 +21689,14 @@ if test "x${PBX_BKTR}" != "x1" -a "${USE_BKTR}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_execinfo_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lexecinfo" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lexecinfo" >&5 $as_echo_n "checking for ${pbxfuncname} in -lexecinfo... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexecinfo ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -37421,47 +21714,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_BKTR_FOUND=yes else AST_BKTR_FOUND=no @@ -37483,139 +21749,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BKTR_INCLUDE}" - if test "${ac_cv_header_execinfo_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for execinfo.h" >&5 -$as_echo_n "checking for execinfo.h... " >&6; } -if test "${ac_cv_header_execinfo_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5 -$as_echo "$ac_cv_header_execinfo_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking execinfo.h usability" >&5 -$as_echo_n "checking execinfo.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking execinfo.h presence" >&5 -$as_echo_n "checking execinfo.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: execinfo.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: execinfo.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: execinfo.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: execinfo.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: execinfo.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: execinfo.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for execinfo.h" >&5 -$as_echo_n "checking for execinfo.h... " >&6; } -if test "${ac_cv_header_execinfo_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_execinfo_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5 -$as_echo "$ac_cv_header_execinfo_h" >&6; } - -fi -if test "x$ac_cv_header_execinfo_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" +if test "x$ac_cv_header_execinfo_h" = x""yes; then : BKTR_HEADER_FOUND=1 else BKTR_HEADER_FOUND=0 @@ -37660,18 +21795,14 @@ if test "x${PBX_BKTR}" != "x1" -a "${USE_BKTR}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lc" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -37689,47 +21820,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_BKTR_FOUND=yes else AST_BKTR_FOUND=no @@ -37751,139 +21855,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BKTR_INCLUDE}" - if test "${ac_cv_header_execinfo_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for execinfo.h" >&5 -$as_echo_n "checking for execinfo.h... " >&6; } -if test "${ac_cv_header_execinfo_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5 -$as_echo "$ac_cv_header_execinfo_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking execinfo.h usability" >&5 -$as_echo_n "checking execinfo.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking execinfo.h presence" >&5 -$as_echo_n "checking execinfo.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: execinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: execinfo.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: execinfo.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: execinfo.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: execinfo.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: execinfo.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: execinfo.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: execinfo.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: execinfo.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for execinfo.h" >&5 -$as_echo_n "checking for execinfo.h... " >&6; } -if test "${ac_cv_header_execinfo_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_execinfo_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_execinfo_h" >&5 -$as_echo "$ac_cv_header_execinfo_h" >&6; } - -fi -if test "x$ac_cv_header_execinfo_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" +if test "x$ac_cv_header_execinfo_h" = x""yes; then : BKTR_HEADER_FOUND=1 else BKTR_HEADER_FOUND=0 @@ -37928,18 +21901,14 @@ if test "x${PBX_BLUETOOTH}" != "x1" -a "${USE_BLUETOOTH}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_bluetooth_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lbluetooth" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbluetooth" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbluetooth... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbluetooth ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -37957,47 +21926,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_BLUETOOTH_FOUND=yes else AST_BLUETOOTH_FOUND=no @@ -38019,139 +21961,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BLUETOOTH_INCLUDE}" - if test "${ac_cv_header_bluetooth_bluetooth_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for bluetooth/bluetooth.h" >&5 -$as_echo_n "checking for bluetooth/bluetooth.h... " >&6; } -if test "${ac_cv_header_bluetooth_bluetooth_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bluetooth_bluetooth_h" >&5 -$as_echo "$ac_cv_header_bluetooth_bluetooth_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking bluetooth/bluetooth.h usability" >&5 -$as_echo_n "checking bluetooth/bluetooth.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking bluetooth/bluetooth.h presence" >&5 -$as_echo_n "checking bluetooth/bluetooth.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: bluetooth/bluetooth.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: bluetooth/bluetooth.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for bluetooth/bluetooth.h" >&5 -$as_echo_n "checking for bluetooth/bluetooth.h... " >&6; } -if test "${ac_cv_header_bluetooth_bluetooth_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_bluetooth_bluetooth_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_bluetooth_bluetooth_h" >&5 -$as_echo "$ac_cv_header_bluetooth_bluetooth_h" >&6; } - -fi -if test "x$ac_cv_header_bluetooth_bluetooth_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default" +if test "x$ac_cv_header_bluetooth_bluetooth_h" = x""yes; then : BLUETOOTH_HEADER_FOUND=1 else BLUETOOTH_HEADER_FOUND=0 @@ -38197,18 +22008,14 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lossaudio" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lossaudio ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -38226,47 +22033,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -38288,139 +22068,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" - if test "${ac_cv_header_linux_soundcard_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for linux/soundcard.h" >&5 -$as_echo_n "checking for linux/soundcard.h... " >&6; } -if test "${ac_cv_header_linux_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_soundcard_h" >&5 -$as_echo "$ac_cv_header_linux_soundcard_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking linux/soundcard.h usability" >&5 -$as_echo_n "checking linux/soundcard.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking linux/soundcard.h presence" >&5 -$as_echo_n "checking linux/soundcard.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/soundcard.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: linux/soundcard.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for linux/soundcard.h" >&5 -$as_echo_n "checking for linux/soundcard.h... " >&6; } -if test "${ac_cv_header_linux_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_linux_soundcard_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_soundcard_h" >&5 -$as_echo "$ac_cv_header_linux_soundcard_h" >&6; } - -fi -if test "x$ac_cv_header_linux_soundcard_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "linux/soundcard.h" "ac_cv_header_linux_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_soundcard_h" = x""yes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -38464,18 +22113,14 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lossaudio" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lossaudio ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -38493,47 +22138,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -38555,139 +22173,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" - if test "${ac_cv_header_sys_soundcard_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5 -$as_echo_n "checking for sys/soundcard.h... " >&6; } -if test "${ac_cv_header_sys_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5 -$as_echo "$ac_cv_header_sys_soundcard_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sys/soundcard.h usability" >&5 -$as_echo_n "checking sys/soundcard.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sys/soundcard.h presence" >&5 -$as_echo_n "checking sys/soundcard.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sys/soundcard.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sys/soundcard.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5 -$as_echo_n "checking for sys/soundcard.h... " >&6; } -if test "${ac_cv_header_sys_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sys_soundcard_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5 -$as_echo "$ac_cv_header_sys_soundcard_h" >&6; } - -fi -if test "x$ac_cv_header_sys_soundcard_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/soundcard.h" "ac_cv_header_sys_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_soundcard_h" = x""yes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -38731,18 +22218,14 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lossaudio" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lossaudio ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -38760,47 +22243,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -38822,139 +22278,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" - if test "${ac_cv_header_soundcard_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for soundcard.h" >&5 -$as_echo_n "checking for soundcard.h... " >&6; } -if test "${ac_cv_header_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_soundcard_h" >&5 -$as_echo "$ac_cv_header_soundcard_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking soundcard.h usability" >&5 -$as_echo_n "checking soundcard.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking soundcard.h presence" >&5 -$as_echo_n "checking soundcard.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: soundcard.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: soundcard.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: soundcard.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: soundcard.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: soundcard.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: soundcard.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: soundcard.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: soundcard.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for soundcard.h" >&5 -$as_echo_n "checking for soundcard.h... " >&6; } -if test "${ac_cv_header_soundcard_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_soundcard_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_soundcard_h" >&5 -$as_echo "$ac_cv_header_soundcard_h" >&6; } - -fi -if test "x$ac_cv_header_soundcard_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "soundcard.h" "ac_cv_header_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_soundcard_h" = x""yes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -38987,9 +22312,9 @@ if test "${USE_PGSQL}" != "no"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pg_config", so it can be a program name with args. set dummy ${ac_tool_prefix}pg_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PG_CONFIG+set}" = set; then +if test "${ac_cv_path_PG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PG_CONFIG in @@ -39002,14 +22327,14 @@ for as_dir in ${PGSQL_DIR}/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -39017,10 +22342,10 @@ esac fi PG_CONFIG=$ac_cv_path_PG_CONFIG if test -n "$PG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 $as_echo "$PG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -39030,9 +22355,9 @@ if test -z "$ac_cv_path_PG_CONFIG"; then ac_pt_PG_CONFIG=$PG_CONFIG # Extract the first word of "pg_config", so it can be a program name with args. set dummy pg_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then +if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PG_CONFIG in @@ -39045,14 +22370,14 @@ for as_dir in ${PGSQL_DIR}/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -39060,10 +22385,10 @@ esac fi ac_pt_PG_CONFIG=$ac_cv_path_ac_pt_PG_CONFIG if test -n "$ac_pt_PG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_PG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PG_CONFIG" >&5 $as_echo "$ac_pt_PG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -39072,7 +22397,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -39083,15 +22408,15 @@ else fi if test x"${PG_CONFIG}" = xNo; then - { $as_echo "$as_me:$LINENO: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: ***" >&5 $as_echo "$as_me: ***" >&6;} - { $as_echo "$as_me:$LINENO: *** pg_config was not found in the path you specified:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** pg_config was not found in the path you specified:" >&5 $as_echo "$as_me: *** pg_config was not found in the path you specified:" >&6;} - { $as_echo "$as_me:$LINENO: *** ${PGSQL_DIR}/bin" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** ${PGSQL_DIR}/bin" >&5 $as_echo "$as_me: *** ${PGSQL_DIR}/bin" >&6;} - { $as_echo "$as_me:$LINENO: *** Either correct the installation, or run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Either correct the installation, or run configure" >&5 $as_echo "$as_me: *** Either correct the installation, or run configure" >&6;} - { $as_echo "$as_me:$LINENO: *** including --without-postgres" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** including --without-postgres" >&5 $as_echo "$as_me: *** including --without-postgres" >&6;} exit 1 fi @@ -39099,9 +22424,9 @@ $as_echo "$as_me: *** including --without-postgres" >&6;} if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pg_config", so it can be a program name with args. set dummy ${ac_tool_prefix}pg_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PG_CONFIG+set}" = set; then +if test "${ac_cv_path_PG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PG_CONFIG in @@ -39114,14 +22439,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -39129,10 +22454,10 @@ esac fi PG_CONFIG=$ac_cv_path_PG_CONFIG if test -n "$PG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 $as_echo "$PG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -39142,9 +22467,9 @@ if test -z "$ac_cv_path_PG_CONFIG"; then ac_pt_PG_CONFIG=$PG_CONFIG # Extract the first word of "pg_config", so it can be a program name with args. set dummy pg_config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then +if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PG_CONFIG in @@ -39157,14 +22482,14 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -39172,10 +22497,10 @@ esac fi ac_pt_PG_CONFIG=$ac_cv_path_ac_pt_PG_CONFIG if test -n "$ac_pt_PG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_PG_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PG_CONFIG" >&5 $as_echo "$ac_pt_PG_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -39184,7 +22509,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -39201,29 +22526,25 @@ if test "${PG_CONFIG}" != No; then PGSQL_includedir=`${PG_CONFIG} --includedir` if test "x$?" != "x0" ; then if test -n "${PGSQL_MANDATORY}" ; then - { $as_echo "$as_me:$LINENO: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: ***" >&5 $as_echo "$as_me: ***" >&6;} - { $as_echo "$as_me:$LINENO: *** The PostgreSQL installation on this system appears to be broken." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** The PostgreSQL installation on this system appears to be broken." >&5 $as_echo "$as_me: *** The PostgreSQL installation on this system appears to be broken." >&6;} - { $as_echo "$as_me:$LINENO: *** Either correct the installation, or run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Either correct the installation, or run configure" >&5 $as_echo "$as_me: *** Either correct the installation, or run configure" >&6;} - { $as_echo "$as_me:$LINENO: *** including --without-postgres" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** including --without-postgres" >&5 $as_echo "$as_me: *** including --without-postgres" >&6;} exit 1 fi else - { $as_echo "$as_me:$LINENO: checking for PQescapeStringConn in -lpq" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PQescapeStringConn in -lpq" >&5 $as_echo_n "checking for PQescapeStringConn in -lpq... " >&6; } -if test "${ac_cv_lib_pq_PQescapeStringConn+set}" = set; then +if test "${ac_cv_lib_pq_PQescapeStringConn+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpq -L${PGSQL_libdir} -lz $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -39241,43 +22562,18 @@ return PQescapeStringConn (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pq_PQescapeStringConn=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_pq_PQescapeStringConn=no + ac_cv_lib_pq_PQescapeStringConn=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pq_PQescapeStringConn" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQescapeStringConn" >&5 $as_echo "$ac_cv_lib_pq_PQescapeStringConn" >&6; } -if test "x$ac_cv_lib_pq_PQescapeStringConn" = x""yes; then +if test "x$ac_cv_lib_pq_PQescapeStringConn" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PGSQL 1 @@ -39286,17 +22582,13 @@ _ACEOF fi - { $as_echo "$as_me:$LINENO: checking for pg_encoding_to_char within Postgres headers" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pg_encoding_to_char within Postgres headers" >&5 $as_echo_n "checking for pg_encoding_to_char within Postgres headers... " >&6; } old_CFLAGS=${CFLAGS} CFLAGS="${CFLAGS} -I${PGSQL_includedir} -Werror" old_LDFLAGS=${LDFLAGS} LDFLAGS="${LDFLAGS} -L${PGSQL_libdir} -lpq -lz" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int @@ -39307,28 +22599,8 @@ const char *foo = pg_encoding_to_char(1) return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<_ACEOF @@ -39336,16 +22608,11 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CFLAGS=${old_CFLAGS} LDFLAGS=${old_LDFLAGS} @@ -39355,13 +22622,13 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ PBX_PGSQL=1 elif test -n "${PGSQL_MANDATORY}"; then - { $as_echo "$as_me:$LINENO: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: ***" >&5 $as_echo "$as_me: ***" >&6;} - { $as_echo "$as_me:$LINENO: *** The PostgreSQL installation on this system appears to be broken." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** The PostgreSQL installation on this system appears to be broken." >&5 $as_echo "$as_me: *** The PostgreSQL installation on this system appears to be broken." >&6;} - { $as_echo "$as_me:$LINENO: *** Either correct the installation, or run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Either correct the installation, or run configure" >&5 $as_echo "$as_me: *** Either correct the installation, or run configure" >&6;} - { $as_echo "$as_me:$LINENO: *** including --without-postgres" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** including --without-postgres" >&5 $as_echo "$as_me: *** including --without-postgres" >&6;} exit 1 fi @@ -39386,18 +22653,14 @@ if test "x${PBX_POPT}" != "x1" -a "${USE_POPT}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_popt_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpopt" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpopt" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpopt... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpopt ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -39415,47 +22678,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_POPT_FOUND=yes else AST_POPT_FOUND=no @@ -39477,139 +22713,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${POPT_INCLUDE}" - if test "${ac_cv_header_popt_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for popt.h" >&5 -$as_echo_n "checking for popt.h... " >&6; } -if test "${ac_cv_header_popt_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_popt_h" >&5 -$as_echo "$ac_cv_header_popt_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking popt.h usability" >&5 -$as_echo_n "checking popt.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking popt.h presence" >&5 -$as_echo_n "checking popt.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: popt.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: popt.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: popt.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: popt.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: popt.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: popt.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: popt.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: popt.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: popt.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: popt.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: popt.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for popt.h" >&5 -$as_echo_n "checking for popt.h... " >&6; } -if test "${ac_cv_header_popt_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_popt_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_popt_h" >&5 -$as_echo "$ac_cv_header_popt_h" >&6; } - -fi -if test "x$ac_cv_header_popt_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "popt.h" "ac_cv_header_popt_h" "$ac_includes_default" +if test "x$ac_cv_header_popt_h" = x""yes; then : POPT_HEADER_FOUND=1 else POPT_HEADER_FOUND=0 @@ -39654,18 +22759,14 @@ if test "x${PBX_PORTAUDIO}" != "x1" -a "${USE_PORTAUDIO}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_portaudio_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lportaudio" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lportaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lportaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lportaudio ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -39683,47 +22784,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PORTAUDIO_FOUND=yes else AST_PORTAUDIO_FOUND=no @@ -39745,139 +22819,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PORTAUDIO_INCLUDE}" - if test "${ac_cv_header_portaudio_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for portaudio.h" >&5 -$as_echo_n "checking for portaudio.h... " >&6; } -if test "${ac_cv_header_portaudio_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_portaudio_h" >&5 -$as_echo "$ac_cv_header_portaudio_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking portaudio.h usability" >&5 -$as_echo_n "checking portaudio.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking portaudio.h presence" >&5 -$as_echo_n "checking portaudio.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: portaudio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: portaudio.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: portaudio.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: portaudio.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: portaudio.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: portaudio.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: portaudio.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: portaudio.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: portaudio.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for portaudio.h" >&5 -$as_echo_n "checking for portaudio.h... " >&6; } -if test "${ac_cv_header_portaudio_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_portaudio_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_portaudio_h" >&5 -$as_echo "$ac_cv_header_portaudio_h" >&6; } - -fi -if test "x$ac_cv_header_portaudio_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "portaudio.h" "ac_cv_header_portaudio_h" "$ac_includes_default" +if test "x$ac_cv_header_portaudio_h" = x""yes; then : PORTAUDIO_HEADER_FOUND=1 else PORTAUDIO_HEADER_FOUND=0 @@ -39922,18 +22865,14 @@ if test "x${PBX_PRI}" != "x1" -a "${USE_PRI}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -39951,47 +22890,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_FOUND=yes else AST_PRI_FOUND=no @@ -40013,139 +22925,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_HEADER_FOUND=1 else PRI_HEADER_FOUND=0 @@ -40189,18 +22970,14 @@ if test "x${PBX_PRI_L2_PERSISTENCE}" != "x1" -a "${USE_PRI_L2_PERSISTENCE}" != " ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -40218,47 +22995,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_L2_PERSISTENCE_FOUND=yes else AST_PRI_L2_PERSISTENCE_FOUND=no @@ -40280,139 +23030,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_L2_PERSISTENCE_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_L2_PERSISTENCE_HEADER_FOUND=1 else PRI_L2_PERSISTENCE_HEADER_FOUND=0 @@ -40456,18 +23075,14 @@ if test "x${PBX_PRI_DATETIME_SEND}" != "x1" -a "${USE_PRI_DATETIME_SEND}" != "no ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -40485,47 +23100,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_DATETIME_SEND_FOUND=yes else AST_PRI_DATETIME_SEND_FOUND=no @@ -40547,139 +23135,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_DATETIME_SEND_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_DATETIME_SEND_HEADER_FOUND=1 else PRI_DATETIME_SEND_HEADER_FOUND=0 @@ -40723,18 +23180,14 @@ if test "x${PBX_PRI_MWI_V2}" != "x1" -a "${USE_PRI_MWI_V2}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -40752,47 +23205,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_MWI_V2_FOUND=yes else AST_PRI_MWI_V2_FOUND=no @@ -40814,139 +23240,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MWI_V2_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_MWI_V2_HEADER_FOUND=1 else PRI_MWI_V2_HEADER_FOUND=0 @@ -40990,18 +23285,14 @@ if test "x${PBX_PRI_DISPLAY_TEXT}" != "x1" -a "${USE_PRI_DISPLAY_TEXT}" != "no"; ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -41019,47 +23310,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_DISPLAY_TEXT_FOUND=yes else AST_PRI_DISPLAY_TEXT_FOUND=no @@ -41081,139 +23345,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_DISPLAY_TEXT_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_DISPLAY_TEXT_HEADER_FOUND=1 else PRI_DISPLAY_TEXT_HEADER_FOUND=0 @@ -41257,18 +23390,14 @@ if test "x${PBX_PRI_MWI}" != "x1" -a "${USE_PRI_MWI}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -41286,47 +23415,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_MWI_FOUND=yes else AST_PRI_MWI_FOUND=no @@ -41348,139 +23450,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MWI_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_MWI_HEADER_FOUND=1 else PRI_MWI_HEADER_FOUND=0 @@ -41524,18 +23495,14 @@ if test "x${PBX_PRI_MCID}" != "x1" -a "${USE_PRI_MCID}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -41553,47 +23520,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_MCID_FOUND=yes else AST_PRI_MCID_FOUND=no @@ -41615,139 +23555,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MCID_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_MCID_HEADER_FOUND=1 else PRI_MCID_HEADER_FOUND=0 @@ -41791,18 +23600,14 @@ if test "x${PBX_PRI_CALL_WAITING}" != "x1" -a "${USE_PRI_CALL_WAITING}" != "no"; ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -41820,47 +23625,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_CALL_WAITING_FOUND=yes else AST_PRI_CALL_WAITING_FOUND=no @@ -41882,139 +23660,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_WAITING_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_CALL_WAITING_HEADER_FOUND=1 else PRI_CALL_WAITING_HEADER_FOUND=0 @@ -42058,18 +23705,14 @@ if test "x${PBX_PRI_AOC_EVENTS}" != "x1" -a "${USE_PRI_AOC_EVENTS}" != "no"; the ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -42087,47 +23730,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_AOC_EVENTS_FOUND=yes else AST_PRI_AOC_EVENTS_FOUND=no @@ -42149,139 +23765,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_AOC_EVENTS_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_AOC_EVENTS_HEADER_FOUND=1 else PRI_AOC_EVENTS_HEADER_FOUND=0 @@ -42325,18 +23810,14 @@ if test "x${PBX_PRI_TRANSFER}" != "x1" -a "${USE_PRI_TRANSFER}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -42354,47 +23835,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_TRANSFER_FOUND=yes else AST_PRI_TRANSFER_FOUND=no @@ -42416,139 +23870,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_TRANSFER_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_TRANSFER_HEADER_FOUND=1 else PRI_TRANSFER_HEADER_FOUND=0 @@ -42592,18 +23915,14 @@ if test "x${PBX_PRI_CCSS}" != "x1" -a "${USE_PRI_CCSS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -42621,47 +23940,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_CCSS_FOUND=yes else AST_PRI_CCSS_FOUND=no @@ -42683,139 +23975,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CCSS_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_CCSS_HEADER_FOUND=1 else PRI_CCSS_HEADER_FOUND=0 @@ -42859,18 +24020,14 @@ if test "x${PBX_PRI_HANGUP_FIX}" != "x1" -a "${USE_PRI_HANGUP_FIX}" != "no"; the ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -42888,47 +24045,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_HANGUP_FIX_FOUND=yes else AST_PRI_HANGUP_FIX_FOUND=no @@ -42950,139 +24080,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_HANGUP_FIX_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_HANGUP_FIX_HEADER_FOUND=1 else PRI_HANGUP_FIX_HEADER_FOUND=0 @@ -43126,18 +24125,14 @@ if test "x${PBX_PRI_SUBADDR}" != "x1" -a "${USE_PRI_SUBADDR}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -43155,47 +24150,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_SUBADDR_FOUND=yes else AST_PRI_SUBADDR_FOUND=no @@ -43217,139 +24185,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SUBADDR_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_SUBADDR_HEADER_FOUND=1 else PRI_SUBADDR_HEADER_FOUND=0 @@ -43393,18 +24230,14 @@ if test "x${PBX_PRI_CALL_HOLD}" != "x1" -a "${USE_PRI_CALL_HOLD}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -43422,47 +24255,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_CALL_HOLD_FOUND=yes else AST_PRI_CALL_HOLD_FOUND=no @@ -43484,139 +24290,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_HOLD_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_CALL_HOLD_HEADER_FOUND=1 else PRI_CALL_HOLD_HEADER_FOUND=0 @@ -43660,18 +24335,14 @@ if test "x${PBX_PRI_CALL_REROUTING}" != "x1" -a "${USE_PRI_CALL_REROUTING}" != " ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -43689,47 +24360,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_CALL_REROUTING_FOUND=yes else AST_PRI_CALL_REROUTING_FOUND=no @@ -43751,139 +24395,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_REROUTING_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_CALL_REROUTING_HEADER_FOUND=1 else PRI_CALL_REROUTING_HEADER_FOUND=0 @@ -43927,18 +24440,14 @@ if test "x${PBX_PRI_SETUP_KEYPAD}" != "x1" -a "${USE_PRI_SETUP_KEYPAD}" != "no"; ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -43956,47 +24465,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_SETUP_KEYPAD_FOUND=yes else AST_PRI_SETUP_KEYPAD_FOUND=no @@ -44018,139 +24500,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SETUP_KEYPAD_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_SETUP_KEYPAD_HEADER_FOUND=1 else PRI_SETUP_KEYPAD_HEADER_FOUND=0 @@ -44198,18 +24549,14 @@ if test "x${PBX_PRI_PROG_W_CAUSE}" != "x1" -a "${USE_PRI_PROG_W_CAUSE}" != "no"; ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -44227,47 +24574,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_PROG_W_CAUSE_FOUND=yes else AST_PRI_PROG_W_CAUSE_FOUND=no @@ -44289,139 +24609,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_PROG_W_CAUSE_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_PROG_W_CAUSE_HEADER_FOUND=1 else PRI_PROG_W_CAUSE_HEADER_FOUND=0 @@ -44465,18 +24654,14 @@ if test "x${PBX_PRI_INBANDDISCONNECT}" != "x1" -a "${USE_PRI_INBANDDISCONNECT}" ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -44494,47 +24679,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_INBANDDISCONNECT_FOUND=yes else AST_PRI_INBANDDISCONNECT_FOUND=no @@ -44556,139 +24714,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_INBANDDISCONNECT_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_INBANDDISCONNECT_HEADER_FOUND=1 else PRI_INBANDDISCONNECT_HEADER_FOUND=0 @@ -44732,18 +24759,14 @@ if test "x${PBX_PRI_SERVICE_MESSAGES}" != "x1" -a "${USE_PRI_SERVICE_MESSAGES}" ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -44761,47 +24784,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_SERVICE_MESSAGES_FOUND=yes else AST_PRI_SERVICE_MESSAGES_FOUND=no @@ -44823,139 +24819,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SERVICE_MESSAGES_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_SERVICE_MESSAGES_HEADER_FOUND=1 else PRI_SERVICE_MESSAGES_HEADER_FOUND=0 @@ -44999,18 +24864,14 @@ if test "x${PBX_PRI_REVERSE_CHARGE}" != "x1" -a "${USE_PRI_REVERSE_CHARGE}" != " ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lpri" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpri ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -45028,47 +24889,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_PRI_REVERSE_CHARGE_FOUND=yes else AST_PRI_REVERSE_CHARGE_FOUND=no @@ -45090,139 +24924,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_REVERSE_CHARGE_INCLUDE}" - if test "${ac_cv_header_libpri_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libpri.h usability" >&5 -$as_echo_n "checking libpri.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libpri.h presence" >&5 -$as_echo_n "checking libpri.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libpri.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libpri.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libpri.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libpri.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libpri.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libpri.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libpri.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libpri.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libpri.h" >&5 -$as_echo_n "checking for libpri.h... " >&6; } -if test "${ac_cv_header_libpri_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libpri_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libpri_h" >&5 -$as_echo "$ac_cv_header_libpri_h" >&6; } - -fi -if test "x$ac_cv_header_libpri_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" +if test "x$ac_cv_header_libpri_h" = x""yes; then : PRI_REVERSE_CHARGE_HEADER_FOUND=1 else PRI_REVERSE_CHARGE_HEADER_FOUND=0 @@ -45268,18 +24971,14 @@ if test "x${PBX_RESAMPLE}" != "x1" -a "${USE_RESAMPLE}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_resample_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lresample" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lresample" >&5 $as_echo_n "checking for ${pbxfuncname} in -lresample... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lresample ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -45297,47 +24996,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_RESAMPLE_FOUND=yes else AST_RESAMPLE_FOUND=no @@ -45359,139 +25031,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${RESAMPLE_INCLUDE}" - if test "${ac_cv_header_libresample_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libresample.h" >&5 -$as_echo_n "checking for libresample.h... " >&6; } -if test "${ac_cv_header_libresample_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libresample_h" >&5 -$as_echo "$ac_cv_header_libresample_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libresample.h usability" >&5 -$as_echo_n "checking libresample.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libresample.h presence" >&5 -$as_echo_n "checking libresample.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libresample.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libresample.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libresample.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libresample.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libresample.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libresample.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libresample.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libresample.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libresample.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libresample.h" >&5 -$as_echo_n "checking for libresample.h... " >&6; } -if test "${ac_cv_header_libresample_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libresample_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libresample_h" >&5 -$as_echo "$ac_cv_header_libresample_h" >&6; } - -fi -if test "x$ac_cv_header_libresample_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libresample.h" "ac_cv_header_libresample_h" "$ac_includes_default" +if test "x$ac_cv_header_libresample_h" = x""yes; then : RESAMPLE_HEADER_FOUND=1 else RESAMPLE_HEADER_FOUND=0 @@ -45521,10 +25062,10 @@ fi if test "x${PBX_SPANDSP}" != "x1" -a "${USE_SPANDSP}" != "no"; then if test "xminimum version of SpanDSP" != "x"; then - { $as_echo "$as_me:$LINENO: checking for minimum version of SpanDSP" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for minimum version of SpanDSP" >&5 $as_echo_n "checking for minimum version of SpanDSP... " >&6; } else - { $as_echo "$as_me:$LINENO: checking if \" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if \" #if SPANDSP_RELEASE_DATE < 20080516 #error \"spandsp 0.0.5 or greater is required\" #endif @@ -45541,13 +25082,9 @@ $as_echo_n "checking if \" fi CPPFLAGS="${CPPFLAGS} ${SPANDSP_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -45561,43 +25098,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SPANDSP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SPANDSP 1 -_ACEOF +$as_echo "#define HAVE_SPANDSP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -45625,18 +25139,14 @@ if test "x${PBX_SPANDSP}" != "x1" -a "${USE_SPANDSP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_spandsp_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lspandsp" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspandsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspandsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lspandsp ${pbxlibdir} -ltiff $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -45654,47 +25164,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SPANDSP_FOUND=yes else AST_SPANDSP_FOUND=no @@ -45716,139 +25199,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPANDSP_INCLUDE}" - if test "${ac_cv_header_spandsp_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for spandsp.h" >&5 -$as_echo_n "checking for spandsp.h... " >&6; } -if test "${ac_cv_header_spandsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_spandsp_h" >&5 -$as_echo "$ac_cv_header_spandsp_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking spandsp.h usability" >&5 -$as_echo_n "checking spandsp.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking spandsp.h presence" >&5 -$as_echo_n "checking spandsp.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: spandsp.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: spandsp.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: spandsp.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: spandsp.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: spandsp.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: spandsp.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: spandsp.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: spandsp.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for spandsp.h" >&5 -$as_echo_n "checking for spandsp.h... " >&6; } -if test "${ac_cv_header_spandsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_spandsp_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_spandsp_h" >&5 -$as_echo "$ac_cv_header_spandsp_h" >&6; } - -fi -if test "x$ac_cv_header_spandsp_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "spandsp.h" "ac_cv_header_spandsp_h" "$ac_includes_default" +if test "x$ac_cv_header_spandsp_h" = x""yes; then : SPANDSP_HEADER_FOUND=1 else SPANDSP_HEADER_FOUND=0 @@ -45897,18 +25249,14 @@ if test "x${PBX_SPANDSP}" != "x1" -a "${USE_SPANDSP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_spandsp_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lspandsp" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspandsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspandsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lspandsp ${pbxlibdir} -ltiff $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -45926,47 +25274,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SPANDSP_FOUND=yes else AST_SPANDSP_FOUND=no @@ -45988,139 +25309,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPANDSP_INCLUDE}" - if test "${ac_cv_header_spandsp_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for spandsp.h" >&5 -$as_echo_n "checking for spandsp.h... " >&6; } -if test "${ac_cv_header_spandsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_spandsp_h" >&5 -$as_echo "$ac_cv_header_spandsp_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking spandsp.h usability" >&5 -$as_echo_n "checking spandsp.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking spandsp.h presence" >&5 -$as_echo_n "checking spandsp.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: spandsp.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: spandsp.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: spandsp.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: spandsp.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: spandsp.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: spandsp.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: spandsp.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: spandsp.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: spandsp.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for spandsp.h" >&5 -$as_echo_n "checking for spandsp.h... " >&6; } -if test "${ac_cv_header_spandsp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_spandsp_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_spandsp_h" >&5 -$as_echo "$ac_cv_header_spandsp_h" >&6; } - -fi -if test "x$ac_cv_header_spandsp_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "spandsp.h" "ac_cv_header_spandsp_h" "$ac_includes_default" +if test "x$ac_cv_header_spandsp_h" = x""yes; then : SPANDSP_HEADER_FOUND=1 else SPANDSP_HEADER_FOUND=0 @@ -46167,18 +25357,14 @@ if test "x${PBX_SS7}" != "x1" -a "${USE_SS7}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ss7_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lss7" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lss7" >&5 $as_echo_n "checking for ${pbxfuncname} in -lss7... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lss7 ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -46196,47 +25382,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SS7_FOUND=yes else AST_SS7_FOUND=no @@ -46258,139 +25417,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SS7_INCLUDE}" - if test "${ac_cv_header_libss7_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for libss7.h" >&5 -$as_echo_n "checking for libss7.h... " >&6; } -if test "${ac_cv_header_libss7_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libss7_h" >&5 -$as_echo "$ac_cv_header_libss7_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking libss7.h usability" >&5 -$as_echo_n "checking libss7.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking libss7.h presence" >&5 -$as_echo_n "checking libss7.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: libss7.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: libss7.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: libss7.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: libss7.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: libss7.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: libss7.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: libss7.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: libss7.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: libss7.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for libss7.h" >&5 -$as_echo_n "checking for libss7.h... " >&6; } -if test "${ac_cv_header_libss7_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_libss7_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_libss7_h" >&5 -$as_echo "$ac_cv_header_libss7_h" >&6; } - -fi -if test "x$ac_cv_header_libss7_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "libss7.h" "ac_cv_header_libss7_h" "$ac_includes_default" +if test "x$ac_cv_header_libss7_h" = x""yes; then : SS7_HEADER_FOUND=1 else SS7_HEADER_FOUND=0 @@ -46435,18 +25463,14 @@ if test "x${PBX_OPENR2}" != "x1" -a "${USE_OPENR2}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_openr2_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lopenr2" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lopenr2" >&5 $as_echo_n "checking for ${pbxfuncname} in -lopenr2... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lopenr2 ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -46464,47 +25488,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OPENR2_FOUND=yes else AST_OPENR2_FOUND=no @@ -46526,139 +25523,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENR2_INCLUDE}" - if test "${ac_cv_header_openr2_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for openr2.h" >&5 -$as_echo_n "checking for openr2.h... " >&6; } -if test "${ac_cv_header_openr2_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openr2_h" >&5 -$as_echo "$ac_cv_header_openr2_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking openr2.h usability" >&5 -$as_echo_n "checking openr2.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking openr2.h presence" >&5 -$as_echo_n "checking openr2.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: openr2.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: openr2.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: openr2.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: openr2.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: openr2.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: openr2.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: openr2.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openr2.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: openr2.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for openr2.h" >&5 -$as_echo_n "checking for openr2.h... " >&6; } -if test "${ac_cv_header_openr2_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_openr2_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openr2_h" >&5 -$as_echo "$ac_cv_header_openr2_h" >&6; } - -fi -if test "x$ac_cv_header_openr2_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "openr2.h" "ac_cv_header_openr2_h" "$ac_includes_default" +if test "x$ac_cv_header_openr2_h" = x""yes; then : OPENR2_HEADER_FOUND=1 else OPENR2_HEADER_FOUND=0 @@ -46702,145 +25568,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${PWLIBDIR:-unset}" != "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${PWLIBDIR}/version.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${PWLIBDIR}/version.h" >&5 -$as_echo_n "checking for ${PWLIBDIR}/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${PWLIBDIR}/version.h usability" >&5 -$as_echo_n "checking ${PWLIBDIR}/version.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${PWLIBDIR}/version.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${PWLIBDIR}/version.h presence" >&5 -$as_echo_n "checking ${PWLIBDIR}/version.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${PWLIBDIR}/version.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/version.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/version.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${PWLIBDIR}/version.h" >&5 -$as_echo_n "checking for ${PWLIBDIR}/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_mongrel "$LINENO" "${PWLIBDIR}/version.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : HAS_PWLIB=1 fi @@ -46849,145 +25579,9 @@ fi if test "${HAS_PWLIB:-unset}" = "unset" ; then if test "${OPENH323DIR:-unset}" != "unset"; then as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/../pwlib/version.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${OPENH323DIR}/../pwlib/version.h" >&5 -$as_echo_n "checking for ${OPENH323DIR}/../pwlib/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${OPENH323DIR}/../pwlib/version.h usability" >&5 -$as_echo_n "checking ${OPENH323DIR}/../pwlib/version.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${OPENH323DIR}/../pwlib/version.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${OPENH323DIR}/../pwlib/version.h presence" >&5 -$as_echo_n "checking ${OPENH323DIR}/../pwlib/version.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${OPENH323DIR}/../pwlib/version.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/../pwlib/version.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/../pwlib/version.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${OPENH323DIR}/../pwlib/version.h" >&5 -$as_echo_n "checking for ${OPENH323DIR}/../pwlib/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_mongrel "$LINENO" "${OPENH323DIR}/../pwlib/version.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : HAS_PWLIB=1 fi @@ -46997,145 +25591,9 @@ fi PWLIBDIR="${OPENH323DIR}/../pwlib" else as_ac_Header=`$as_echo "ac_cv_header_${HOME}/pwlib/include/ptlib.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${HOME}/pwlib/include/ptlib.h" >&5 -$as_echo_n "checking for ${HOME}/pwlib/include/ptlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${HOME}/pwlib/include/ptlib.h usability" >&5 -$as_echo_n "checking ${HOME}/pwlib/include/ptlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${HOME}/pwlib/include/ptlib.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${HOME}/pwlib/include/ptlib.h presence" >&5 -$as_echo_n "checking ${HOME}/pwlib/include/ptlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${HOME}/pwlib/include/ptlib.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${HOME}/pwlib/include/ptlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${HOME}/pwlib/include/ptlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${HOME}/pwlib/include/ptlib.h" >&5 -$as_echo_n "checking for ${HOME}/pwlib/include/ptlib.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_mongrel "$LINENO" "${HOME}/pwlib/include/ptlib.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : HAS_PWLIB=1 fi @@ -47143,139 +25601,8 @@ fi if test "${HAS_PWLIB:-unset}" != "unset" ; then PWLIBDIR="${HOME}/pwlib" else - if test "${ac_cv_header__usr_local_include_ptlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for /usr/local/include/ptlib.h" >&5 -$as_echo_n "checking for /usr/local/include/ptlib.h... " >&6; } -if test "${ac_cv_header__usr_local_include_ptlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_ptlib_h" >&5 -$as_echo "$ac_cv_header__usr_local_include_ptlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking /usr/local/include/ptlib.h usability" >&5 -$as_echo_n "checking /usr/local/include/ptlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking /usr/local/include/ptlib.h presence" >&5 -$as_echo_n "checking /usr/local/include/ptlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/local/include/ptlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: /usr/local/include/ptlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for /usr/local/include/ptlib.h" >&5 -$as_echo_n "checking for /usr/local/include/ptlib.h... " >&6; } -if test "${ac_cv_header__usr_local_include_ptlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header__usr_local_include_ptlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_ptlib_h" >&5 -$as_echo "$ac_cv_header__usr_local_include_ptlib_h" >&6; } - -fi -if test "x$ac_cv_header__usr_local_include_ptlib_h" = x""yes; then + ac_fn_cxx_check_header_mongrel "$LINENO" "/usr/local/include/ptlib.h" "ac_cv_header__usr_local_include_ptlib_h" "$ac_includes_default" +if test "x$ac_cv_header__usr_local_include_ptlib_h" = x""yes; then : HAS_PWLIB=1 fi @@ -47283,9 +25610,9 @@ fi if test "${HAS_PWLIB:-unset}" != "unset" ; then # Extract the first word of "ptlib-config", so it can be a program name with args. set dummy ptlib-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then +if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PTLIB_CONFIG in @@ -47298,14 +25625,14 @@ for as_dir in /usr/local/bin$PATH_SEPARATOR/usr/local/share/pwlib/make do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -47313,10 +25640,10 @@ esac fi PTLIB_CONFIG=$ac_cv_path_PTLIB_CONFIG if test -n "$PTLIB_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PTLIB_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTLIB_CONFIG" >&5 $as_echo "$PTLIB_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -47336,139 +25663,8 @@ fi PWLIB_LIB=`${PTLIB_CONFIG} --ldflags --libs` PWLIB_LIB="-L${PWLIB_LIBDIR} `echo ${PWLIB_LIB}`" else - if test "${ac_cv_header__usr_include_ptlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for /usr/include/ptlib.h" >&5 -$as_echo_n "checking for /usr/include/ptlib.h... " >&6; } -if test "${ac_cv_header__usr_include_ptlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_include_ptlib_h" >&5 -$as_echo "$ac_cv_header__usr_include_ptlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking /usr/include/ptlib.h usability" >&5 -$as_echo_n "checking /usr/include/ptlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking /usr/include/ptlib.h presence" >&5 -$as_echo_n "checking /usr/include/ptlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: /usr/include/ptlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: /usr/include/ptlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for /usr/include/ptlib.h" >&5 -$as_echo_n "checking for /usr/include/ptlib.h... " >&6; } -if test "${ac_cv_header__usr_include_ptlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header__usr_include_ptlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_include_ptlib_h" >&5 -$as_echo "$ac_cv_header__usr_include_ptlib_h" >&6; } - -fi -if test "x$ac_cv_header__usr_include_ptlib_h" = x""yes; then + ac_fn_cxx_check_header_mongrel "$LINENO" "/usr/include/ptlib.h" "ac_cv_header__usr_include_ptlib_h" "$ac_includes_default" +if test "x$ac_cv_header__usr_include_ptlib_h" = x""yes; then : HAS_PWLIB=1 fi @@ -47476,9 +25672,9 @@ fi if test "${HAS_PWLIB:-unset}" != "unset" ; then # Extract the first word of "ptlib-config", so it can be a program name with args. set dummy ptlib-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then +if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then : $as_echo_n "(cached) " >&6 else case $PTLIB_CONFIG in @@ -47491,14 +25687,14 @@ for as_dir in /usr/bin$PATH_SEPARATOR/usr/share/pwlib/make do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -47506,10 +25702,10 @@ esac fi PTLIB_CONFIG=$ac_cv_path_PTLIB_CONFIG if test -n "$PTLIB_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PTLIB_CONFIG" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTLIB_CONFIG" >&5 $as_echo "$PTLIB_CONFIG" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -47606,19 +25802,19 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu PWLIB_MAX=$((*10000+*100+)) fi - { $as_echo "$as_me:$LINENO: checking if PWLib version ${PWLIB_VERSION} is compatible with chan_h323" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if PWLib version ${PWLIB_VERSION} is compatible with chan_h323" >&5 $as_echo_n "checking if PWLib version ${PWLIB_VERSION} is compatible with chan_h323... " >&6; } if test ${PWLIB_VER} -lt ${PWLIB_REQ}; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } unset HAS_PWLIB else if test ${PWLIB_VER} -gt ${PWLIB_MAX}; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } unset HAS_PWLIB else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi @@ -47653,7 +25849,7 @@ case "$host_os" in ENDLDLIBS="-lwinmm -lwsock32 -lsnmpapi -lmpr -lcomdlg32 -lgdi32 -lavicap32" ; ;; * ) PWLIB_OSTYPE="$host_os" ; - { $as_echo "$as_me:$LINENO: WARNING: \"OS $PWLIB_OSTYPE not recognized - proceed with caution!\"" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"OS $PWLIB_OSTYPE not recognized - proceed with caution!\"" >&5 $as_echo "$as_me: WARNING: \"OS $PWLIB_OSTYPE not recognized - proceed with caution!\"" >&2;} ; ;; esac @@ -47704,7 +25900,7 @@ case "$host_cpu" in ;; * ) PWLIB_MACHTYPE="$host_cpu"; - { $as_echo "$as_me:$LINENO: WARNING: \"CPU $PWLIB_MACHTYPE not recognized - proceed with caution!\"" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"CPU $PWLIB_MACHTYPE not recognized - proceed with caution!\"" >&5 $as_echo "$as_me: WARNING: \"CPU $PWLIB_MACHTYPE not recognized - proceed with caution!\"" >&2;} ;; esac @@ -47717,7 +25913,7 @@ PWLIB_PLATFORM="${PWLIB_OSTYPE}_${PWLIB_MACHTYPE}" if test "${HAS_PWLIB:-unset}" != "unset"; then - { $as_echo "$as_me:$LINENO: checking PWLib installation validity" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking PWLib installation validity" >&5 $as_echo_n "checking PWLib installation validity... " >&6; } saved_cppflags="${CPPFLAGS}" @@ -47736,11 +25932,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "ptlib.h" int @@ -47751,45 +25943,20 @@ int q = (int) PTime::IsDaylightSavings(); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ac_cv_lib_PWLIB="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ac_cv_lib_PWLIB="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -47814,9 +25981,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi PBX_PWLIB=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_PWLIB 1 -_ACEOF +$as_echo "#define HAVE_PWLIB 1" >>confdefs.h fi fi @@ -47839,145 +26004,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${OPENH323DIR:-unset}" != "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/version.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${OPENH323DIR}/version.h" >&5 -$as_echo_n "checking for ${OPENH323DIR}/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${OPENH323DIR}/version.h usability" >&5 -$as_echo_n "checking ${OPENH323DIR}/version.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${OPENH323DIR}/version.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${OPENH323DIR}/version.h presence" >&5 -$as_echo_n "checking ${OPENH323DIR}/version.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${OPENH323DIR}/version.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${OPENH323DIR}/version.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${OPENH323DIR}/version.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${OPENH323DIR}/version.h" >&5 -$as_echo_n "checking for ${OPENH323DIR}/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_mongrel "$LINENO" "${OPENH323DIR}/version.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : HAS_OPENH323=1 fi @@ -47985,145 +26014,9 @@ fi fi if test "${HAS_OPENH323:-unset}" = "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${PWLIBDIR}/../openh323/version.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for ${PWLIBDIR}/../openh323/version.h" >&5 -$as_echo_n "checking for ${PWLIBDIR}/../openh323/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ${PWLIBDIR}/../openh323/version.h usability" >&5 -$as_echo_n "checking ${PWLIBDIR}/../openh323/version.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <${PWLIBDIR}/../openh323/version.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ${PWLIBDIR}/../openh323/version.h presence" >&5 -$as_echo_n "checking ${PWLIBDIR}/../openh323/version.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${PWLIBDIR}/../openh323/version.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ${PWLIBDIR}/../openh323/version.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ${PWLIBDIR}/../openh323/version.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ${PWLIBDIR}/../openh323/version.h" >&5 -$as_echo_n "checking for ${PWLIBDIR}/../openh323/version.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_mongrel "$LINENO" "${PWLIBDIR}/../openh323/version.h" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : OPENH323DIR="${PWLIBDIR}/../openh323"; HAS_OPENH323=1 fi @@ -48133,57 +26026,11 @@ fi saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I${PWLIB_INCDIR}/openh323 -I${PWLIB_INCDIR}" as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/include/h323.h" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${OPENH323DIR}/include/h323.h" >&5 -$as_echo_n "checking for ${OPENH323DIR}/include/h323.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include +ac_fn_cxx_check_header_compile "$LINENO" "${OPENH323DIR}/include/h323.h" "$as_ac_Header" "#include +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : -#include <${OPENH323DIR}/include/h323.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - : else OPENH323_INCDIR="${PWLIB_INCDIR}/openh323"; OPENH323_LIBDIR="${PWLIB_LIBDIR}" fi @@ -48194,56 +26041,10 @@ fi saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I${HOME}/openh323/include -I${PWLIB_INCDIR}" as_ac_Header=`$as_echo "ac_cv_header_${HOME}/openh323/include/h323.h" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5 -$as_echo_n "checking for ${HOME}/openh323/include/h323.h... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include <${HOME}/openh323/include/h323.h> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +ac_fn_cxx_check_header_compile "$LINENO" "${HOME}/openh323/include/h323.h" "$as_ac_Header" "#include +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : HAS_OPENH323=1 fi @@ -48254,52 +26055,9 @@ fi else saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}" - { $as_echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5 -$as_echo_n "checking for /usr/local/include/openh323/h323.h... " >&6; } -if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header__usr_local_include_openh323_h323_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header__usr_local_include_openh323_h323_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_openh323_h323_h" >&5 -$as_echo "$ac_cv_header__usr_local_include_openh323_h323_h" >&6; } -if test "x$ac_cv_header__usr_local_include_openh323_h323_h" = x""yes; then + ac_fn_cxx_check_header_compile "$LINENO" "/usr/local/include/openh323/h323.h" "ac_cv_header__usr_local_include_openh323_h323_h" "#include +" +if test "x$ac_cv_header__usr_local_include_openh323_h323_h" = x""yes; then : HAS_OPENH323=1 fi @@ -48316,52 +26074,9 @@ fi else saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I/usr/include/openh323 -I${PWLIB_INCDIR}" - { $as_echo "$as_me:$LINENO: checking for /usr/include/openh323/h323.h" >&5 -$as_echo_n "checking for /usr/include/openh323/h323.h... " >&6; } -if test "${ac_cv_header__usr_include_openh323_h323_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header__usr_include_openh323_h323_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header__usr_include_openh323_h323_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header__usr_include_openh323_h323_h" >&5 -$as_echo "$ac_cv_header__usr_include_openh323_h323_h" >&6; } -if test "x$ac_cv_header__usr_include_openh323_h323_h" = x""yes; then + ac_fn_cxx_check_header_compile "$LINENO" "/usr/include/openh323/h323.h" "ac_cv_header__usr_include_openh323_h323_h" "#include +" +if test "x$ac_cv_header__usr_include_openh323_h323_h" = x""yes; then : HAS_OPENH323=1 fi @@ -48424,19 +26139,19 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu OPENH323_MAX=$((1*10000+19*100+0)) fi - { $as_echo "$as_me:$LINENO: checking if OpenH323 version ${OPENH323_VERSION} is compatible with chan_h323" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenH323 version ${OPENH323_VERSION} is compatible with chan_h323" >&5 $as_echo_n "checking if OpenH323 version ${OPENH323_VERSION} is compatible with chan_h323... " >&6; } if test ${OPENH323_VER} -lt ${OPENH323_REQ}; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } unset HAS_OPENH323 else if test ${OPENH323_VER} -gt ${OPENH323_MAX}; then - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } unset HAS_OPENH323 else - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi @@ -48444,7 +26159,7 @@ $as_echo "yes" >&6; } if test "${HAS_OPENH323:-unset}" != "unset"; then - { $as_echo "$as_me:$LINENO: checking OpenH323 build option" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenH323 build option" >&5 $as_echo_n "checking OpenH323 build option... " >&6; } OPENH323_SUFFIX= prefixes="h323_${PWLIB_PLATFORM}_ h323_ openh323" @@ -48496,7 +26211,7 @@ $as_echo_n "checking OpenH323 build option... " >&6; } fi ;; esac - { $as_echo "$as_me:$LINENO: result: ${OPENH323_BUILD}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${OPENH323_BUILD}" >&5 $as_echo "${OPENH323_BUILD}" >&6; } @@ -48506,7 +26221,7 @@ $as_echo "${OPENH323_BUILD}" >&6; } PLATFORM_OPENH323="h323_${PWLIB_PLATFORM}_${OPENH323_SUFFIX}" if test "${HAS_OPENH323:-unset}" != "unset"; then - { $as_echo "$as_me:$LINENO: checking OpenH323 installation validity" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenH323 installation validity" >&5 $as_echo_n "checking OpenH323 installation validity... " >&6; } saved_cppflags="${CPPFLAGS}" @@ -48525,11 +26240,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "ptlib.h" #include "h323.h" @@ -48542,45 +26253,20 @@ H323EndPoint ep = H323EndPoint(); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ac_cv_lib_OPENH323="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ac_cv_lib_OPENH323="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -48605,9 +26291,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi PBX_OPENH323=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_OPENH323 1 -_ACEOF +$as_echo "#define HAVE_OPENH323 1" >>confdefs.h fi fi @@ -48632,18 +26316,14 @@ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_lua5.1_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -llua5.1" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -llua5.1" >&5 $as_echo_n "checking for ${pbxfuncname} in -llua5.1... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llua5.1 ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -48661,47 +26341,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_LUA_FOUND=yes else AST_LUA_FOUND=no @@ -48723,139 +26376,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}" - if test "${ac_cv_header_lua5_1_lua_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for lua5.1/lua.h" >&5 -$as_echo_n "checking for lua5.1/lua.h... " >&6; } -if test "${ac_cv_header_lua5_1_lua_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lua5_1_lua_h" >&5 -$as_echo "$ac_cv_header_lua5_1_lua_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking lua5.1/lua.h usability" >&5 -$as_echo_n "checking lua5.1/lua.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking lua5.1/lua.h presence" >&5 -$as_echo_n "checking lua5.1/lua.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua5.1/lua.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: lua5.1/lua.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for lua5.1/lua.h" >&5 -$as_echo_n "checking for lua5.1/lua.h... " >&6; } -if test "${ac_cv_header_lua5_1_lua_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_lua5_1_lua_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lua5_1_lua_h" >&5 -$as_echo "$ac_cv_header_lua5_1_lua_h" >&6; } - -fi -if test "x$ac_cv_header_lua5_1_lua_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "lua5.1/lua.h" "ac_cv_header_lua5_1_lua_h" "$ac_includes_default" +if test "x$ac_cv_header_lua5_1_lua_h" = x""yes; then : LUA_HEADER_FOUND=1 else LUA_HEADER_FOUND=0 @@ -48908,18 +26430,14 @@ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_lua_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -llua" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -llua" >&5 $as_echo_n "checking for ${pbxfuncname} in -llua... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-llua ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -48937,47 +26455,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_LUA_FOUND=yes else AST_LUA_FOUND=no @@ -48999,139 +26490,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}" - if test "${ac_cv_header_lua_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for lua.h" >&5 -$as_echo_n "checking for lua.h... " >&6; } -if test "${ac_cv_header_lua_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lua_h" >&5 -$as_echo "$ac_cv_header_lua_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking lua.h usability" >&5 -$as_echo_n "checking lua.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking lua.h presence" >&5 -$as_echo_n "checking lua.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: lua.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: lua.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: lua.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: lua.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: lua.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: lua.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: lua.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: lua.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: lua.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: lua.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: lua.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for lua.h" >&5 -$as_echo_n "checking for lua.h... " >&6; } -if test "${ac_cv_header_lua_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_lua_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_lua_h" >&5 -$as_echo "$ac_cv_header_lua_h" >&6; } - -fi -if test "x$ac_cv_header_lua_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "lua.h" "ac_cv_header_lua_h" "$ac_includes_default" +if test "x$ac_cv_header_lua_h" = x""yes; then : LUA_HEADER_FOUND=1 else LUA_HEADER_FOUND=0 @@ -49176,18 +26536,14 @@ if test "x${PBX_RADIUS}" != "x1" -a "${USE_RADIUS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_radiusclient-ng_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lradiusclient-ng" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lradiusclient-ng" >&5 $as_echo_n "checking for ${pbxfuncname} in -lradiusclient-ng... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lradiusclient-ng ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -49205,47 +26561,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_RADIUS_FOUND=yes else AST_RADIUS_FOUND=no @@ -49267,139 +26596,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${RADIUS_INCLUDE}" - if test "${ac_cv_header_radiusclient_ng_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for radiusclient-ng.h" >&5 -$as_echo_n "checking for radiusclient-ng.h... " >&6; } -if test "${ac_cv_header_radiusclient_ng_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_radiusclient_ng_h" >&5 -$as_echo "$ac_cv_header_radiusclient_ng_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking radiusclient-ng.h usability" >&5 -$as_echo_n "checking radiusclient-ng.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking radiusclient-ng.h presence" >&5 -$as_echo_n "checking radiusclient-ng.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: radiusclient-ng.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: radiusclient-ng.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for radiusclient-ng.h" >&5 -$as_echo_n "checking for radiusclient-ng.h... " >&6; } -if test "${ac_cv_header_radiusclient_ng_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_radiusclient_ng_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_radiusclient_ng_h" >&5 -$as_echo "$ac_cv_header_radiusclient_ng_h" >&6; } - -fi -if test "x$ac_cv_header_radiusclient_ng_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "radiusclient-ng.h" "ac_cv_header_radiusclient_ng_h" "$ac_includes_default" +if test "x$ac_cv_header_radiusclient_ng_h" = x""yes; then : RADIUS_HEADER_FOUND=1 else RADIUS_HEADER_FOUND=0 @@ -49444,18 +26642,14 @@ if test "x${PBX_COROSYNC}" != "x1" -a "${USE_COROSYNC}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_cpg_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lcpg" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcpg" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcpg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcpg ${pbxlibdir} -lcfg $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -49473,47 +26667,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_COROSYNC_FOUND=yes else AST_COROSYNC_FOUND=no @@ -49535,139 +26702,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${COROSYNC_INCLUDE}" - if test "${ac_cv_header_corosync_cpg_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for corosync/cpg.h" >&5 -$as_echo_n "checking for corosync/cpg.h... " >&6; } -if test "${ac_cv_header_corosync_cpg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_corosync_cpg_h" >&5 -$as_echo "$ac_cv_header_corosync_cpg_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking corosync/cpg.h usability" >&5 -$as_echo_n "checking corosync/cpg.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking corosync/cpg.h presence" >&5 -$as_echo_n "checking corosync/cpg.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cpg.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: corosync/cpg.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for corosync/cpg.h" >&5 -$as_echo_n "checking for corosync/cpg.h... " >&6; } -if test "${ac_cv_header_corosync_cpg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_corosync_cpg_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_corosync_cpg_h" >&5 -$as_echo "$ac_cv_header_corosync_cpg_h" >&6; } - -fi -if test "x$ac_cv_header_corosync_cpg_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "corosync/cpg.h" "ac_cv_header_corosync_cpg_h" "$ac_includes_default" +if test "x$ac_cv_header_corosync_cpg_h" = x""yes; then : COROSYNC_HEADER_FOUND=1 else COROSYNC_HEADER_FOUND=0 @@ -49711,18 +26747,14 @@ if test "x${PBX_COROSYNC_CFG_STATE_TRACK}" != "x1" -a "${USE_COROSYNC_CFG_STATE_ ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_cfg_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lcfg" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcfg" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcfg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcfg ${pbxlibdir} -lcfg $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -49740,47 +26772,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_COROSYNC_CFG_STATE_TRACK_FOUND=yes else AST_COROSYNC_CFG_STATE_TRACK_FOUND=no @@ -49802,139 +26807,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${COROSYNC_CFG_STATE_TRACK_INCLUDE}" - if test "${ac_cv_header_corosync_cfg_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for corosync/cfg.h" >&5 -$as_echo_n "checking for corosync/cfg.h... " >&6; } -if test "${ac_cv_header_corosync_cfg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_corosync_cfg_h" >&5 -$as_echo "$ac_cv_header_corosync_cfg_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking corosync/cfg.h usability" >&5 -$as_echo_n "checking corosync/cfg.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking corosync/cfg.h presence" >&5 -$as_echo_n "checking corosync/cfg.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: corosync/cfg.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: corosync/cfg.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for corosync/cfg.h" >&5 -$as_echo_n "checking for corosync/cfg.h... " >&6; } -if test "${ac_cv_header_corosync_cfg_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_corosync_cfg_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_corosync_cfg_h" >&5 -$as_echo "$ac_cv_header_corosync_cfg_h" >&6; } - -fi -if test "x$ac_cv_header_corosync_cfg_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "corosync/cfg.h" "ac_cv_header_corosync_cfg_h" "$ac_includes_default" +if test "x$ac_cv_header_corosync_cfg_h" = x""yes; then : COROSYNC_CFG_STATE_TRACK_HEADER_FOUND=1 else COROSYNC_CFG_STATE_TRACK_HEADER_FOUND=0 @@ -49979,18 +26853,14 @@ if test "x${PBX_SPEEX}" != "x1" -a "${USE_SPEEX}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_speex_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lspeex" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeex" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeex... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lspeex ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -50008,47 +26878,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SPEEX_FOUND=yes else AST_SPEEX_FOUND=no @@ -50070,139 +26913,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEX_INCLUDE}" - if test "${ac_cv_header_speex_speex_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h usability" >&5 -$as_echo_n "checking speex/speex.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h presence" >&5 -$as_echo_n "checking speex/speex.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_speex_speex_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } - -fi -if test "x$ac_cv_header_speex_speex_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" +if test "x$ac_cv_header_speex_speex_h" = x""yes; then : SPEEX_HEADER_FOUND=1 else SPEEX_HEADER_FOUND=0 @@ -50248,18 +26960,14 @@ if test "x${PBX_SPEEX_PREPROCESS}" != "x1" -a "${USE_SPEEX_PREPROCESS}" != "no"; ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_speex_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lspeex" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeex" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeex... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lspeex ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -50277,47 +26985,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SPEEX_PREPROCESS_FOUND=yes else AST_SPEEX_PREPROCESS_FOUND=no @@ -50339,139 +27020,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEX_PREPROCESS_INCLUDE}" - if test "${ac_cv_header_speex_speex_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h usability" >&5 -$as_echo_n "checking speex/speex.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h presence" >&5 -$as_echo_n "checking speex/speex.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_speex_speex_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } - -fi -if test "x$ac_cv_header_speex_speex_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" +if test "x$ac_cv_header_speex_speex_h" = x""yes; then : SPEEX_PREPROCESS_HEADER_FOUND=1 else SPEEX_PREPROCESS_HEADER_FOUND=0 @@ -50519,18 +27069,14 @@ if test "x${PBX_SPEEXDSP}" != "x1" -a "${USE_SPEEXDSP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_speexdsp_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lspeexdsp" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeexdsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeexdsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lspeexdsp ${pbxlibdir} -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -50548,47 +27094,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SPEEXDSP_FOUND=yes else AST_SPEEXDSP_FOUND=no @@ -50610,139 +27129,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEXDSP_INCLUDE}" - if test "${ac_cv_header_speex_speex_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h usability" >&5 -$as_echo_n "checking speex/speex.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking speex/speex.h presence" >&5 -$as_echo_n "checking speex/speex.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: speex/speex.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for speex/speex.h" >&5 -$as_echo_n "checking for speex/speex.h... " >&6; } -if test "${ac_cv_header_speex_speex_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_speex_speex_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_speex_speex_h" >&5 -$as_echo "$ac_cv_header_speex_speex_h" >&6; } - -fi -if test "x$ac_cv_header_speex_speex_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" +if test "x$ac_cv_header_speex_speex_h" = x""yes; then : SPEEXDSP_HEADER_FOUND=1 else SPEEXDSP_HEADER_FOUND=0 @@ -50792,18 +27180,14 @@ if test "x${PBX_SQLITE}" != "x1" -a "${USE_SQLITE}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_sqlite_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lsqlite" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsqlite" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsqlite... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -50821,47 +27205,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SQLITE_FOUND=yes else AST_SQLITE_FOUND=no @@ -50883,139 +27240,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SQLITE_INCLUDE}" - if test "${ac_cv_header_sqlite_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sqlite.h" >&5 -$as_echo_n "checking for sqlite.h... " >&6; } -if test "${ac_cv_header_sqlite_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlite_h" >&5 -$as_echo "$ac_cv_header_sqlite_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sqlite.h usability" >&5 -$as_echo_n "checking sqlite.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sqlite.h presence" >&5 -$as_echo_n "checking sqlite.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sqlite.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sqlite.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sqlite.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sqlite.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sqlite.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sqlite.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sqlite.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sqlite.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sqlite.h" >&5 -$as_echo_n "checking for sqlite.h... " >&6; } -if test "${ac_cv_header_sqlite_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sqlite_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlite_h" >&5 -$as_echo "$ac_cv_header_sqlite_h" >&6; } - -fi -if test "x$ac_cv_header_sqlite_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sqlite.h" "ac_cv_header_sqlite_h" "$ac_includes_default" +if test "x$ac_cv_header_sqlite_h" = x""yes; then : SQLITE_HEADER_FOUND=1 else SQLITE_HEADER_FOUND=0 @@ -51060,18 +27286,14 @@ if test "x${PBX_SQLITE3}" != "x1" -a "${USE_SQLITE3}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" as_ac_Lib=`$as_echo "ac_cv_lib_sqlite3_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lsqlite3" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsqlite3" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsqlite3... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsqlite3 ${pbxlibdir} ${PTHREAD_LIBS} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51089,47 +27311,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SQLITE3_FOUND=yes else AST_SQLITE3_FOUND=no @@ -51151,139 +27346,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SQLITE3_INCLUDE}" - if test "${ac_cv_header_sqlite3_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sqlite3.h" >&5 -$as_echo_n "checking for sqlite3.h... " >&6; } -if test "${ac_cv_header_sqlite3_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 -$as_echo "$ac_cv_header_sqlite3_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sqlite3.h usability" >&5 -$as_echo_n "checking sqlite3.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sqlite3.h presence" >&5 -$as_echo_n "checking sqlite3.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sqlite3.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sqlite3.h" >&5 -$as_echo_n "checking for sqlite3.h... " >&6; } -if test "${ac_cv_header_sqlite3_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sqlite3_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sqlite3_h" >&5 -$as_echo "$ac_cv_header_sqlite3_h" >&6; } - -fi -if test "x$ac_cv_header_sqlite3_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" +if test "x$ac_cv_header_sqlite3_h" = x""yes; then : SQLITE3_HEADER_FOUND=1 else SQLITE3_HEADER_FOUND=0 @@ -51311,9 +27375,9 @@ fi if test "${PBX_SQLITE3}" != 1; then - { $as_echo "$as_me:$LINENO: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database." >&5 $as_echo "$as_me: WARNING: *** Asterisk now uses SQLite3 for the internal Asterisk database." >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** Please install the SQLite3 development package." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Please install the SQLite3 development package." >&5 $as_echo "$as_me: WARNING: *** Please install the SQLite3 development package." >&2;} exit 1 fi @@ -51336,18 +27400,14 @@ if test "x${PBX_CRYPTO}" != "x1" -a "${USE_CRYPTO}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_crypto_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lcrypto" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcrypto" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcrypto... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcrypto ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51365,47 +27425,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_CRYPTO_FOUND=yes else AST_CRYPTO_FOUND=no @@ -51427,139 +27460,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CRYPTO_INCLUDE}" - if test "${ac_cv_header_openssl_aes_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for openssl/aes.h" >&5 -$as_echo_n "checking for openssl/aes.h... " >&6; } -if test "${ac_cv_header_openssl_aes_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_aes_h" >&5 -$as_echo "$ac_cv_header_openssl_aes_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking openssl/aes.h usability" >&5 -$as_echo_n "checking openssl/aes.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking openssl/aes.h presence" >&5 -$as_echo_n "checking openssl/aes.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/aes.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: openssl/aes.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for openssl/aes.h" >&5 -$as_echo_n "checking for openssl/aes.h... " >&6; } -if test "${ac_cv_header_openssl_aes_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_openssl_aes_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_aes_h" >&5 -$as_echo "$ac_cv_header_openssl_aes_h" >&6; } - -fi -if test "x$ac_cv_header_openssl_aes_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "openssl/aes.h" "ac_cv_header_openssl_aes_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_aes_h" = x""yes; then : CRYPTO_HEADER_FOUND=1 else CRYPTO_HEADER_FOUND=0 @@ -51606,18 +27508,14 @@ if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ssl_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lssl" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lssl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lssl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -51635,47 +27533,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OPENSSL_FOUND=yes else AST_OPENSSL_FOUND=no @@ -51697,139 +27568,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENSSL_INCLUDE}" - if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -$as_echo_n "checking for openssl/ssl.h... " >&6; } -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -$as_echo "$ac_cv_header_openssl_ssl_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking openssl/ssl.h usability" >&5 -$as_echo_n "checking openssl/ssl.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking openssl/ssl.h presence" >&5 -$as_echo_n "checking openssl/ssl.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -$as_echo_n "checking for openssl/ssl.h... " >&6; } -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_openssl_ssl_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -$as_echo "$ac_cv_header_openssl_ssl_h" >&6; } - -fi -if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then : OPENSSL_HEADER_FOUND=1 else OPENSSL_HEADER_FOUND=0 @@ -51874,139 +27614,8 @@ then # check for the header osptk_saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${osptk_cflags}" - if test "${ac_cv_header_osp_osp_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for osp/osp.h" >&5 -$as_echo_n "checking for osp/osp.h... " >&6; } -if test "${ac_cv_header_osp_osp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_osp_osp_h" >&5 -$as_echo "$ac_cv_header_osp_osp_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking osp/osp.h usability" >&5 -$as_echo_n "checking osp/osp.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking osp/osp.h presence" >&5 -$as_echo_n "checking osp/osp.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: osp/osp.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: osp/osp.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for osp/osp.h" >&5 -$as_echo_n "checking for osp/osp.h... " >&6; } -if test "${ac_cv_header_osp_osp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_osp_osp_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_osp_osp_h" >&5 -$as_echo "$ac_cv_header_osp_osp_h" >&6; } - -fi -if test "x$ac_cv_header_osp_osp_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "osp/osp.h" "ac_cv_header_osp_osp_h" "$ac_includes_default" +if test "x$ac_cv_header_osp_osp_h" = x""yes; then : osptk_header_found=yes else osptk_header_found=no @@ -52019,18 +27628,14 @@ fi if test "${osptk_header_found}" = "yes"; then osptk_extralibs="-lssl -lcrypto" - { $as_echo "$as_me:$LINENO: checking for OSPPInit in -losptk" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSPPInit in -losptk" >&5 $as_echo_n "checking for OSPPInit in -losptk... " >&6; } -if test "${ac_cv_lib_osptk_OSPPInit+set}" = set; then +if test "${ac_cv_lib_osptk_OSPPInit+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-losptk ${osptk_ldflags} ${osptk_extralibs} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -52048,43 +27653,18 @@ return OSPPInit (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_osptk_OSPPInit=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_osptk_OSPPInit=no + ac_cv_lib_osptk_OSPPInit=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_osptk_OSPPInit" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osptk_OSPPInit" >&5 $as_echo "$ac_cv_lib_osptk_OSPPInit" >&6; } -if test "x$ac_cv_lib_osptk_OSPPInit" = x""yes; then +if test "x$ac_cv_lib_osptk_OSPPInit" = x""yes; then : osptk_library_found=yes else osptk_library_found=no @@ -52093,25 +27673,18 @@ fi # check OSP Toolkit version if test "${osptk_library_found}" = "yes"; then - { $as_echo "$as_me:$LINENO: checking if OSP Toolkit version is compatible with app_osplookup" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OSP Toolkit version is compatible with app_osplookup" >&5 $as_echo_n "checking if OSP Toolkit version is compatible with app_osplookup... " >&6; } osptk_saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${osptk_cflags}" - if test "$cross_compiling" = yes; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -52122,47 +27695,20 @@ cat >>conftest.$ac_ext <<_ACEOF } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +if ac_fn_c_try_run "$LINENO"; then : osptk_compatible=yes else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -osptk_compatible=no + osptk_compatible=no fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - CPPFLAGS="${osptk_saved_cppflags}" if test "${osptk_compatible}" = "yes"; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_OSPTK=1 OSPTK_INCLUDE="${osptk_cflags}" @@ -52173,7 +27719,7 @@ cat >>confdefs.h <<_ACEOF _ACEOF else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi @@ -52198,18 +27744,14 @@ if test "x${PBX_OPENSSL_SRTP}" != "x1" -a "${USE_OPENSSL_SRTP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_ssl_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lssl" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lssl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lssl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lssl ${pbxlibdir} -lcrypto $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -52227,47 +27769,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_OPENSSL_SRTP_FOUND=yes else AST_OPENSSL_SRTP_FOUND=no @@ -52289,139 +27804,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENSSL_SRTP_INCLUDE}" - if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -$as_echo_n "checking for openssl/ssl.h... " >&6; } -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -$as_echo "$ac_cv_header_openssl_ssl_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking openssl/ssl.h usability" >&5 -$as_echo_n "checking openssl/ssl.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking openssl/ssl.h presence" >&5 -$as_echo_n "checking openssl/ssl.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: openssl/ssl.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: openssl/ssl.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for openssl/ssl.h" >&5 -$as_echo_n "checking for openssl/ssl.h... " >&6; } -if test "${ac_cv_header_openssl_ssl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_openssl_ssl_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_openssl_ssl_h" >&5 -$as_echo "$ac_cv_header_openssl_ssl_h" >&6; } - -fi -if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then : OPENSSL_SRTP_HEADER_FOUND=1 else OPENSSL_SRTP_HEADER_FOUND=0 @@ -52467,18 +27851,14 @@ if test "x${PBX_SRTP}" != "x1" -a "${USE_SRTP}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_srtp_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lsrtp" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsrtp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsrtp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsrtp ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -52496,47 +27876,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SRTP_FOUND=yes else AST_SRTP_FOUND=no @@ -52558,139 +27911,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SRTP_INCLUDE}" - if test "${ac_cv_header_srtp_srtp_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for srtp/srtp.h" >&5 -$as_echo_n "checking for srtp/srtp.h... " >&6; } -if test "${ac_cv_header_srtp_srtp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_srtp_srtp_h" >&5 -$as_echo "$ac_cv_header_srtp_srtp_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking srtp/srtp.h usability" >&5 -$as_echo_n "checking srtp/srtp.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking srtp/srtp.h presence" >&5 -$as_echo_n "checking srtp/srtp.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: srtp/srtp.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: srtp/srtp.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for srtp/srtp.h" >&5 -$as_echo_n "checking for srtp/srtp.h... " >&6; } -if test "${ac_cv_header_srtp_srtp_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_srtp_srtp_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_srtp_srtp_h" >&5 -$as_echo "$ac_cv_header_srtp_srtp_h" >&6; } - -fi -if test "x$ac_cv_header_srtp_srtp_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "srtp/srtp.h" "ac_cv_header_srtp_srtp_h" "$ac_includes_default" +if test "x$ac_cv_header_srtp_srtp_h" = x""yes; then : SRTP_HEADER_FOUND=1 else SRTP_HEADER_FOUND=0 @@ -52725,16 +27947,12 @@ then LIBS="${LIBS} ${SRTP_LIB}" LDFLAGS="${LDFLAGS} -shared -fPIC" CFLAGS="${CFLAGS} ${SRTP_INCLUDE}" - { $as_echo "$as_me:$LINENO: checking for the ability of -lsrtp to be linked in a shared object" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the ability of -lsrtp to be linked in a shared object" >&5 $as_echo_n "checking for the ability of -lsrtp to be linked in a shared object... " >&6; } - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + + #include int main () { @@ -52745,64 +27963,39 @@ srtp_init(); } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:$LINENO: WARNING: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ***" >&5 $as_echo "$as_me: WARNING: ***" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** libsrtp could not be linked as a shared object." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** libsrtp could not be linked as a shared object." >&5 $as_echo "$as_me: WARNING: *** libsrtp could not be linked as a shared object." >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** Try compiling libsrtp manually. Configure libsrtp" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Try compiling libsrtp manually. Configure libsrtp" >&5 $as_echo "$as_me: WARNING: *** Try compiling libsrtp manually. Configure libsrtp" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** with ./configure CFLAGS=-fPIC --prefix=/usr" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** with ./configure CFLAGS=-fPIC --prefix=/usr" >&5 $as_echo "$as_me: WARNING: *** with ./configure CFLAGS=-fPIC --prefix=/usr" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** replacing /usr with the prefix of your choice." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** replacing /usr with the prefix of your choice." >&5 $as_echo "$as_me: WARNING: *** replacing /usr with the prefix of your choice." >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** After re-installing libsrtp" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** After re-installing libsrtp" >&5 $as_echo "$as_me: WARNING: *** After re-installing libsrtp" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** configure script." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** configure script." >&5 $as_echo "$as_me: WARNING: *** configure script." >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ***" >&5 $as_echo "$as_me: WARNING: ***" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** If you do not need SRTP support re-run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** If you do not need SRTP support re-run configure" >&5 $as_echo "$as_me: WARNING: *** If you do not need SRTP support re-run configure" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: *** with the --without-srtp option." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** with the --without-srtp option." >&5 $as_echo "$as_me: WARNING: *** with the --without-srtp option." >&2;} exit 1 fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="${saved_libs}" LDFLAGS="${saved_ldflags}" CFLAGS="${saved_cflags}" @@ -52814,7 +28007,7 @@ for ver in 2.0 2.2 2.4 2.6; do if test "x${PBX_GMIME}" != "x1" -a "${USE_GMIME}" != "no"; then pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for GMIME" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMIME" >&5 $as_echo_n "checking for GMIME... " >&6; } if test -n "$PKG_CONFIG"; then @@ -52822,11 +28015,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_GMIME_CFLAGS="$GMIME_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmime-$ver") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-$ver" 2>/dev/null` else pkg_failed=yes @@ -52840,11 +28033,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_GMIME_LIBS="$GMIME_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmime-$ver") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_GMIME_LIBS=`$PKG_CONFIG --libs "gmime-$ver" 2>/dev/null` else pkg_failed=yes @@ -52871,7 +28064,7 @@ fi # Put the nasty error message in config.log where it belongs echo "$GMIME_PKG_ERRORS" >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PBX_GMIME=0 @@ -52885,16 +28078,14 @@ elif test $pkg_failed = untried; then else GMIME_CFLAGS=$pkg_cv_GMIME_CFLAGS GMIME_LIBS=$pkg_cv_GMIME_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_GMIME=1 GMIME_INCLUDE="$GMIME_CFLAGS" GMIME_LIB="$GMIME_LIBS" -cat >>confdefs.h <<\_ACEOF -#define HAVE_GMIME 1 -_ACEOF +$as_echo "#define HAVE_GMIME 1" >>confdefs.h fi @@ -52923,18 +28114,14 @@ if test "x${PBX_HOARD}" != "x1" -a "${USE_HOARD}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_hoard_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lhoard" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lhoard" >&5 $as_echo_n "checking for ${pbxfuncname} in -lhoard... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lhoard ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -52952,47 +28139,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_HOARD_FOUND=yes else AST_HOARD_FOUND=no @@ -53014,139 +28174,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${HOARD_INCLUDE}" - if test "${ac_cv_header_+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking usability" >&5 -$as_echo_n "checking usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking presence" >&5 -$as_echo_n "checking presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: : accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: : present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: : present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: : check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: : see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: : section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: : proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: : in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: : in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for " >&5 -$as_echo_n "checking for ... " >&6; } -if test "${ac_cv_header_+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_" >&5 -$as_echo "$ac_cv_header_" >&6; } - -fi -if test "x$ac_cv_header_" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" +if test "x$ac_cv_header_" = x""yes; then : HOARD_HEADER_FOUND=1 else HOARD_HEADER_FOUND=0 @@ -53191,18 +28220,14 @@ if test "x${PBX_FREETDS}" != "x1" -a "${USE_FREETDS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_sybdb_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lsybdb" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsybdb" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsybdb... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsybdb ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -53220,47 +28245,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_FREETDS_FOUND=yes else AST_FREETDS_FOUND=no @@ -53282,139 +28280,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${FREETDS_INCLUDE}" - if test "${ac_cv_header_sybdb_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for sybdb.h" >&5 -$as_echo_n "checking for sybdb.h... " >&6; } -if test "${ac_cv_header_sybdb_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sybdb_h" >&5 -$as_echo "$ac_cv_header_sybdb_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking sybdb.h usability" >&5 -$as_echo_n "checking sybdb.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking sybdb.h presence" >&5 -$as_echo_n "checking sybdb.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: sybdb.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: sybdb.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: sybdb.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: sybdb.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: sybdb.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: sybdb.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: sybdb.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: sybdb.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: sybdb.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for sybdb.h" >&5 -$as_echo_n "checking for sybdb.h... " >&6; } -if test "${ac_cv_header_sybdb_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_sybdb_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sybdb_h" >&5 -$as_echo "$ac_cv_header_sybdb_h" >&6; } - -fi -if test "x$ac_cv_header_sybdb_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "sybdb.h" "ac_cv_header_sybdb_h" "$ac_includes_default" +if test "x$ac_cv_header_sybdb_h" = x""yes; then : FREETDS_HEADER_FOUND=1 else FREETDS_HEADER_FOUND=0 @@ -53441,18 +28308,14 @@ fi -{ $as_echo "$as_me:$LINENO: checking for tone_zone_find_by_num in -ltonezone" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tone_zone_find_by_num in -ltonezone" >&5 $as_echo_n "checking for tone_zone_find_by_num in -ltonezone... " >&6; } -if test "${ac_cv_lib_tonezone_tone_zone_find_by_num+set}" = set; then +if test "${ac_cv_lib_tonezone_tone_zone_find_by_num+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltonezone $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -53470,43 +28333,18 @@ return tone_zone_find_by_num (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_tonezone_tone_zone_find_by_num=yes else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_tonezone_tone_zone_find_by_num=no + ac_cv_lib_tonezone_tone_zone_find_by_num=no fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tonezone_tone_zone_find_by_num" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tonezone_tone_zone_find_by_num" >&5 $as_echo "$ac_cv_lib_tonezone_tone_zone_find_by_num" >&6; } -if test "x$ac_cv_lib_tonezone_tone_zone_find_by_num" = x""yes; then +if test "x$ac_cv_lib_tonezone_tone_zone_find_by_num" = x""yes; then : tonezone_does_not_need_lm=yes else tonezone_does_not_need_lm=no @@ -53535,18 +28373,14 @@ if test "x${PBX_TONEZONE}" != "x1" -a "${USE_TONEZONE}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_tonezone_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -ltonezone" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltonezone" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltonezone... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ltonezone ${pbxlibdir} ${tonezone_extra} ${DAHDI_INCLUDE} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -53564,47 +28398,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_TONEZONE_FOUND=yes else AST_TONEZONE_FOUND=no @@ -53626,139 +28433,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TONEZONE_INCLUDE}" - if test "${ac_cv_header_dahdi_tonezone_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for dahdi/tonezone.h" >&5 -$as_echo_n "checking for dahdi/tonezone.h... " >&6; } -if test "${ac_cv_header_dahdi_tonezone_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dahdi_tonezone_h" >&5 -$as_echo "$ac_cv_header_dahdi_tonezone_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking dahdi/tonezone.h usability" >&5 -$as_echo_n "checking dahdi/tonezone.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking dahdi/tonezone.h presence" >&5 -$as_echo_n "checking dahdi/tonezone.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: dahdi/tonezone.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: dahdi/tonezone.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for dahdi/tonezone.h" >&5 -$as_echo_n "checking for dahdi/tonezone.h... " >&6; } -if test "${ac_cv_header_dahdi_tonezone_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_dahdi_tonezone_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dahdi_tonezone_h" >&5 -$as_echo "$ac_cv_header_dahdi_tonezone_h" >&6; } - -fi -if test "x$ac_cv_header_dahdi_tonezone_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "dahdi/tonezone.h" "ac_cv_header_dahdi_tonezone_h" "$ac_includes_default" +if test "x$ac_cv_header_dahdi_tonezone_h" = x""yes; then : TONEZONE_HEADER_FOUND=1 else TONEZONE_HEADER_FOUND=0 @@ -53805,18 +28481,14 @@ if test "x${PBX_VORBIS}" != "x1" -a "${USE_VORBIS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_vorbis_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lvorbis" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lvorbis" >&5 $as_echo_n "checking for ${pbxfuncname} in -lvorbis... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lvorbis ${pbxlibdir} -lm -lvorbisenc -lvorbisfile -logg $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -53834,47 +28506,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_VORBIS_FOUND=yes else AST_VORBIS_FOUND=no @@ -53896,139 +28541,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${VORBIS_INCLUDE}" - if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for vorbis/codec.h" >&5 -$as_echo_n "checking for vorbis/codec.h... " >&6; } -if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vorbis_codec_h" >&5 -$as_echo "$ac_cv_header_vorbis_codec_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking vorbis/codec.h usability" >&5 -$as_echo_n "checking vorbis/codec.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking vorbis/codec.h presence" >&5 -$as_echo_n "checking vorbis/codec.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for vorbis/codec.h" >&5 -$as_echo_n "checking for vorbis/codec.h... " >&6; } -if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_vorbis_codec_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vorbis_codec_h" >&5 -$as_echo "$ac_cv_header_vorbis_codec_h" >&6; } - -fi -if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "vorbis/codec.h" "ac_cv_header_vorbis_codec_h" "$ac_includes_default" +if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then : VORBIS_HEADER_FOUND=1 else VORBIS_HEADER_FOUND=0 @@ -54073,18 +28587,14 @@ if test "x${PBX_VORBIS}" != "x1" -a "${USE_VORBIS}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_vorbis_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lvorbis" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lvorbis" >&5 $as_echo_n "checking for ${pbxfuncname} in -lvorbis... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lvorbis ${pbxlibdir} -lm -lvorbisenc -lvorbisfile $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -54102,47 +28612,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_VORBIS_FOUND=yes else AST_VORBIS_FOUND=no @@ -54164,139 +28647,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${VORBIS_INCLUDE}" - if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for vorbis/codec.h" >&5 -$as_echo_n "checking for vorbis/codec.h... " >&6; } -if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vorbis_codec_h" >&5 -$as_echo "$ac_cv_header_vorbis_codec_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking vorbis/codec.h usability" >&5 -$as_echo_n "checking vorbis/codec.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking vorbis/codec.h presence" >&5 -$as_echo_n "checking vorbis/codec.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: vorbis/codec.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: vorbis/codec.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for vorbis/codec.h" >&5 -$as_echo_n "checking for vorbis/codec.h... " >&6; } -if test "${ac_cv_header_vorbis_codec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_vorbis_codec_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_vorbis_codec_h" >&5 -$as_echo "$ac_cv_header_vorbis_codec_h" >&6; } - -fi -if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "vorbis/codec.h" "ac_cv_header_vorbis_codec_h" "$ac_includes_default" +if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then : VORBIS_HEADER_FOUND=1 else VORBIS_HEADER_FOUND=0 @@ -54325,7 +28677,7 @@ fi fi if test "x${PBX_VORBIS_OPEN_CALLBACKS}" != "x1" -a "${USE_VORBIS_OPEN_CALLBACKS}" != "no"; then - { $as_echo "$as_me:$LINENO: checking for OV_CALLBACKS_NOCLOSE declared in vorbis/vorbisfile.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OV_CALLBACKS_NOCLOSE declared in vorbis/vorbisfile.h" >&5 $as_echo_n "checking for OV_CALLBACKS_NOCLOSE declared in vorbis/vorbisfile.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${VORBIS_OPEN_CALLBACKS_DIR}" != "x"; then @@ -54333,13 +28685,9 @@ $as_echo_n "checking for OV_CALLBACKS_NOCLOSE declared in vorbis/vorbisfile.h... fi CPPFLAGS="${CPPFLAGS} ${VORBIS_OPEN_CALLBACKS_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -54351,43 +28699,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_VORBIS_OPEN_CALLBACKS=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_VORBIS_OPEN_CALLBACKS 1 -_ACEOF +$as_echo "#define HAVE_VORBIS_OPEN_CALLBACKS 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" @@ -54402,7 +28727,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${USE_VPB}" != "no"; then - { $as_echo "$as_me:$LINENO: checking for vpb_open in -lvpb" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vpb_open in -lvpb" >&5 $as_echo_n "checking for vpb_open in -lvpb... " >&6; } saved_libs="${LIBS}" saved_cppflags="${CPPFLAGS}" @@ -54417,14 +28742,10 @@ $as_echo_n "checking for vpb_open in -lvpb... " >&6; } fi LIBS="${PTHREAD_LIBS} ${LIBS} -lvpb" CPPFLAGS="${CPPFLAGS} ${PTHREAD_CFLAGS}" - cat >conftest.$ac_ext <<_ACEOF - - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + + #include int main () { @@ -54434,45 +28755,20 @@ int q = vpb_open(0,0); } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ac_cv_lib_vpb_vpb_open="yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ac_cv_lib_vpb_vpb_open="no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="${saved_libs}" CPPFLAGS="${saved_cppflags}" if test "${ac_cv_lib_vpb_vpb_open}" = "yes"; then @@ -54483,9 +28779,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ fi PBX_VPB=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_VPB 1 -_ACEOF +$as_echo "#define HAVE_VPB 1" >>confdefs.h fi fi @@ -54515,18 +28809,14 @@ if test "x${PBX_ZLIB}" != "x1" -a "${USE_ZLIB}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_z_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lz" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lz" >&5 $as_echo_n "checking for ${pbxfuncname} in -lz... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -54544,47 +28834,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_ZLIB_FOUND=yes else AST_ZLIB_FOUND=no @@ -54606,139 +28869,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ZLIB_INCLUDE}" - if test "${ac_cv_header_zlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 -$as_echo_n "checking for zlib.h... " >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -$as_echo "$ac_cv_header_zlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5 -$as_echo_n "checking zlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5 -$as_echo_n "checking zlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 -$as_echo_n "checking for zlib.h... " >&6; } -if test "${ac_cv_header_zlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_zlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 -$as_echo "$ac_cv_header_zlib_h" >&6; } - -fi -if test "x$ac_cv_header_zlib_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = x""yes; then : ZLIB_HEADER_FOUND=1 else ZLIB_HEADER_FOUND=0 @@ -54767,13 +28899,9 @@ fi if test "x${PBX_UNIXODBC}" = "x1" -o "x${PBX_IODBC}" = "x1"; then # Does ODBC support wide characters? - { $as_echo "$as_me:$LINENO: checking whether ODBC has support for Unicode types" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ODBC has support for Unicode types" >&5 $as_echo_n "checking whether ODBC has support for Unicode types... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -54785,181 +28913,23 @@ int foo = SQL_WCHAR return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } -cat >>confdefs.h <<\_ACEOF -#define HAVE_ODBC_WCHAR 1 -_ACEOF +$as_echo "#define HAVE_ODBC_WCHAR 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -if test "${ac_cv_header_h323_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for h323.h" >&5 -$as_echo_n "checking for h323.h... " >&6; } -if test "${ac_cv_header_h323_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_h323_h" >&5 -$as_echo "$ac_cv_header_h323_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking h323.h usability" >&5 -$as_echo_n "checking h323.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking h323.h presence" >&5 -$as_echo_n "checking h323.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: h323.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: h323.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: h323.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: h323.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: h323.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: h323.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: h323.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: h323.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: h323.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: h323.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: h323.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for h323.h" >&5 -$as_echo_n "checking for h323.h... " >&6; } -if test "${ac_cv_header_h323_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_h323_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_h323_h" >&5 -$as_echo "$ac_cv_header_h323_h" >&6; } - -fi -if test "x$ac_cv_header_h323_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "h323.h" "ac_cv_header_h323_h" "$ac_includes_default" +if test "x$ac_cv_header_h323_h" = x""yes; then : PBX_H323=1 else PBX_H323=0 @@ -54968,139 +28938,8 @@ fi -if test "${ac_cv_header_linux_compiler_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for linux/compiler.h" >&5 -$as_echo_n "checking for linux/compiler.h... " >&6; } -if test "${ac_cv_header_linux_compiler_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_compiler_h" >&5 -$as_echo "$ac_cv_header_linux_compiler_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking linux/compiler.h usability" >&5 -$as_echo_n "checking linux/compiler.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking linux/compiler.h presence" >&5 -$as_echo_n "checking linux/compiler.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/compiler.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: linux/compiler.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for linux/compiler.h" >&5 -$as_echo_n "checking for linux/compiler.h... " >&6; } -if test "${ac_cv_header_linux_compiler_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_linux_compiler_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_compiler_h" >&5 -$as_echo "$ac_cv_header_linux_compiler_h" >&6; } - -fi -if test "x$ac_cv_header_linux_compiler_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "linux/compiler.h" "ac_cv_header_linux_compiler_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_compiler_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LINUX_COMPILER_H 1 @@ -55110,57 +28949,14 @@ fi -{ $as_echo "$as_me:$LINENO: checking for linux/ixjuser.h" >&5 -$as_echo_n "checking for linux/ixjuser.h... " >&6; } -if test "${ac_cv_header_linux_ixjuser_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +ac_fn_c_check_header_compile "$LINENO" "linux/ixjuser.h" "ac_cv_header_linux_ixjuser_h" " #include #ifdef HAVE_LINUX_COMPILER_H #include #endif - -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_linux_ixjuser_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_linux_ixjuser_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_ixjuser_h" >&5 -$as_echo "$ac_cv_header_linux_ixjuser_h" >&6; } -if test "x$ac_cv_header_linux_ixjuser_h" = x""yes; then +" +if test "x$ac_cv_header_linux_ixjuser_h" = x""yes; then : PBX_IXJUSER=1 else PBX_IXJUSER=0 @@ -55172,7 +28968,7 @@ fi # Used in res/res_pktccops if test "x${PBX_MSG_NOSIGNAL}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for MSG_NOSIGNAL in sys/socket.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MSG_NOSIGNAL in sys/socket.h" >&5 $as_echo_n "checking for MSG_NOSIGNAL in sys/socket.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${MSG_NOSIGNAL_DIR}" != "x"; then @@ -55180,13 +28976,9 @@ $as_echo_n "checking for MSG_NOSIGNAL in sys/socket.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${MSG_NOSIGNAL_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -55201,43 +28993,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_MSG_NOSIGNAL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_MSG_NOSIGNAL 1 -_ACEOF +$as_echo "#define HAVE_MSG_NOSIGNAL 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -55245,7 +29014,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SO_NOSIGPIPE}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for SO_NOSIGPIPE in sys/socket.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SO_NOSIGPIPE in sys/socket.h" >&5 $as_echo_n "checking for SO_NOSIGPIPE in sys/socket.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SO_NOSIGPIPE_DIR}" != "x"; then @@ -55253,13 +29022,9 @@ $as_echo_n "checking for SO_NOSIGPIPE in sys/socket.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SO_NOSIGPIPE_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -55274,43 +29039,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SO_NOSIGPIPE=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SO_NOSIGPIPE 1 -_ACEOF +$as_echo "#define HAVE_SO_NOSIGPIPE 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -55323,9 +29065,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}sdl-config", so it can be a program name with args. set dummy ${ac_tool_prefix}sdl-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_SDL+set}" = set; then +if test "${ac_cv_path_CONFIG_SDL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $CONFIG_SDL in @@ -55339,14 +29081,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -55354,10 +29096,10 @@ esac fi CONFIG_SDL=$ac_cv_path_CONFIG_SDL if test -n "$CONFIG_SDL"; then - { $as_echo "$as_me:$LINENO: result: $CONFIG_SDL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_SDL" >&5 $as_echo "$CONFIG_SDL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -55367,9 +29109,9 @@ if test -z "$ac_cv_path_CONFIG_SDL"; then ac_pt_CONFIG_SDL=$CONFIG_SDL # Extract the first word of "sdl-config", so it can be a program name with args. set dummy sdl-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_SDL+set}" = set; then +if test "${ac_cv_path_ac_pt_CONFIG_SDL+set}" = set; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_SDL in @@ -55383,14 +29125,14 @@ for as_dir in $as_dummy do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do + for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done IFS=$as_save_IFS ;; @@ -55398,10 +29140,10 @@ esac fi ac_pt_CONFIG_SDL=$ac_cv_path_ac_pt_CONFIG_SDL if test -n "$ac_pt_CONFIG_SDL"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_CONFIG_SDL" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_SDL" >&5 $as_echo "$ac_pt_CONFIG_SDL" >&6; } else - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi @@ -55410,7 +29152,7 @@ fi else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac @@ -55435,11 +29177,7 @@ fi saved_libs="${LIBS}" LIBS="${SDL_LIB}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -55451,53 +29189,21 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : PBX_SDL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SDL 1 -_ACEOF - - -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - +$as_echo "#define HAVE_SDL 1" >>confdefs.h fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" LIBS="${saved_libs}" else PBX_SDL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SDL 1 -_ACEOF +$as_echo "#define HAVE_SDL 1" >>confdefs.h fi fi @@ -55521,18 +29227,14 @@ if test "x${PBX_SDL_IMAGE}" != "x1" -a "${USE_SDL_IMAGE}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${SDL_INCLUDE}" as_ac_Lib=`$as_echo "ac_cv_lib_SDL_image_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lSDL_image" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lSDL_image" >&5 $as_echo_n "checking for ${pbxfuncname} in -lSDL_image... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSDL_image ${pbxlibdir} ${SDL_LIB} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -55550,47 +29252,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_SDL_IMAGE_FOUND=yes else AST_SDL_IMAGE_FOUND=no @@ -55612,139 +29287,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SDL_IMAGE_INCLUDE}" - if test "${ac_cv_header_SDL_image_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for SDL_image.h" >&5 -$as_echo_n "checking for SDL_image.h... " >&6; } -if test "${ac_cv_header_SDL_image_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_SDL_image_h" >&5 -$as_echo "$ac_cv_header_SDL_image_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking SDL_image.h usability" >&5 -$as_echo_n "checking SDL_image.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking SDL_image.h presence" >&5 -$as_echo_n "checking SDL_image.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: SDL_image.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: SDL_image.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for SDL_image.h" >&5 -$as_echo_n "checking for SDL_image.h... " >&6; } -if test "${ac_cv_header_SDL_image_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_SDL_image_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_SDL_image_h" >&5 -$as_echo "$ac_cv_header_SDL_image_h" >&6; } - -fi -if test "x$ac_cv_header_SDL_image_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "SDL_image.h" "ac_cv_header_SDL_image_h" "$ac_includes_default" +if test "x$ac_cv_header_SDL_image_h" = x""yes; then : SDL_IMAGE_HEADER_FOUND=1 else SDL_IMAGE_HEADER_FOUND=0 @@ -55788,18 +29332,14 @@ if test "x${PBX_FFMPEG}" != "x1" -a "${USE_FFMPEG}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" as_ac_Lib=`$as_echo "ac_cv_lib_avcodec_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lavcodec" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lavcodec" >&5 $as_echo_n "checking for ${pbxfuncname} in -lavcodec... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lavcodec ${pbxlibdir} ${PTHREAD_LIBS} -lz -lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -55817,47 +29357,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_FFMPEG_FOUND=yes else AST_FFMPEG_FOUND=no @@ -55879,139 +29392,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${FFMPEG_INCLUDE}" - if test "${ac_cv_header_ffmpeg_avcodec_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for ffmpeg/avcodec.h" >&5 -$as_echo_n "checking for ffmpeg/avcodec.h... " >&6; } -if test "${ac_cv_header_ffmpeg_avcodec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ffmpeg_avcodec_h" >&5 -$as_echo "$ac_cv_header_ffmpeg_avcodec_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking ffmpeg/avcodec.h usability" >&5 -$as_echo_n "checking ffmpeg/avcodec.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking ffmpeg/avcodec.h presence" >&5 -$as_echo_n "checking ffmpeg/avcodec.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: ffmpeg/avcodec.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: ffmpeg/avcodec.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for ffmpeg/avcodec.h" >&5 -$as_echo_n "checking for ffmpeg/avcodec.h... " >&6; } -if test "${ac_cv_header_ffmpeg_avcodec_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_ffmpeg_avcodec_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_ffmpeg_avcodec_h" >&5 -$as_echo "$ac_cv_header_ffmpeg_avcodec_h" >&6; } - -fi -if test "x$ac_cv_header_ffmpeg_avcodec_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "ffmpeg/avcodec.h" "ac_cv_header_ffmpeg_avcodec_h" "$ac_includes_default" +if test "x$ac_cv_header_ffmpeg_avcodec_h" = x""yes; then : FFMPEG_HEADER_FOUND=1 else FFMPEG_HEADER_FOUND=0 @@ -56039,139 +29421,8 @@ fi # possible places for video4linux version 1 -if test "${ac_cv_header_linux_videodev_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for linux/videodev.h" >&5 -$as_echo_n "checking for linux/videodev.h... " >&6; } -if test "${ac_cv_header_linux_videodev_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5 -$as_echo "$ac_cv_header_linux_videodev_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5 -$as_echo_n "checking linux/videodev.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5 -$as_echo_n "checking linux/videodev.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for linux/videodev.h" >&5 -$as_echo_n "checking for linux/videodev.h... " >&6; } -if test "${ac_cv_header_linux_videodev_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_linux_videodev_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5 -$as_echo "$ac_cv_header_linux_videodev_h" >&6; } - -fi -if test "x$ac_cv_header_linux_videodev_h" = x""yes; then +ac_fn_c_check_header_mongrel "$LINENO" "linux/videodev.h" "ac_cv_header_linux_videodev_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_videodev_h" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VIDEODEV_H 1 @@ -56200,18 +29451,14 @@ if test "x${PBX_X11}" != "x1" -a "${USE_X11}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} " as_ac_Lib=`$as_echo "ac_cv_lib_X11_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lX11" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lX11" >&5 $as_echo_n "checking for ${pbxfuncname} in -lX11... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -56229,47 +29476,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_X11_FOUND=yes else AST_X11_FOUND=no @@ -56291,139 +29511,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${X11_INCLUDE}" - if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5 -$as_echo_n "checking for X11/Xlib.h... " >&6; } -if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5 -$as_echo "$ac_cv_header_X11_Xlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking X11/Xlib.h usability" >&5 -$as_echo_n "checking X11/Xlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking X11/Xlib.h presence" >&5 -$as_echo_n "checking X11/Xlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5 -$as_echo_n "checking for X11/Xlib.h... " >&6; } -if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_X11_Xlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5 -$as_echo "$ac_cv_header_X11_Xlib_h" >&6; } - -fi -if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then : X11_HEADER_FOUND=1 else X11_HEADER_FOUND=0 @@ -56454,7 +29543,6 @@ fi - if test "x${PBX_X11}" != "x1" -a "${USE_X11}" != "no"; then pbxlibdir="" # if --with-X11=DIR has been specified, use it. @@ -56472,18 +29560,14 @@ if test "x${PBX_X11}" != "x1" -a "${USE_X11}" != "no"; then ast_ext_lib_check_save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -I/usr/X11R6/include" as_ac_Lib=`$as_echo "ac_cv_lib_X11_${pbxfuncname}" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lX11" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lX11" >&5 $as_echo_n "checking for ${pbxfuncname} in -lX11... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 ${pbxlibdir} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -56501,47 +29585,20 @@ return ${pbxfuncname} (); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then +if ac_fn_c_try_link "$LINENO"; then : eval "$as_ac_Lib=yes" else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" + eval "$as_ac_Lib=no" fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -ac_res=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Lib'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then +eval as_val=\$$as_ac_Lib + if test "x$as_val" = x""yes; then : AST_X11_FOUND=yes else AST_X11_FOUND=no @@ -56563,139 +29620,8 @@ fi else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${X11_INCLUDE}" - if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5 -$as_echo_n "checking for X11/Xlib.h... " >&6; } -if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5 -$as_echo "$ac_cv_header_X11_Xlib_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking X11/Xlib.h usability" >&5 -$as_echo_n "checking X11/Xlib.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking X11/Xlib.h presence" >&5 -$as_echo_n "checking X11/Xlib.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5 -$as_echo_n "checking for X11/Xlib.h... " >&6; } -if test "${ac_cv_header_X11_Xlib_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_X11_Xlib_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5 -$as_echo "$ac_cv_header_X11_Xlib_h" >&6; } - -fi -if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then + ac_fn_c_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then : X11_HEADER_FOUND=1 else X11_HEADER_FOUND=0 @@ -56726,32 +29652,27 @@ fi - PBX_LAUNCHD=0 if test "${cross_compiling}" = "no"; then - { $as_echo "$as_me:$LINENO: checking for /sbin/launchd" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /sbin/launchd" >&5 $as_echo_n "checking for /sbin/launchd... " >&6; } -if test "${ac_cv_file__sbin_launchd+set}" = set; then +if test "${ac_cv_file__sbin_launchd+set}" = set; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - { { $as_echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -$as_echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/sbin/launchd"; then ac_cv_file__sbin_launchd=yes else ac_cv_file__sbin_launchd=no fi fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_file__sbin_launchd" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__sbin_launchd" >&5 $as_echo "$ac_cv_file__sbin_launchd" >&6; } -if test "x$ac_cv_file__sbin_launchd" = x""yes; then +if test "x$ac_cv_file__sbin_launchd" = x""yes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_SBIN_LAUNCHD 1 -_ACEOF +$as_echo "#define HAVE_SBIN_LAUNCHD 1" >>confdefs.h fi @@ -56763,7 +29684,7 @@ fi if test "x${PBX_GTK2}" != "x1" -a "${USE_GTK2}" != "no"; then pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for GTK2" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK2" >&5 $as_echo_n "checking for GTK2... " >&6; } if test -n "$PKG_CONFIG"; then @@ -56771,11 +29692,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null` else pkg_failed=yes @@ -56789,11 +29710,11 @@ if test -n "$PKG_CONFIG"; then pkg_cv_GTK2_LIBS="$GTK2_LIBS" else if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null` else pkg_failed=yes @@ -56820,7 +29741,7 @@ fi # Put the nasty error message in config.log where it belongs echo "$GTK2_PKG_ERRORS" >&5 - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PBX_GTK2=0 @@ -56834,16 +29755,14 @@ elif test $pkg_failed = untried; then else GTK2_CFLAGS=$pkg_cv_GTK2_CFLAGS GTK2_LIBS=$pkg_cv_GTK2_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_GTK2=1 GTK2_INCLUDE="$GTK2_CFLAGS" GTK2_LIB="$GTK2_LIBS" -cat >>confdefs.h <<\_ACEOF -#define HAVE_GTK2 1 -_ACEOF +$as_echo "#define HAVE_GTK2 1" >>confdefs.h fi @@ -56875,7 +29794,7 @@ if test "${ac_cv_header_syslog_h}" = "yes"; then # syslog facilities if test "x${PBX_SYSLOG_FACILITY_LOG_AUTH}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_AUTH in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_AUTH in syslog.h" >&5 $as_echo_n "checking for LOG_AUTH in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_AUTH_DIR}" != "x"; then @@ -56883,13 +29802,9 @@ $as_echo_n "checking for LOG_AUTH in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_AUTH_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -56904,43 +29819,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_AUTH=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_AUTH 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_AUTH 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -56948,7 +29840,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_AUTHPRIV}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_AUTHPRIV in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_AUTHPRIV in syslog.h" >&5 $as_echo_n "checking for LOG_AUTHPRIV in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_AUTHPRIV_DIR}" != "x"; then @@ -56956,13 +29848,9 @@ $as_echo_n "checking for LOG_AUTHPRIV in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_AUTHPRIV_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -56977,43 +29865,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_AUTHPRIV=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_AUTHPRIV 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_AUTHPRIV 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57021,7 +29886,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_CRON}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_CRON in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_CRON in syslog.h" >&5 $as_echo_n "checking for LOG_CRON in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_CRON_DIR}" != "x"; then @@ -57029,13 +29894,9 @@ $as_echo_n "checking for LOG_CRON in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_CRON_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57050,43 +29911,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_CRON=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_CRON 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_CRON 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57094,7 +29932,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_DAEMON}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_DAEMON in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_DAEMON in syslog.h" >&5 $as_echo_n "checking for LOG_DAEMON in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_DAEMON_DIR}" != "x"; then @@ -57102,13 +29940,9 @@ $as_echo_n "checking for LOG_DAEMON in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_DAEMON_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57123,43 +29957,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_DAEMON=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_DAEMON 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_DAEMON 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57167,7 +29978,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_FTP}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_FTP in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_FTP in syslog.h" >&5 $as_echo_n "checking for LOG_FTP in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_FTP_DIR}" != "x"; then @@ -57175,13 +29986,9 @@ $as_echo_n "checking for LOG_FTP in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_FTP_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57196,43 +30003,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_FTP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_FTP 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_FTP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57240,7 +30024,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_KERN}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_KERN in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_KERN in syslog.h" >&5 $as_echo_n "checking for LOG_KERN in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_KERN_DIR}" != "x"; then @@ -57248,13 +30032,9 @@ $as_echo_n "checking for LOG_KERN in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_KERN_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57269,43 +30049,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_KERN=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_KERN 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_KERN 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57313,7 +30070,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_LPR}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_LPR in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_LPR in syslog.h" >&5 $as_echo_n "checking for LOG_LPR in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_LPR_DIR}" != "x"; then @@ -57321,13 +30078,9 @@ $as_echo_n "checking for LOG_LPR in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_LPR_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57342,43 +30095,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_LPR=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_LPR 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_LPR 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57386,7 +30116,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_MAIL}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_MAIL in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_MAIL in syslog.h" >&5 $as_echo_n "checking for LOG_MAIL in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_MAIL_DIR}" != "x"; then @@ -57394,13 +30124,9 @@ $as_echo_n "checking for LOG_MAIL in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_MAIL_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57415,43 +30141,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_MAIL=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_MAIL 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_MAIL 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57459,7 +30162,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_NEWS}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_NEWS in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_NEWS in syslog.h" >&5 $as_echo_n "checking for LOG_NEWS in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_NEWS_DIR}" != "x"; then @@ -57467,13 +30170,9 @@ $as_echo_n "checking for LOG_NEWS in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_NEWS_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57488,43 +30187,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_NEWS=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_NEWS 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_NEWS 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57532,7 +30208,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_SYSLOG}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_SYSLOG in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_SYSLOG in syslog.h" >&5 $as_echo_n "checking for LOG_SYSLOG in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_SYSLOG_DIR}" != "x"; then @@ -57540,13 +30216,9 @@ $as_echo_n "checking for LOG_SYSLOG in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_SYSLOG_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57561,43 +30233,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_SYSLOG=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_SYSLOG 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_SYSLOG 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57605,7 +30254,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test "x${PBX_SYSLOG_FACILITY_LOG_UUCP}" != "x1"; then - { $as_echo "$as_me:$LINENO: checking for LOG_UUCP in syslog.h" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LOG_UUCP in syslog.h" >&5 $as_echo_n "checking for LOG_UUCP in syslog.h... " >&6; } saved_cppflags="${CPPFLAGS}" if test "x${SYSLOG_FACILITY_LOG_UUCP_DIR}" != "x"; then @@ -57613,13 +30262,9 @@ $as_echo_n "checking for LOG_UUCP in syslog.h... " >&6; } fi CPPFLAGS="${CPPFLAGS} ${SYSLOG_FACILITY_LOG_UUCP_INCLUDE}" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + #include int main () { @@ -57634,43 +30279,20 @@ main () return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } PBX_SYSLOG_FACILITY_LOG_UUCP=1 -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYSLOG_FACILITY_LOG_UUCP 1 -_ACEOF +$as_echo "#define HAVE_SYSLOG_FACILITY_LOG_UUCP 1" >>confdefs.h else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CPPFLAGS="${saved_cppflags}" fi @@ -57690,29 +30312,29 @@ fi ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts channels/h323/Makefile" - { $as_echo "$as_me:$LINENO: checking for mandatory modules: ${ac_mandatory_list}" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mandatory modules: ${ac_mandatory_list}" >&5 $as_echo_n "checking for mandatory modules: ${ac_mandatory_list}... " >&6; } err=0; for i in ${ac_mandatory_list}; do eval "a=\${PBX_$i}" if test "x${a}" = "x1" ; then continue; fi - if test ${err} = "0" ; then { $as_echo "$as_me:$LINENO: result: fail" >&5 + if test ${err} = "0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: fail" >&5 $as_echo "fail" >&6; } ; fi - { $as_echo "$as_me:$LINENO: result: " >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } eval "a=\${${i}_OPTION}" - { $as_echo "$as_me:$LINENO: ***" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: ***" >&5 $as_echo "$as_me: ***" >&6;} - { $as_echo "$as_me:$LINENO: *** The $i installation appears to be missing or broken." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** The $i installation appears to be missing or broken." >&5 $as_echo "$as_me: *** The $i installation appears to be missing or broken." >&6;} - { $as_echo "$as_me:$LINENO: *** Either correct the installation, or run configure" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** Either correct the installation, or run configure" >&5 $as_echo "$as_me: *** Either correct the installation, or run configure" >&6;} - { $as_echo "$as_me:$LINENO: *** including --without-${a}." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: *** including --without-${a}." >&5 $as_echo "$as_me: *** including --without-${a}." >&6;} err=1 done if test $err = 1 ; then exit 1; fi - { $as_echo "$as_me:$LINENO: result: ok" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } @@ -57753,13 +30375,13 @@ _ACEOF case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; + *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done @@ -57767,8 +30389,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" @@ -57791,11 +30413,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi @@ -57815,8 +30437,8 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs @@ -57828,9 +30450,10 @@ LTLIBOBJS=$ac_ltlibobjs ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -57840,17 +30463,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 debug=false ac_cs_recheck=false ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which @@ -57858,23 +30482,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in - *posix*) set -o posix ;; + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; esac - fi - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - as_nl=' ' export as_nl @@ -57882,7 +30498,13 @@ export as_nl as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else @@ -57893,7 +30515,7 @@ else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; - case $arg in + case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; @@ -57916,13 +30538,6 @@ if test "${PATH_SEPARATOR+set}" != set; then } fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - # IFS # We need space, tab and new line, in precisely that order. Quoting is @@ -57932,15 +30547,15 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. -case $0 in +case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done IFS=$as_save_IFS ;; @@ -57952,12 +30567,16 @@ if test "x$as_myself" = x; then fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } + exit 1 fi -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' @@ -57969,7 +30588,89 @@ export LC_ALL LANGUAGE=C export LANGUAGE -# Required to use basename. +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error ERROR [LINENO LOG_FD] +# --------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with status $?, using 1 if that was 0. +as_fn_error () +{ + as_status=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -57983,8 +30684,12 @@ else as_basename=false fi +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi -# Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ @@ -58004,76 +30709,25 @@ $as_echo X/"$0" | } s/.*/./; q'` -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in +case `echo -n x` in #((((( -n*) - case `echo 'x\c'` in + case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then @@ -58102,8 +30756,56 @@ fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + + +} # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then - as_mkdir_p=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false @@ -58122,10 +30824,10 @@ else if test -d "$1"; then test -d "$1/."; else - case $1 in + case $1 in #( -*)set "./$1";; esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' @@ -58140,13 +30842,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -# Save the log message, to keep $[0] and so on meaningful, and to +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.63. Invocation command line was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -58177,13 +30885,15 @@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. -Usage: $0 [OPTION]... [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit + --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files @@ -58199,16 +30909,17 @@ $config_files Configuration headers: $config_headers -Report bugs to ." +Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ asterisk config.status trunk -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" -Copyright (C) 2008 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -58243,6 +30954,8 @@ do ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) @@ -58250,20 +30963,19 @@ do case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; + as_fn_error "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ @@ -58271,11 +30983,10 @@ Try \`$0 --help' for more information." >&2 ac_cs_silent=: ;; # This is an error. - -*) { $as_echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; + -*) as_fn_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" + *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac @@ -58326,9 +31037,7 @@ do "makeopts") CONFIG_FILES="$CONFIG_FILES makeopts" ;; "channels/h323/Makefile") CONFIG_FILES="$CONFIG_FILES channels/h323/Makefile" ;; - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; + *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -58354,7 +31063,7 @@ $debug || trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. @@ -58365,11 +31074,7 @@ $debug || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -58377,10 +31082,16 @@ $debug || if test -n "$CONFIG_FILES"; then -ac_cr=' ' +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' + ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi @@ -58394,24 +31105,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -58433,7 +31138,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -58447,7 +31152,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -58500,9 +31205,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), @@ -58543,9 +31246,7 @@ for ac_last_try in false false :; do if test -z "$ac_t"; then break elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -58630,9 +31331,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -58645,9 +31344,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; + :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -58675,12 +31372,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; + as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - ac_file_inputs="$ac_file_inputs '$ac_f'" + as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -58691,7 +31386,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. @@ -58704,9 +31399,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -58734,47 +31427,7 @@ $as_echo X"$ac_file" | q } s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } + as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in @@ -58826,7 +31479,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= - ac_sed_dataroot=' /datarootdir/ { p @@ -58836,12 +31488,11 @@ ac_sed_dataroot=' /@docdir@/p /@infodir@/p /@localedir@/p -/@mandir@/p -' +/@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -58851,7 +31502,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; + s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF @@ -58879,14 +31530,12 @@ s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} @@ -58896,9 +31545,7 @@ which seems to be undefined. Please make sure it is defined." >&2;} -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -58909,25 +31556,19 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } + || as_fn_error "could not create -" "$LINENO" 5 fi ;; @@ -58937,15 +31578,12 @@ $as_echo "$as_me: error: could not create -" >&2;} done # for ac_tag -{ (exit 0); exit 0; } +as_fn_exit 0 _ACEOF -chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -58966,10 +31604,10 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi @@ -59010,17 +31648,17 @@ echo " \$\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$. " echo fi -{ $as_echo "$as_me:$LINENO: Package configured for: " >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: Package configured for: " >&5 $as_echo "$as_me: Package configured for: " >&6;} -{ $as_echo "$as_me:$LINENO: OS type : $host_os" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: OS type : $host_os" >&5 $as_echo "$as_me: OS type : $host_os" >&6;} -{ $as_echo "$as_me:$LINENO: Host CPU : $host_cpu" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: Host CPU : $host_cpu" >&5 $as_echo "$as_me: Host CPU : $host_cpu" >&6;} -{ $as_echo "$as_me:$LINENO: build-cpu:vendor:os: $build_cpu : $build_vendor : $build_os :" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: build-cpu:vendor:os: $build_cpu : $build_vendor : $build_os :" >&5 $as_echo "$as_me: build-cpu:vendor:os: $build_cpu : $build_vendor : $build_os :" >&6;} -{ $as_echo "$as_me:$LINENO: host-cpu:vendor:os: $host_cpu : $host_vendor : $host_os :" >&5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: host-cpu:vendor:os: $host_cpu : $host_vendor : $host_os :" >&5 $as_echo "$as_me: host-cpu:vendor:os: $host_cpu : $host_vendor : $host_os :" >&6;} if test "${cross_compiling}" = "yes"; then - { $as_echo "$as_me:$LINENO: Cross Compilation = YES" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: Cross Compilation = YES" >&5 $as_echo "$as_me: Cross Compilation = YES" >&6;} fi diff --git a/configure.ac b/configure.ac index d29486b817..f302088102 100644 --- a/configure.ac +++ b/configure.ac @@ -489,11 +489,12 @@ AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h libintl.h limits.h locale.h malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/event.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h termios.h unistd.h utime.h arpa/nameser.h sys/io.h]) -# Any one of these 4 packages support a mandatory requirement, so we want to check on them as early as possible. +# Any one of these 5 packages support a mandatory requirement, so we want to check on them as early as possible. AST_EXT_LIB_CHECK([TERMCAP], [termcap], [tgetent], []) AST_EXT_LIB_CHECK([TINFO], [tinfo], [tgetent], []) AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h]) AST_EXT_LIB_CHECK([NCURSES], [ncurses], [initscr], [curses.h]) +AST_EXT_LIB_CHECK([UUID], [uuid], [uuid_generate_random], [uuid.h], [-luuid]) EDITLINE_LIB="" if test "x$TERMCAP_LIB" != "x" ; then diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 984b378252..e6835a0304 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -848,19 +848,19 @@ /* Define to 1 if you have the `strtoq' function. */ #undef HAVE_STRTOQ -/* Define to 1 if `ifr_ifru.ifru_hwaddr' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_ifru.ifru_hwaddr' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR -/* Define to 1 if `uid' is member of `struct sockpeercred'. */ +/* Define to 1 if `uid' is a member of `struct sockpeercred'. */ #undef HAVE_STRUCT_SOCKPEERCRED_UID -/* Define to 1 if `st_blksize' is member of `struct stat'. */ +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BLKSIZE -/* Define to 1 if `cr_uid' is member of `struct ucred'. */ +/* Define to 1 if `cr_uid' is a member of `struct ucred'. */ #undef HAVE_STRUCT_UCRED_CR_UID -/* Define to 1 if `uid' is member of `struct ucred'. */ +/* Define to 1 if `uid' is a member of `struct ucred'. */ #undef HAVE_STRUCT_UCRED_UID /* Define to 1 if you have the mISDN Supplemental Services library. */ @@ -1138,6 +1138,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION diff --git a/include/asterisk/uuid.h b/include/asterisk/uuid.h new file mode 100644 index 0000000000..c10268d8c2 --- /dev/null +++ b/include/asterisk/uuid.h @@ -0,0 +1,107 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! \file + * \brief Universally unique identifier support + */ + +#ifndef _ASTERISK_UUID_H +#define _ASTERISK_UUID_H + +/* Size of an RFC 4122 UUID string plus terminating null byte */ +#define AST_UUID_STR_LEN 37 + +struct ast_uuid; + +/*! + * \brief Initialize the UUID system + */ +void ast_uuid_init(void); + +/*! + * \brief Generate a UUID + * + * This function allocates memory on the heap. The returned + * pointer must be freed using ast_free() + * + * \retval NULL Generation failed + * \retval non-NULL heap-allocated UUID + */ +struct ast_uuid *ast_uuid_generate(void); + +/*! + * \brief Convert a UUID to a string + * + * \param uuid The UUID to convert to a string + * \param[out] buf The buffer where the UUID string will be stored + * \param size The size of the buffer. Must be at least AST_UUID_STR_LEN. + * \returns The UUID string (a pointer to buf) + */ +char *ast_uuid_to_str(const struct ast_uuid *uuid, char *buf, size_t size); + +/*! + * \brief Convert a string to a UUID + * + * This function allocates memory on the heap. The returned + * pointer must be freed using ast_free() + * + * \param str The string to convert to a UUID + * \retval NULL Failed to convert + * \retval non-NULL The heap-allocated converted UUID + */ +struct ast_uuid *ast_str_to_uuid(const char *str); + +/*! + * \brief Make a copy of a UUID + * + * This function allocates memory on the heap. The returned + * pointer must be freed using ast_free() + * + * \param src The source UUID to copy + * \retval NULL Failed to copy + * \retval non-NULL The heap-allocated duplicate UUID + */ +struct ast_uuid *ast_uuid_copy(const struct ast_uuid *src); + +/*! + * \brief Compare two UUIDs + * + * \param left First UUID to compare + * \param right Second UUID to compare + * \retval <0 left is lexicographically less than right + * \retval 0 left and right are the same + * \retval >0 left is lexicographically greater than right + */ +int ast_uuid_compare(const struct ast_uuid *left, const struct ast_uuid *right); + +/*! + * \brief Clear a UUID by setting it to be a nil UUID (all 0s) + * + * \param uuid UUID to clear + */ +void ast_uuid_clear(struct ast_uuid *uuid); + +/*! + * \brief Check if a UUID is a nil UUID (all 0s) + * + * \param uuid UUID to check + * \retval 0 The UUID is not nil + * \retval non-zero The UUID is nil + */ +int ast_uuid_is_nil(const struct ast_uuid *uuid); +#endif diff --git a/main/Makefile b/main/Makefile index 55ffbf4207..2adc500fd0 100644 --- a/main/Makefile +++ b/main/Makefile @@ -43,7 +43,7 @@ ifneq ($(findstring $(OSARCH), linux-gnu uclinux linux-uclibc linux-gnueabi kfre ifneq (x$(CAP_LIB),x) AST_LIBS+=$(CAP_LIB) endif - AST_LIBS+=-lpthread $(EDITLINE_LIB) -lm -lresolv + AST_LIBS+=-lpthread $(EDITLINE_LIB) -lm -lresolv -luuid else AST_LIBS+=$(EDITLINE_LIB) -lm endif diff --git a/main/asterisk.c b/main/asterisk.c index 27145296ac..beaa1493c8 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -238,6 +238,7 @@ int daemon(int, int); /* defined in libresolv of all places */ #include "asterisk/rtp_engine.h" #include "asterisk/format.h" #include "asterisk/aoc.h" +#include "asterisk/uuid.h" #include "../defaults.h" @@ -4112,6 +4113,7 @@ int main(int argc, char *argv[]) } ast_aoc_cli_init(); + ast_uuid_init(); ast_makesocket(); sigemptyset(&sigs); diff --git a/main/udptl.c b/main/udptl.c index 4e48ac80ef..bc96790fdf 100644 --- a/main/udptl.c +++ b/main/udptl.c @@ -1471,9 +1471,13 @@ int ast_udptl_reload(void) return 0; } -/*! \internal \brief Clean up resources on Asterisk shutdown */ +/*! + * \internal + * \brief Clean up resources on Asterisk shutdown + */ static void udptl_shutdown(void) { + ast_cli_unregister_multiple(cli_udptl, ARRAY_LEN(cli_udptl)); ao2_t_global_obj_release(globals, "Unref udptl global container in shutdown"); aco_info_destroy(&cfg_info); } @@ -1509,9 +1513,9 @@ void ast_udptl_init(void) aco_option_register_custom(&cfg_info, "t38faxudpec", ACO_EXACT, general_options, NULL, removed_options_handler, 0); aco_option_register_custom(&cfg_info, "t38faxmaxdatagram", ACO_EXACT, general_options, NULL, removed_options_handler, 0); - ast_cli_register_multiple(cli_udptl, ARRAY_LEN(cli_udptl)); - __ast_udptl_reload(0); + ast_cli_register_multiple(cli_udptl, ARRAY_LEN(cli_udptl)); + ast_register_atexit(udptl_shutdown); } diff --git a/main/uuid.c b/main/uuid.c new file mode 100644 index 0000000000..46ac63d205 --- /dev/null +++ b/main/uuid.c @@ -0,0 +1,206 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! \file + * \brief Universally unique identifier support + */ + +#include "asterisk.h" +#include +#include + +#include "asterisk/uuid.h" +#include "asterisk/utils.h" +#include "asterisk/strings.h" +#include "asterisk/logger.h" +#include "asterisk/lock.h" + +AST_MUTEX_DEFINE_STATIC(uuid_lock); + +static int has_dev_urandom; + +struct ast_uuid { + uuid_t uu; +}; + +struct ast_uuid *ast_uuid_generate(void) +{ + struct ast_uuid *uuid = ast_malloc(sizeof(*uuid)); + + if (!uuid) { + return NULL; + } + /* libuuid provides three methods of generating uuids, + * uuid_generate(), uuid_generate_random(), and uuid_generate_time(). + * + * uuid_generate_random() creates a UUID based on random numbers. The method + * attempts to use either /dev/urandom or /dev/random to generate random values. + * If these resources are unavailable, then random numbers will be generated + * using C library calls to generate pseudorandom numbers. + * This method of generating UUIDs corresponds to section 4.4 of RFC 4122. + * + * uuid_generate_time() creates a UUID based on the current time plus + * a system identifier (MAC address of the ethernet interface). This + * method of generating UUIDs corresponds to section 4.2 of RFC 4122. + * + * uuid_generate() will check if /dev/urandom or /dev/random is available to + * use. If so, it will use uuid_generate_random(). Otherwise, it will use + * uuid_generate_time(). The idea is that it avoids using pseudorandom + * numbers if necessary. + * + * For our purposes, we do not use the time-based UUID at all. There are + * several reasons for this: + * + * 1) The time-based algorithm makes use of a daemon process (uuidd) in order + * to ensure that any concurrent requests for UUIDs result in unique results. + * Use of this daemon is a bit dodgy for a few reasons + * + * a) libuuid assumes a hardcoded location for the .pid file of the daemon. + * However, the daemon could already be running on the system in a different + * location than expected. If this is the case, then attempting to connect + * to the daemon will fail, and attempting to launch another instance in + * the expected location will also fail. + * + * b) If the daemon is not running, then the first attempt to create a + * time-based UUID will result in launching the daemon. Because of the hard- + * coded locations that libuuid assumes for the daemon, Asterisk must be + * run with permissions that will allow for the daemon to be launched in + * the expected directories. + * + * c) Once the daemon is running, concurrent requests for UUIDs are thread-safe. + * However, the actual launching of the daemon is not thread-safe since libuuid + * uses no synchronization primitives to ensure that only one thread (or process) + * launches the daemon. + * + * d) When libuuid launches the daemon, it sets an inactivity timer. + * If no UUID generation requests are issued in that time period, + * then the daemon will exit. If a new request should occur after the daemon + * exits, then the daemon will be relaunched. Given point c), we cannot + * necessarily guarantee the thread-safety of time-based UUID generation since + * we cannot necessarily guarantee the daemon is running as we expect. + * We could set up a watchdog thread to generate UUIDs at regular intervals to + * prevent the daemon from exiting, but frankly, that sucks. + * + * 2) Since the MAC address of the Ethernet interface is part of the UUID when + * using the time-based method, there is information leaked. + * + * Given these drawbacks, we stick to only using random UUIDs. The chance of /dev/random + * or /dev/urandom not existing on systems in this age is next to none. + */ + + /* XXX Currently, we only protect this call if the user has no /dev/urandon on their system. + * If it turns out that there are issues with UUID generation despite the presence of + * /dev/urandom, then we may need to make the locking/unlocking unconditional. + */ + if (!has_dev_urandom) { + ast_mutex_lock(&uuid_lock); + } + uuid_generate_random(uuid->uu); + if (!has_dev_urandom) { + ast_mutex_unlock(&uuid_lock); + } + return uuid; +} + +char *ast_uuid_to_str(const struct ast_uuid *uuid, char *buf, size_t size) +{ + ast_assert(size >= AST_UUID_STR_LEN); + uuid_unparse_lower(uuid->uu, buf); + return buf; +} + +struct ast_uuid *ast_str_to_uuid(const char *str) +{ + struct ast_uuid *uuid = ast_malloc(sizeof(*uuid)); + int res; + if (!uuid) { + return NULL; + } + res = uuid_parse(str, uuid->uu); + if (res) { + ast_log(LOG_WARNING, "Unable to convert string %s into a UUID\n", str); + ast_free(uuid); + return NULL; + } + return uuid; +} + +struct ast_uuid *ast_uuid_copy(const struct ast_uuid *src) +{ + struct ast_uuid *dst = ast_malloc(sizeof(*dst)); + if (!dst) { + return NULL; + } + uuid_copy(dst->uu, src->uu); + return dst; +} + +int ast_uuid_compare(const struct ast_uuid *left, const struct ast_uuid *right) +{ + return uuid_compare(left->uu, right->uu); +} + +void ast_uuid_clear(struct ast_uuid *uuid) +{ + uuid_clear(uuid->uu); +} + +int ast_uuid_is_nil(const struct ast_uuid *uuid) +{ + return uuid_is_null(uuid->uu); +} + +void ast_uuid_init(void) +{ + /* This requires some explanation. + * + * libuuid generates UUIDs based on random number generation. This involves + * opening a handle to /dev/urandom or /dev/random in order to get random + * data for the UUIDs. + * + * This is thread-safe, to a point. The problem is that the first attempt + * to generate a UUID will result in opening the random number handle. Once + * the handle is opened, all further generation is thread safe. This + * first generation can be potentially risky if multiple threads attempt + * to generate a UUID at the same time, though, since there is no thread + * synchronization used within libuuid. To get around this potential + * issue, we go ahead and generate a UUID up front so that the underlying + * work is done before we start requesting UUIDs for real. + * + * Think of this along the same lines as initializing a singleton. + */ + uuid_t uu; + int dev_urandom_fd; + + dev_urandom_fd = open("/dev/urandom", O_RDONLY); + if (dev_urandom_fd < 0) { + ast_log(LOG_WARNING, "It appears your system does not have /dev/urandom on it. This\n" + "means that UUID generation will use a pseudorandom number generator. Since\n" + "the thread-safety of your system's random number generator cannot\n" + "be guaranteed, we have to synchronize UUID generation. This may result\n" + "in decreased performance. It is highly recommended that you set up your\n" + "system to have /dev/urandom\n"); + } else { + has_dev_urandom = 1; + close(dev_urandom_fd); + } + uuid_generate_random(uu); + + ast_debug(1, "UUID system initiated\n"); + return; +} diff --git a/tests/test_uuid.c b/tests/test_uuid.c new file mode 100644 index 0000000000..a76ec8b393 --- /dev/null +++ b/tests/test_uuid.c @@ -0,0 +1,136 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2012, Digium, Inc. + * + * Mark Michelson + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! \file + * \brief Universally unique identifier tests + */ + +/*** MODULEINFO + TEST_FRAMEWORK + core + ***/ + +#include "asterisk.h" +#include "asterisk/test.h" +#include "asterisk/uuid.h" +#include "asterisk/module.h" + +AST_TEST_DEFINE(uuid) +{ + struct ast_uuid *uuid1 = NULL; + struct ast_uuid *uuid2 = NULL; + struct ast_uuid *uuid3 = NULL; + char uuid_str[AST_UUID_STR_LEN]; + enum ast_test_result_state res = AST_TEST_FAIL; + + switch (cmd) { + case TEST_INIT: + info->name = "uuid"; + info->category = "/main/uuid/"; + info->summary = "UUID unit test"; + info->description = + "This tests basic UUID operations to ensure they work properly"; + return AST_TEST_NOT_RUN; + case TEST_EXECUTE: + break; + } + + /* First, make sure that we can generate a UUID */ + uuid1 = ast_uuid_generate(); + if (!uuid1) { + ast_test_status_update(test, "Unable to generate a UUID\n"); + goto end; + } + + /* Make sure we're not generating nil UUIDs */ + if (ast_uuid_is_nil(uuid1)) { + ast_test_status_update(test, "We generated a nil UUID. Something is wrong\n"); + goto end; + } + + /* Convert it to a string */ + ast_uuid_to_str(uuid1, uuid_str, sizeof(uuid_str)); + + if (strlen(uuid_str) != (AST_UUID_STR_LEN - 1)) { + ast_test_status_update(test, "Failed to convert the UUID to a string\n"); + goto end; + } + + ast_test_status_update(test, "Converted uuid to string, got %s\n", uuid_str); + + /* Now convert the string back to a UUID */ + uuid2 = ast_str_to_uuid(uuid_str); + if (!uuid2) { + ast_test_status_update(test, "Unable to convert string %s to UUID\n", uuid_str); + goto end; + } + + /* Make sure the UUIDs are identical */ + if (ast_uuid_compare(uuid1, uuid2) != 0) { + ast_test_status_update(test, "UUIDs that should be identical are different\n"); + goto end; + } + + /* Try copying a UUID */ + uuid3 = ast_uuid_copy(uuid1); + if (!uuid3) { + ast_test_status_update(test, "Unable to copy UUID\n"); + goto end; + } + + /* Make sure copied UUIDs are identical */ + if (ast_uuid_compare(uuid1, uuid3) != 0) { + ast_test_status_update(test, "UUIDs that should be identical are different\n"); + goto end; + } + + if (ast_uuid_compare(uuid2, uuid3) != 0) { + ast_test_status_update(test, "UUIDs that should be identical are different\n"); + goto end; + } + + /* Clear a UUID and ensure that it registers as nil */ + ast_uuid_clear(uuid1); + + if (!ast_uuid_is_nil(uuid1)) { + ast_test_status_update(test, "UUID that was cleared does not appear to be nil\n"); + goto end; + } + + res = AST_TEST_PASS; + +end: + ast_free(uuid1); + ast_free(uuid2); + ast_free(uuid3); + return res; +} + +static int unload_module(void) +{ + AST_TEST_UNREGISTER(uuid); + return 0; +} + +static int load_module(void) +{ + AST_TEST_REGISTER(uuid); + return AST_MODULE_LOAD_SUCCESS; +} + +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "UUID test module"); From ece052a45b43394611f53d04e77d35fb7bfe9686 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 22:18:11 +0000 Subject: [PATCH 115/186] automerge cancel git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377887 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From 817a78075ae77180cb05932a67a882ca198ccb25 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Tue, 11 Dec 2012 22:25:21 +0000 Subject: [PATCH 116/186] Reset automerge property. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377903 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/aoc.c | 5 +++++ main/cel.c | 1 + main/channel.c | 2 ++ main/data.c | 2 ++ main/file.c | 6 ++++++ main/http.c | 6 ++++++ main/image.c | 6 ++++++ main/stun.c | 6 ++++++ main/timing.c | 10 ++++++++++ 9 files changed, 44 insertions(+) diff --git a/main/aoc.c b/main/aoc.c index 79978b1a5a..8a51509258 100644 --- a/main/aoc.c +++ b/main/aoc.c @@ -1605,7 +1605,12 @@ static struct ast_cli_entry aoc_cli[] = { AST_CLI_DEFINE(aoc_cli_debug_enable, "enable cli debugging of AOC messages"), }; +static void aoc_shutdown(void) +{ + ast_cli_unregister_multiple(aoc_cli, ARRAY_LEN(aoc_cli)); +} int ast_aoc_cli_init(void) { + ast_register_atexit(aoc_shutdown); return ast_cli_register_multiple(aoc_cli, ARRAY_LEN(aoc_cli)); } diff --git a/main/cel.c b/main/cel.c index 6af6174780..85e2967322 100644 --- a/main/cel.c +++ b/main/cel.c @@ -729,6 +729,7 @@ static void ast_cel_engine_term(void) ao2_ref(linkedids, -1); linkedids = NULL; } + ast_cli_unregister(&cli_status); } int ast_cel_engine_init(void) diff --git a/main/channel.c b/main/channel.c index 37fda09f1b..ce3a58ffdd 100644 --- a/main/channel.c +++ b/main/channel.c @@ -8620,9 +8620,11 @@ static void prnt_channel_key(void *v_obj, void *where, ao2_prnt_fn *prnt) static void channels_shutdown(void) { ast_data_unregister(NULL); + ast_cli_unregister_multiple(cli_channel, ARRAY_LEN(cli_channel)); if (channels) { ao2_container_unregister("channels"); ao2_ref(channels, -1); + channels = NULL; } } diff --git a/main/data.c b/main/data.c index 7a19b1f8f7..44ba390ad2 100644 --- a/main/data.c +++ b/main/data.c @@ -3318,7 +3318,9 @@ AST_TEST_DEFINE(test_data_get) static void data_shutdown(void) { ast_manager_unregister("DataGet"); + ast_cli_unregister_multiple(cli_data, ARRAY_LEN(cli_data)); ao2_t_ref(root_data.container, -1, "Unref root_data.container in data_shutdown"); + root_data.container = NULL; ast_rwlock_destroy(&root_data.lock); } diff --git a/main/file.c b/main/file.c index 915ed98d6f..db8fd5c02d 100644 --- a/main/file.c +++ b/main/file.c @@ -1583,8 +1583,14 @@ static struct ast_cli_entry cli_file[] = { AST_CLI_DEFINE(handle_cli_core_show_file_formats, "Displays file formats") }; +static void file_shutdown(void) +{ + ast_cli_unregister_multiple(cli_file, ARRAY_LEN(cli_file)); +} + int ast_file_init(void) { ast_cli_register_multiple(cli_file, ARRAY_LEN(cli_file)); + ast_register_atexit(file_shutdown); return 0; } diff --git a/main/http.c b/main/http.c index 62552529a9..44148edf8b 100644 --- a/main/http.c +++ b/main/http.c @@ -1203,11 +1203,17 @@ static struct ast_cli_entry cli_http[] = { AST_CLI_DEFINE(handle_show_http, "Display HTTP server status"), }; +static void http_shutdown(void) +{ + ast_cli_unregister_multiple(cli_http, ARRAY_LEN(cli_http)); +} + int ast_http_init(void) { ast_http_uri_link(&statusuri); ast_http_uri_link(&staticuri); ast_cli_register_multiple(cli_http, ARRAY_LEN(cli_http)); + ast_register_atexit(http_shutdown); return __ast_http_load(0); } diff --git a/main/image.c b/main/image.c index d3ca76f12f..08620d734c 100644 --- a/main/image.c +++ b/main/image.c @@ -206,8 +206,14 @@ static struct ast_cli_entry cli_image[] = { AST_CLI_DEFINE(handle_core_show_image_formats, "Displays image formats") }; +static void image_shutdown(void) +{ + ast_cli_unregister_multiple(cli_image, ARRAY_LEN(cli_image)); +} + int ast_image_init(void) { ast_cli_register_multiple(cli_image, ARRAY_LEN(cli_image)); + ast_register_atexit(image_shutdown); return 0; } diff --git a/main/stun.c b/main/stun.c index a41dbac100..3b4d2ad6b1 100644 --- a/main/stun.c +++ b/main/stun.c @@ -504,8 +504,14 @@ static struct ast_cli_entry cli_stun[] = { AST_CLI_DEFINE(handle_cli_stun_set_debug, "Enable/Disable STUN debugging"), }; +static void stun_shutdown(void) +{ + ast_cli_unregister_multiple(cli_stun, sizeof(cli_stun) / sizeof(struct ast_cli_entry)); +} + /*! \brief Initialize the STUN system in Asterisk */ void ast_stun_init(void) { ast_cli_register_multiple(cli_stun, sizeof(cli_stun) / sizeof(struct ast_cli_entry)); + ast_register_atexit(stun_shutdown); } diff --git a/main/timing.c b/main/timing.c index f2211d484d..84bff081bd 100644 --- a/main/timing.c +++ b/main/timing.c @@ -299,11 +299,21 @@ static struct ast_cli_entry cli_timing[] = { AST_CLI_DEFINE(timing_test, "Run a timing test"), }; +static void timing_shutdown(void) +{ + ast_cli_unregister_multiple(cli_timing, ARRAY_LEN(cli_timing)); + + ast_heap_destroy(timing_interfaces); + timing_interfaces = NULL; +} + int ast_timing_init(void) { if (!(timing_interfaces = ast_heap_create(2, timing_holder_cmp, 0))) { return -1; } + ast_register_atexit(timing_shutdown); + return ast_cli_register_multiple(cli_timing, ARRAY_LEN(cli_timing)); } From 686cdd0e79b01bfaf130389a1a948b2dc3d5efb0 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 11 Dec 2012 23:17:37 +0000 Subject: [PATCH 117/186] Merged revisions 377906 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r377906 | mmichelson | 2012-12-11 16:42:11 -0600 (Tue, 11 Dec 2012) | 3 lines Add test events necessary for bridging tests to be able to properly run. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377907 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/main/features.c b/main/features.c index 847b29ee61..12b89a12d6 100644 --- a/main/features.c +++ b/main/features.c @@ -3616,6 +3616,10 @@ static int feature_interpret_helper(struct ast_channel *chan, struct ast_channel res = AST_FEATURE_RETURN_SUCCESS; /* We found something */ } else if (operation == FEATURE_INTERPRET_DO) { res = builtin_features[x].operation(chan, peer, config, code, sense, NULL); + ast_test_suite_event_notify("FEATURE_DETECTION", + "Result: success\r\n" + "Feature: %s", + builtin_features[x].sname); } if (feature) { memcpy(feature, &builtin_features[x], sizeof(*feature)); @@ -3628,6 +3632,12 @@ static int feature_interpret_helper(struct ast_channel *chan, struct ast_channel } } } + + if (operation == FEATURE_INTERPRET_CHECK && x == FEATURES_COUNT) { + ast_test_suite_event_notify("FEATURE_DETECTION", + "Result: fail"); + } + ast_rwlock_unlock(&features_lock); if (ast_strlen_zero(dynamic_features_buf) || feature_detected) { From 7a7f9cba4324d576dfb59519915081793354ecd7 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 12 Dec 2012 00:17:36 +0000 Subject: [PATCH 118/186] Merged revisions 377911 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377911 | mmichelson | 2012-12-11 18:02:31 -0600 (Tue, 11 Dec 2012) | 22 lines Fix a potential deadlock in chan_sip during transfers. The issue comes from the fact that transfers may perform a redirecting update on a channel. The issue is that lock inversion between the channel and its tech_pvt occurs since the channel lock is released during the transfer process. The fix is to move when the redirecting update occurs to a place where neither the tech_pvt or the channel is locked so that the two can be locked in the proper order. (closes issue ASTERISK-20708) reported by Mark Michelson patches: ASTERISK-20708-3.patch uploaded by Mark Michelson (License #5049) Tested by: Tim Ringenbach at Asteria Solutions Group ........ Merged revisions 377910 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377912 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index fa70dc807c..793e141794 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -26331,6 +26331,24 @@ static int handle_request_refer(struct sip_pvt *p, struct sip_request *req, uint if (!ast_strlen_zero(referred_by)) { pbx_builtin_setvar_helper(current.chan2, "_SIPTRANSFER_REFERER", referred_by); } + + /* When a call is transferred to voicemail from a Digium phone, there may be + * a Diversion header present in the REFER with an appropriate reason parameter + * set. We need to update the redirecting information appropriately. + */ + ast_channel_lock(p->owner); + sip_pvt_lock(p); + ast_party_redirecting_init(&redirecting); + memset(&update_redirecting, 0, sizeof(update_redirecting)); + change_redirecting_information(p, req, &redirecting, &update_redirecting, FALSE); + + /* Do not hold the pvt lock during a call that causes an indicate or an async_goto. + * Those functions lock channels which will invalidate locking order if the pvt lock + * is held.*/ + sip_pvt_unlock(p); + ast_channel_unlock(p->owner); + ast_channel_update_redirecting(current.chan2, &redirecting, &update_redirecting); + ast_party_redirecting_free(&redirecting); } sip_pvt_lock(p); @@ -26378,20 +26396,7 @@ static int handle_request_refer(struct sip_pvt *p, struct sip_request *req, uint } ast_set_flag(&p->flags[0], SIP_DEFER_BYE_ON_TRANSFER); /* Delay hangup */ - /* When a call is transferred to voicemail from a Digium phone, there may be - * a Diversion header present in the REFER with an appropriate reason parameter - * set. We need to update the redirecting information appropriately. - */ - ast_party_redirecting_init(&redirecting); - memset(&update_redirecting, 0, sizeof(update_redirecting)); - change_redirecting_information(p, req, &redirecting, &update_redirecting, FALSE); - - /* Do not hold the pvt lock during a call that causes an indicate or an async_goto. - * Those functions lock channels which will invalidate locking order if the pvt lock - * is held.*/ sip_pvt_unlock(p); - ast_channel_update_redirecting(current.chan2, &redirecting, &update_redirecting); - ast_party_redirecting_free(&redirecting); /* For blind transfers, move the call to the new extensions. For attended transfers on multiple * servers - generate an INVITE with Replaces. Either way, let the dial plan decided From 57d2e81d78da4e2087f46da770c241d671d8cfbf Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 12 Dec 2012 05:17:36 +0000 Subject: [PATCH 119/186] Merged revisions 377915 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r377915 | elguero | 2012-12-11 22:43:18 -0600 (Tue, 11 Dec 2012) | 17 lines Convert Dynamic Features Buffer To Use ast_str Currently, the buffer for the dynamic features list is set to a fixed size of 128. If the list is bigger than that, it results in the dynamic feature(s) not being recognized. This patch changes the buffer from a fixed size to a dynamic one. (closes issue ASTERISK-20680) Reported by: Clod Patry Tested by: Michael L. Young Patches: asterisk-20680-dynamic-features-v2.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2221/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377916 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/main/features.c b/main/features.c index 12b89a12d6..a4977f2586 100644 --- a/main/features.c +++ b/main/features.c @@ -3581,7 +3581,7 @@ static int remap_feature(const char *name, const char *value) * \retval -1 on failure. */ static int feature_interpret_helper(struct ast_channel *chan, struct ast_channel *peer, - struct ast_bridge_config *config, const char *code, int sense, char *dynamic_features_buf, + struct ast_bridge_config *config, const char *code, int sense, const struct ast_str *dynamic_features_buf, struct ast_flags *features, feature_interpret_op operation, struct ast_call_feature *feature) { int x; @@ -3640,11 +3640,13 @@ static int feature_interpret_helper(struct ast_channel *chan, struct ast_channel ast_rwlock_unlock(&features_lock); - if (ast_strlen_zero(dynamic_features_buf) || feature_detected) { + ast_assert(dynamic_features_buf != NULL); + + if (!ast_str_strlen(dynamic_features_buf) || feature_detected) { return res; } - tmp = dynamic_features_buf; + tmp = ast_str_buffer(dynamic_features_buf); while ((tok = strsep(&tmp, "#"))) { AST_RWLIST_RDLOCK(&feature_groups); @@ -3717,10 +3719,12 @@ static int feature_interpret_helper(struct ast_channel *chan, struct ast_channel */ static int feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, const char *code, int sense) { - char dynamic_features_buf[128]; + struct ast_str *dynamic_features_buf; const char *peer_dynamic_features, *chan_dynamic_features; struct ast_flags features; struct ast_call_feature feature; + int res; + if (sense == FEATURE_SENSE_CHAN) { /* Coverity - This uninit_use should be ignored since this macro initializes the flags */ ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL); @@ -3738,11 +3742,19 @@ static int feature_interpret(struct ast_channel *chan, struct ast_channel *peer, chan_dynamic_features = ast_strdupa(S_OR(pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES"),"")); ast_channel_unlock(chan); - snprintf(dynamic_features_buf, sizeof(dynamic_features_buf), "%s%s%s", S_OR(chan_dynamic_features, ""), chan_dynamic_features && peer_dynamic_features ? "#" : "", S_OR(peer_dynamic_features,"")); + if (!(dynamic_features_buf = ast_str_create(128))) { + return AST_FEATURE_RETURN_PASSDIGITS; + } - ast_debug(3, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d, dynamic=%s\n", ast_channel_name(chan), ast_channel_name(peer), code, sense, features.flags, dynamic_features_buf); + ast_str_set(&dynamic_features_buf, 0, "%s%s%s", S_OR(chan_dynamic_features, ""), chan_dynamic_features && peer_dynamic_features ? "#" : "", S_OR(peer_dynamic_features,"")); - return feature_interpret_helper(chan, peer, config, code, sense, dynamic_features_buf, &features, FEATURE_INTERPRET_DO, &feature); + ast_debug(3, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d, dynamic=%s\n", ast_channel_name(chan), ast_channel_name(peer), code, sense, features.flags, ast_str_buffer(dynamic_features_buf)); + + res = feature_interpret_helper(chan, peer, config, code, sense, dynamic_features_buf, &features, FEATURE_INTERPRET_DO, &feature); + + ast_free(dynamic_features_buf); + + return res; } @@ -3753,12 +3765,21 @@ int ast_feature_detect(struct ast_channel *chan, struct ast_flags *features, con /*! \brief Check if a feature exists */ static int feature_check(struct ast_channel *chan, struct ast_flags *features, char *code) { - char *chan_dynamic_features; + struct ast_str *chan_dynamic_features; + int res; + + if (!(chan_dynamic_features = ast_str_create(128))) { + return AST_FEATURE_RETURN_PASSDIGITS; + } ast_channel_lock(chan); - chan_dynamic_features = ast_strdupa(S_OR(pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES"),"")); + ast_str_set(&chan_dynamic_features, 0, "%s", S_OR(pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES"),"")); ast_channel_unlock(chan); - return feature_interpret_helper(chan, NULL, NULL, code, 0, chan_dynamic_features, features, FEATURE_INTERPRET_CHECK, NULL); + res = feature_interpret_helper(chan, NULL, NULL, code, 0, chan_dynamic_features, features, FEATURE_INTERPRET_CHECK, NULL); + + ast_free(chan_dynamic_features); + + return res; } static void set_config_flags(struct ast_channel *chan, struct ast_bridge_config *config) From bc90f6a9d9ce39deff1e8cb940bfbf088c3b50bb Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 12 Dec 2012 23:18:09 +0000 Subject: [PATCH 120/186] Merged revisions 377925 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377925 | newtonr | 2012-12-12 16:43:40 -0600 (Wed, 12 Dec 2012) | 18 lines Incremented EXTRA_SOUNDS_VERSION in sounds/Makefile to 1.4.12 for new Extra Sounds releases See CHANGES-* files in English extra 1.4.12 tarballs for new sound prompts added. (closes ASTERISK-20328) Reported by: Matt Jordan (closes AST-755) Reported by: John Bigelow ........ Merged revisions 377922 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377923 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377924 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377928 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- sounds/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sounds/Makefile b/sounds/Makefile index af811bc391..4f753eb729 100644 --- a/sounds/Makefile +++ b/sounds/Makefile @@ -20,7 +20,7 @@ SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds SOUNDS_CACHE_DIR?= MOH_DIR:=$(DESTDIR)$(ASTDATADIR)/moh CORE_SOUNDS_VERSION:=1.4.22 -EXTRA_SOUNDS_VERSION:=1.4.11 +EXTRA_SOUNDS_VERSION:=1.4.12 MOH_VERSION:=2.03 SOUNDS_URL:=http://downloads.asterisk.org/pub/telephony/sounds/releases MCS:=$(subst -EN-,-en-,$(MENUSELECT_CORE_SOUNDS)) From 90c7ab4814ea6c1c087aadcb5661cf2c1abd94dc Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 15:17:41 +0000 Subject: [PATCH 121/186] Merged revisions 377966 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377966 | kmoore | 2012-12-13 08:28:57 -0600 (Thu, 13 Dec 2012) | 23 lines Ensure Min-SE is included in outbound INVITEs Asterisk now includes Min-SE in outbound INVITEs when the value is not 90 (the default) and session timers are not disabled. This has the effect of Asterisk following RFC4028 more closely with regard to 422 responses and preventing situations in which Asterisk would be forced to temporarily accept a call to tear it down based on a Session-Expires below the locally configured Min-SE. (issue SWP-5051) Review: https://reviewboard.asterisk.org/r/2222/ Reported-by: Kinsey Moore Patch-by: Kinsey Moore ........ Merged revisions 377946 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 377947 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377948 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377968 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 793e141794..9d5d638ad7 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -14052,7 +14052,9 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init, } /* Add Session-Timers related headers */ - if (st_get_mode(p, 0) == SESSION_TIMER_MODE_ORIGINATE) { + if (st_get_mode(p, 0) == SESSION_TIMER_MODE_ORIGINATE + || (st_get_mode(p, 0) == SESSION_TIMER_MODE_ACCEPT + && st_get_se(p, FALSE) != DEFAULT_MIN_SE)) { char i2astr[10]; if (!p->stimer->st_interval) { @@ -14060,9 +14062,11 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init, } p->stimer->st_active = TRUE; - - snprintf(i2astr, sizeof(i2astr), "%d", p->stimer->st_interval); - add_header(&req, "Session-Expires", i2astr); + if (st_get_mode(p, 0) == SESSION_TIMER_MODE_ORIGINATE) { + snprintf(i2astr, sizeof(i2astr), "%d", p->stimer->st_interval); + add_header(&req, "Session-Expires", i2astr); + } + snprintf(i2astr, sizeof(i2astr), "%d", st_get_se(p, FALSE)); add_header(&req, "Min-SE", i2astr); } @@ -29147,7 +29151,10 @@ static void proc_422_rsp(struct sip_pvt *p, struct sip_request *rsp) ast_log(LOG_WARNING, "Parsing of Min-SE header failed %s\n", p_hdrval); return; } - p->stimer->st_interval = minse; + p->stimer->st_cached_min_se = minse; + if (p->stimer->st_interval < minse) { + p->stimer->st_interval = minse; + } transmit_invite(p, SIP_INVITE, 1, 2, NULL); } @@ -30730,8 +30737,8 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str ast_log(LOG_WARNING, "Invalid session-minse '%s' at line %d of %s\n", v->value, v->lineno, config); peer->stimer.st_min_se = global_min_se; } - if (peer->stimer.st_min_se < 90) { - ast_log(LOG_WARNING, "session-minse '%s' at line %d of %s is not allowed to be < 90 secs\n", v->value, v->lineno, config); + if (peer->stimer.st_min_se < DEFAULT_MIN_SE) { + ast_log(LOG_WARNING, "session-minse '%s' at line %d of %s is not allowed to be < %d secs\n", v->value, v->lineno, config, DEFAULT_MIN_SE); peer->stimer.st_min_se = global_min_se; } } else if (!strcasecmp(v->name, "session-refresher")) { @@ -31826,8 +31833,8 @@ static int reload_config(enum channelreloadreason reason) ast_log(LOG_WARNING, "Invalid session-minse '%s' at line %d of %s\n", v->value, v->lineno, config); global_min_se = DEFAULT_MIN_SE; } - if (global_min_se < 90) { - ast_log(LOG_WARNING, "session-minse '%s' at line %d of %s is not allowed to be < 90 secs\n", v->value, v->lineno, config); + if (global_min_se < DEFAULT_MIN_SE) { + ast_log(LOG_WARNING, "session-minse '%s' at line %d of %s is not allowed to be < %d secs\n", v->value, v->lineno, config, DEFAULT_MIN_SE); global_min_se = DEFAULT_MIN_SE; } } else if (!strcasecmp(v->name, "session-refresher")) { From 7b5f4748fb368d81d588ae61a54d7a37c2f906ee Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 16:17:38 +0000 Subject: [PATCH 122/186] automerge cancel git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377976 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From ece4c957988c3926f679f805294072c31de59bda Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 13 Dec 2012 16:39:40 +0000 Subject: [PATCH 123/186] Resolve conflict and reset automerge. git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377980 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 11 +- channels/sip/include/sip.h | 3 +- configs/sip.conf.sample | 2 + configure | 1886 ++++++++++++++---------------- configure.ac | 7 +- include/asterisk/autoconfig.h.in | 3 - main/taskprocessor.c | 7 +- main/utils.c | 10 +- res/res_calendar_exchange.c | 33 +- res/res_clialiases.c | 5 +- 10 files changed, 936 insertions(+), 1031 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9d5d638ad7..22a3457675 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -13167,10 +13167,11 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int - Then other codecs in capabilities, including video */ - /* Prefer the audio codec we were requested to use, first, no matter what - Note that p->prefcodec can include video codecs, so mask them out - */ - if (ast_format_cap_has_joint(tmpcap, p->prefcaps)) { + + /* Unless otherwise configured, the prefcaps is added before the peer's + * configured codecs. + */ + if (!ast_test_flag(&p->flags[2], SIP_PAGE3_IGNORE_PREFCAPS) && ast_format_cap_has_joint(tmpcap, p->prefcaps)) { ast_format_cap_iter_start(p->prefcaps); while (!(ast_format_cap_iter_next(p->prefcaps, &tmp_fmt))) { if (AST_FORMAT_GET_TYPE(tmp_fmt.id) != AST_FORMAT_TYPE_AUDIO) { @@ -30766,6 +30767,8 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_USE_AVPF); } else if (!strcasecmp(v->name, "icesupport")) { ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_ICE_SUPPORT); + } else if (!strcasecmp(v->name, "ignore_requested_pref")) { + ast_set2_flag(&peer->flags[2], ast_true(v->value), SIP_PAGE3_IGNORE_PREFCAPS); } else { ast_rtp_dtls_cfg_parse(&peer->dtls_cfg, v->name, v->value); } diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h index 7f907c6e5e..9a818553b4 100644 --- a/channels/sip/include/sip.h +++ b/channels/sip/include/sip.h @@ -373,10 +373,11 @@ #define SIP_PAGE3_DIRECT_MEDIA_OUTGOING (1 << 4) /*!< DP: Only send direct media reinvites on outgoing calls */ #define SIP_PAGE3_USE_AVPF (1 << 5) /*!< DGP: Support a minimal AVPF-compatible profile */ #define SIP_PAGE3_ICE_SUPPORT (1 << 6) /*!< DGP: Enable ICE support */ +#define SIP_PAGE3_IGNORE_PREFCAPS (1 << 7) /*!< DP: Ignore prefcaps when setting up an outgoing call leg */ #define SIP_PAGE3_FLAGS_TO_COPY \ (SIP_PAGE3_SNOM_AOC | SIP_PAGE3_SRTP_TAG_32 | SIP_PAGE3_NAT_AUTO_RPORT | SIP_PAGE3_NAT_AUTO_COMEDIA | \ - SIP_PAGE3_DIRECT_MEDIA_OUTGOING | SIP_PAGE3_USE_AVPF | SIP_PAGE3_ICE_SUPPORT) + SIP_PAGE3_DIRECT_MEDIA_OUTGOING | SIP_PAGE3_USE_AVPF | SIP_PAGE3_ICE_SUPPORT | SIP_PAGE3_IGNORE_PREFCAPS ) #define CHECK_AUTH_BUF_INITLEN 256 diff --git a/configs/sip.conf.sample b/configs/sip.conf.sample index bbd2af8df4..90b8abe5f1 100644 --- a/configs/sip.conf.sample +++ b/configs/sip.conf.sample @@ -1259,6 +1259,8 @@ srvlookup=yes ; Enable DNS SRV lookups on outbound calls ; dtlscafile ; dtlscapath ; dtlssetup +; ignore_requested_pref ; Ignore the requested codec and determine the preferred codec +; ; from the peer's configuration. ; ;------------------------------------------------------------------------------ diff --git a/configure b/configure index 5f5143d6f3..fe2c345ab8 100755 --- a/configure +++ b/configure @@ -1,14 +1,14 @@ #! /bin/sh -# From configure.ac Revision: 375192 . +# From configure.ac Revision: 377972 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for asterisk trunk. +# Generated by GNU Autoconf 2.68 for asterisk trunk. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -94,6 +94,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -219,11 +220,18 @@ IFS=$as_save_IFS # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : @@ -322,7 +330,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -362,19 +370,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -536,7 +544,7 @@ test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -649,6 +657,8 @@ ILBC_CFLAGS ILBC_INTERNAL GSM_INTERNAL PBX_DAHDI_HALF_FULL +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH PKG_CONFIG PBX_DLADDR PBX_IP_MTU_DISCOVER @@ -1282,6 +1292,8 @@ CXXFLAGS CCC CXXCPP PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR ILBC_CFLAGS ILBC_LIBS LIBEDIT_CFLAGS @@ -1352,8 +1364,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -1398,7 +1411,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1424,7 +1437,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1628,7 +1641,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1644,7 +1657,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1674,8 +1687,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1683,7 +1696,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1693,7 +1706,7 @@ Try \`$0 --help' for more information." $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1701,13 +1714,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1730,7 +1743,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1744,8 +1757,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1760,9 +1773,9 @@ test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1801,11 +1814,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1845,7 +1858,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -2006,6 +2019,10 @@ Some influential environment variables: CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path ILBC_CFLAGS C compiler flags for ILBC, overriding pkg-config ILBC_LIBS linker flags for ILBC, overriding pkg-config LIBEDIT_CFLAGS @@ -2085,9 +2102,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF asterisk configure trunk -generated by GNU Autoconf 2.65 +generated by GNU Autoconf 2.68 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -2133,7 +2150,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -2159,7 +2176,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -2170,7 +2187,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -2183,10 +2200,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2222,7 +2239,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2245,17 +2262,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ------------------------------------------ ## +( $as_echo "## ------------------------------------------ ## ## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX +## ------------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2264,7 +2279,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel @@ -2305,7 +2320,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -2319,7 +2334,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2337,7 +2352,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -2374,7 +2389,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile @@ -2400,7 +2415,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : @@ -2411,7 +2426,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp @@ -2457,7 +2472,7 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -2470,7 +2485,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2525,7 +2540,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func @@ -2538,7 +2553,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2579,7 +2594,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type @@ -2592,7 +2607,7 @@ ac_fn_c_check_member () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } -if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2636,7 +2651,7 @@ fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member @@ -2813,7 +2828,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ rm -f conftest.val fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_compute_int @@ -2826,10 +2841,10 @@ rm -f conftest.val ac_fn_cxx_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -2865,7 +2880,7 @@ if ac_fn_cxx_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -2888,17 +2903,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ------------------------------------------ ## +( $as_echo "## ------------------------------------------ ## ## Report this to https://issues.asterisk.org ## -## ------------------------------------------ ## -_ASBOX +## ------------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -2907,7 +2920,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_mongrel @@ -2952,7 +2965,7 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link @@ -2966,7 +2979,7 @@ ac_fn_cxx_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2984,7 +2997,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_compile cat >config.log <<_ACEOF @@ -2992,7 +3005,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3102,11 +3115,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -3140,11 +3151,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -3157,11 +3166,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -3175,11 +3182,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -3234,7 +3239,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -3249,7 +3259,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -3329,7 +3343,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -3346,16 +3360,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # cross-compile macros ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -3369,27 +3389,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -3407,14 +3427,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : +if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -3422,7 +3442,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3444,16 +3464,22 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac ac_aux_dir= for ac_dir in `pwd` "$srcdir"/`pwd`; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi done if test -z "$ac_aux_dir"; then - as_fn_error "cannot find install-sh, install.sh, or shtool in \`pwd\` \"$srcdir\"/\`pwd\`" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \`pwd\` \"$srcdir\"/\`pwd\`" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -3499,7 +3525,7 @@ if test -n "$ac_tool_prefix"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3543,7 +3569,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3595,8 +3621,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3710,9 +3736,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3754,8 +3779,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3812,9 +3837,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi @@ -3825,7 +3850,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3865,8 +3890,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3876,7 +3901,7 @@ OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3913,7 +3938,7 @@ ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -3991,7 +4016,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -4100,7 +4125,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -4130,7 +4155,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4146,11 +4171,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -4189,7 +4214,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4205,18 +4230,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -4228,7 +4253,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -4277,7 +4302,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4291,7 +4316,7 @@ $as_echo "$ac_cv_path_GREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -4343,7 +4368,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4358,7 +4383,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4475,8 +4500,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4488,7 +4512,7 @@ done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : +if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= @@ -4510,7 +4534,7 @@ $as_echo "#define _MINIX 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4706,7 +4730,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}uname; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_UNAME+set}" = set; then : +if ${ac_cv_path_UNAME+:} false; then : $as_echo_n "(cached) " >&6 else case $UNAME in @@ -4749,7 +4773,7 @@ if test -z "$ac_cv_path_UNAME"; then set dummy uname; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_UNAME+set}" = set; then : +if ${ac_cv_path_ac_pt_UNAME+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_UNAME in @@ -4816,7 +4840,7 @@ then set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -4856,7 +4880,7 @@ if test -z "$ac_cv_prog_CC"; then set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -4908,7 +4932,7 @@ fi set dummy ${ac_tool_prefix}g++; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -4948,7 +4972,7 @@ if test -z "$ac_cv_prog_CXX"; then set dummy g++; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -5000,7 +5024,7 @@ fi set dummy ${ac_tool_prefix}ld; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LD+set}" = set; then : +if ${ac_cv_prog_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LD"; then @@ -5040,7 +5064,7 @@ if test -z "$ac_cv_prog_LD"; then set dummy ld; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LD+set}" = set; then : +if ${ac_cv_prog_ac_ct_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LD"; then @@ -5092,7 +5116,7 @@ fi set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -5132,7 +5156,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -5198,7 +5222,7 @@ if test -z "$CXX"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then @@ -5242,7 +5266,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then @@ -5320,7 +5344,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : +if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5357,7 +5381,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : +if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag @@ -5451,7 +5475,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -5481,7 +5505,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5497,11 +5521,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -5540,7 +5564,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5556,18 +5580,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -5584,7 +5608,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then : + if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded @@ -5614,7 +5638,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5630,11 +5654,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -5673,7 +5697,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -5689,18 +5713,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -5713,7 +5737,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # the developers regenerating the configure script don't have to install libtool. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -5768,7 +5792,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -5782,7 +5806,7 @@ $as_echo "$ac_cv_path_SED" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_prog_egrep+set}" = set; then : +if ${ac_cv_prog_egrep+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 @@ -5842,7 +5866,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then : +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -5879,10 +5903,10 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : +if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -5906,7 +5930,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -5959,7 +5983,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -6051,7 +6075,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6091,7 +6115,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -6140,7 +6164,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU make" >&5 $as_echo_n "checking for GNU make... " >&6; } -if test "${ac_cv_GNU_MAKE+set}" = set; then : +if ${ac_cv_GNU_MAKE+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_GNU_MAKE='Not Found' ; @@ -6160,7 +6184,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_GNU_MAKE" >&5 $as_echo "$ac_cv_GNU_MAKE" >&6; } ; if test "x$ac_cv_GNU_MAKE" = "xNot Found" ; then - as_fn_error "*** Please install GNU make. It is required to build Asterisk!" "$LINENO" 5 + as_fn_error $? "*** Please install GNU make. It is required to build Asterisk!" "$LINENO" 5 exit 1 fi GNU_MAKE=$ac_cv_GNU_MAKE @@ -6168,7 +6192,7 @@ GNU_MAKE=$ac_cv_GNU_MAKE { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -6220,7 +6244,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -6241,7 +6265,7 @@ if test -n "$ac_tool_prefix"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -6285,7 +6309,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -6341,7 +6365,7 @@ if test -n "$ac_tool_prefix"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AR+set}" = set; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -6385,7 +6409,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -6445,7 +6469,7 @@ fi set dummy bison; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BISON+set}" = set; then : +if ${ac_cv_path_BISON+:} false; then : $as_echo_n "(cached) " >&6 else case $BISON in @@ -6486,7 +6510,7 @@ fi set dummy cmp; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CMP+set}" = set; then : +if ${ac_cv_path_CMP+:} false; then : $as_echo_n "(cached) " >&6 else case $CMP in @@ -6527,7 +6551,7 @@ fi set dummy flex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FLEX+set}" = set; then : +if ${ac_cv_path_FLEX+:} false; then : $as_echo_n "(cached) " >&6 else case $FLEX in @@ -6568,7 +6592,7 @@ fi set dummy grep; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else case $GREP in @@ -6609,7 +6633,7 @@ fi set dummy python; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PYTHON+set}" = set; then : +if ${ac_cv_path_PYTHON+:} false; then : $as_echo_n "(cached) " >&6 else case $PYTHON in @@ -6650,7 +6674,7 @@ fi set dummy find; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FIND+set}" = set; then : +if ${ac_cv_path_FIND+:} false; then : $as_echo_n "(cached) " >&6 else case $FIND in @@ -6691,7 +6715,7 @@ fi set dummy compress; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_COMPRESS+set}" = set; then : +if ${ac_cv_path_COMPRESS+:} false; then : $as_echo_n "(cached) " >&6 else case $COMPRESS in @@ -6732,7 +6756,7 @@ fi set dummy basename; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BASENAME+set}" = set; then : +if ${ac_cv_path_BASENAME+:} false; then : $as_echo_n "(cached) " >&6 else case $BASENAME in @@ -6773,7 +6797,7 @@ fi set dummy dirname; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DIRNAME+set}" = set; then : +if ${ac_cv_path_DIRNAME+:} false; then : $as_echo_n "(cached) " >&6 else case $DIRNAME in @@ -6814,7 +6838,7 @@ fi set dummy sh; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SHELL+set}" = set; then : +if ${ac_cv_path_SHELL+:} false; then : $as_echo_n "(cached) " >&6 else case $SHELL in @@ -6855,7 +6879,7 @@ fi set dummy ln; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LN+set}" = set; then : +if ${ac_cv_path_LN+:} false; then : $as_echo_n "(cached) " >&6 else case $LN in @@ -6896,7 +6920,7 @@ fi set dummy doxygen; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DOXYGEN+set}" = set; then : +if ${ac_cv_path_DOXYGEN+:} false; then : $as_echo_n "(cached) " >&6 else case $DOXYGEN in @@ -6937,7 +6961,7 @@ fi set dummy dot; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_DOT+set}" = set; then : +if ${ac_cv_path_DOT+:} false; then : $as_echo_n "(cached) " >&6 else case $DOT in @@ -6978,7 +7002,7 @@ fi set dummy wget; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_WGET+set}" = set; then : +if ${ac_cv_path_WGET+:} false; then : $as_echo_n "(cached) " >&6 else case $WGET in @@ -7019,7 +7043,7 @@ fi set dummy curl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CURL+set}" = set; then : +if ${ac_cv_path_CURL+:} false; then : $as_echo_n "(cached) " >&6 else case $CURL in @@ -7060,7 +7084,7 @@ fi set dummy rubber; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_RUBBER+set}" = set; then : +if ${ac_cv_path_RUBBER+:} false; then : $as_echo_n "(cached) " >&6 else case $RUBBER in @@ -7101,7 +7125,7 @@ fi set dummy catdvi; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CATDVI+set}" = set; then : +if ${ac_cv_path_CATDVI+:} false; then : $as_echo_n "(cached) " >&6 else case $CATDVI in @@ -7142,7 +7166,7 @@ fi set dummy kpsewhich; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_KPATHSEA+set}" = set; then : +if ${ac_cv_path_KPATHSEA+:} false; then : $as_echo_n "(cached) " >&6 else case $KPATHSEA in @@ -7183,7 +7207,7 @@ fi set dummy xmllint; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XMLLINT+set}" = set; then : +if ${ac_cv_path_XMLLINT+:} false; then : $as_echo_n "(cached) " >&6 else case $XMLLINT in @@ -7224,7 +7248,7 @@ fi set dummy xmlstarlet; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XMLSTARLET+set}" = set; then : +if ${ac_cv_path_XMLSTARLET+:} false; then : $as_echo_n "(cached) " >&6 else case $XMLSTARLET in @@ -7265,7 +7289,7 @@ fi set dummy git; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GIT+set}" = set; then : +if ${ac_cv_path_GIT+:} false; then : $as_echo_n "(cached) " >&6 else case $GIT in @@ -7311,7 +7335,7 @@ else set dummy fetch; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_FETCH+set}" = set; then : +if ${ac_cv_path_FETCH+:} false; then : $as_echo_n "(cached) " >&6 else case $FETCH in @@ -7356,7 +7380,7 @@ fi set dummy ldconfig; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_LDCONFIG+set}" = set; then : +if ${ac_cv_path_LDCONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $LDCONFIG in @@ -7397,7 +7421,7 @@ fi set dummy sha1sum; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_SHA1SUM+set}" = set; then : +if ${ac_cv_path_SHA1SUM+:} false; then : $as_echo_n "(cached) " >&6 else case $SHA1SUM in @@ -7438,7 +7462,7 @@ fi set dummy openssl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_OPENSSL+set}" = set; then : +if ${ac_cv_path_OPENSSL+:} false; then : $as_echo_n "(cached) " >&6 else case $OPENSSL in @@ -7478,7 +7502,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bison that supports parse-param" >&5 $as_echo_n "checking for bison that supports parse-param... " >&6; } -if test "${ac_cv_path_BISON2+set}" = set; then : +if ${ac_cv_path_BISON2+:} false; then : $as_echo_n "(cached) " >&6 else @@ -7532,7 +7556,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}soxmix; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_SOXMIX+set}" = set; then : +if ${ac_cv_prog_SOXMIX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$SOXMIX"; then @@ -7572,7 +7596,7 @@ if test -z "$ac_cv_prog_SOXMIX"; then set dummy soxmix; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_SOXMIX+set}" = set; then : +if ${ac_cv_prog_ac_ct_SOXMIX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_SOXMIX"; then @@ -7631,7 +7655,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_MD5+set}" = set; then : +if ${ac_cv_prog_MD5+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MD5"; then @@ -7797,7 +7821,7 @@ $as_echo_n "checking whether pthreads work with $flag... " >&6; } set dummy pthread-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_acx_pthread_config+set}" = set; then : +if ${ac_cv_prog_acx_pthread_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$acx_pthread_config"; then @@ -7953,7 +7977,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then : +if ${ac_cv_prog_PTHREAD_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then @@ -8039,7 +8063,7 @@ if test "${enable_dev_mode+set}" = set; then : AST_DEVMODE=yes AST_DEVMODE_STRICT=yes ;; - *) as_fn_error "bad value ${enableval} for --enable-dev-mode" "$LINENO" 5 ;; + *) as_fn_error $? "bad value ${enableval} for --enable-dev-mode" "$LINENO" 5 ;; esac fi @@ -8053,7 +8077,7 @@ if test "${enable_coverage+set}" = set; then : enableval=$enable_coverage; case "${enableval}" in y|ye|yes) AST_CODE_COVERAGE=yes ;; n|no) AST_CODE_COVERAGE=no ;; - *) as_fn_error "bad value ${enableval} for --enable-coverage" "$LINENO" 5 ;; + *) as_fn_error $? "bad value ${enableval} for --enable-coverage" "$LINENO" 5 ;; esac fi @@ -8966,7 +8990,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -9014,7 +9038,7 @@ done set dummy curl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path__libcurl_config+set}" = set; then : +if ${ac_cv_path__libcurl_config+:} false; then : $as_echo_n "(cached) " >&6 else case $_libcurl_config in @@ -9056,7 +9080,7 @@ fi set dummy curl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path__libcurl_config+set}" = set; then : +if ${ac_cv_path__libcurl_config+:} false; then : $as_echo_n "(cached) " >&6 else case $_libcurl_config in @@ -9097,7 +9121,7 @@ fi if test x$_libcurl_config != "x" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the version of libcurl" >&5 $as_echo_n "checking for the version of libcurl... " >&6; } -if test "${libcurl_cv_lib_curl_version+set}" = set; then : +if ${libcurl_cv_lib_curl_version+:} false; then : $as_echo_n "(cached) " >&6 else libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $2}'` @@ -9111,7 +9135,7 @@ $as_echo "$libcurl_cv_lib_curl_version" >&6; } if test $_libcurl_wanted -gt 0 ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcurl >= version 7.10.1" >&5 $as_echo_n "checking for libcurl >= version 7.10.1... " >&6; } -if test "${libcurl_cv_lib_version_ok+set}" = set; then : +if ${libcurl_cv_lib_version_ok+:} false; then : $as_echo_n "(cached) " >&6 else @@ -9165,7 +9189,7 @@ $as_echo "$libcurl_cv_lib_version_ok" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether libcurl is usable" >&5 $as_echo_n "checking whether libcurl is usable... " >&6; } -if test "${libcurl_cv_lib_curl_usable+set}" = set; then : +if ${libcurl_cv_lib_curl_usable+:} false; then : $as_echo_n "(cached) " >&6 else @@ -9224,7 +9248,7 @@ $as_echo "$libcurl_cv_lib_curl_usable" >&6; } LIBS="$LIBS $CURL_LIB" ac_fn_c_check_func "$LINENO" "curl_free" "ac_cv_func_curl_free" -if test "x$ac_cv_func_curl_free" = x""yes; then : +if test "x$ac_cv_func_curl_free" = xyes; then : else @@ -11016,11 +11040,22 @@ fi # check for basic system features and functionality before # checking for package libraries +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then : +if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11053,7 +11088,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then : +if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11072,7 +11107,7 @@ else #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); +void *alloca (size_t); # endif # endif # endif @@ -11116,7 +11151,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then : +if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11143,8 +11178,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -11158,7 +11192,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then : +if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -11211,7 +11245,7 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11238,8 +11272,7 @@ fi eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF @@ -11252,7 +11285,7 @@ done if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -11286,11 +11319,11 @@ for ac_lib in '' dir; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then : + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no @@ -11309,7 +11342,7 @@ fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -11343,11 +11376,11 @@ for ac_lib in '' x; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_opendir+set}" = set; then : + if ${ac_cv_search_opendir+:} false; then : break fi done -if test "${ac_cv_search_opendir+set}" = set; then : +if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no @@ -11367,7 +11400,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11479,7 +11512,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then : +if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11522,8 +11555,7 @@ for ac_header in arpa/inet.h fcntl.h inttypes.h libintl.h limits.h locale.h mall do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -11554,7 +11586,7 @@ if test "x${PBX_TERMCAP}" != "x1" -a "${USE_TERMCAP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_termcap_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltermcap" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltermcap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11589,8 +11621,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_TERMCAP_FOUND=yes else AST_TERMCAP_FOUND=no @@ -11613,7 +11644,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TERMCAP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" -if test "x$ac_cv_header_" = x""yes; then : +if test "x$ac_cv_header_" = xyes; then : TERMCAP_HEADER_FOUND=1 else TERMCAP_HEADER_FOUND=0 @@ -11659,7 +11690,7 @@ if test "x${PBX_TINFO}" != "x1" -a "${USE_TINFO}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_tinfo_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltinfo" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltinfo... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11694,8 +11725,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_TINFO_FOUND=yes else AST_TINFO_FOUND=no @@ -11718,7 +11748,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TINFO_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" -if test "x$ac_cv_header_" = x""yes; then : +if test "x$ac_cv_header_" = xyes; then : TINFO_HEADER_FOUND=1 else TINFO_HEADER_FOUND=0 @@ -11764,7 +11794,7 @@ if test "x${PBX_CURSES}" != "x1" -a "${USE_CURSES}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_curses_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcurses" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcurses... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11799,8 +11829,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_CURSES_FOUND=yes else AST_CURSES_FOUND=no @@ -11823,7 +11852,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CURSES_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" -if test "x$ac_cv_header_curses_h" = x""yes; then : +if test "x$ac_cv_header_curses_h" = xyes; then : CURSES_HEADER_FOUND=1 else CURSES_HEADER_FOUND=0 @@ -11869,7 +11898,7 @@ if test "x${PBX_NCURSES}" != "x1" -a "${USE_NCURSES}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ncurses_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lncurses" >&5 $as_echo_n "checking for ${pbxfuncname} in -lncurses... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11904,8 +11933,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_NCURSES_FOUND=yes else AST_NCURSES_FOUND=no @@ -11928,7 +11956,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NCURSES_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default" -if test "x$ac_cv_header_curses_h" = x""yes; then : +if test "x$ac_cv_header_curses_h" = xyes; then : NCURSES_HEADER_FOUND=1 else NCURSES_HEADER_FOUND=0 @@ -11974,7 +12002,7 @@ if test "x${PBX_UUID}" != "x1" -a "${USE_UUID}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_uuid_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -luuid" >&5 $as_echo_n "checking for ${pbxfuncname} in -luuid... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -12009,8 +12037,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_UUID_FOUND=yes else AST_UUID_FOUND=no @@ -12027,13 +12054,13 @@ fi UUID_INCLUDE="-I${UUID_DIR}/include" fi UUID_INCLUDE="${UUID_INCLUDE} " - if test "xuuid.h" = "x" ; then # no header, assume found + if test "xuuid/uuid.h" = "x" ; then # no header, assume found UUID_HEADER_FOUND="1" else # check for the header ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${UUID_INCLUDE}" - ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default" -if test "x$ac_cv_header_uuid_h" = x""yes; then : + ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" +if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : UUID_HEADER_FOUND=1 else UUID_HEADER_FOUND=0 @@ -12070,7 +12097,7 @@ elif test "x$CURSES_LIB" != "x" ; then elif test "x$NCURSES_LIB" != "x" ; then EDITLINE_LIB="$NCURSES_LIB" else - as_fn_error "*** termcap support not found (on modern systems, this typically means the ncurses development package is missing)" "$LINENO" 5 + as_fn_error $? "*** termcap support not found (on modern systems, this typically means the ncurses development package is missing)" "$LINENO" 5 fi @@ -12080,7 +12107,7 @@ if test "${enable_xmldoc+set}" = set; then : enableval=$enable_xmldoc; case "${enableval}" in y|ye|yes) disable_xmldoc=no ;; n|no) disable_xmldoc=yes ;; - *) as_fn_error "bad value ${enableval} for --disable-xmldoc" "$LINENO" 5 ;; + *) as_fn_error $? "bad value ${enableval} for --disable-xmldoc" "$LINENO" 5 ;; esac else disable_xmldoc=no @@ -12096,7 +12123,7 @@ if test "${disable_xmldoc}" != "yes"; then set dummy ${ac_tool_prefix}xml2-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_LIBXML2+set}" = set; then : +if ${ac_cv_path_CONFIG_LIBXML2+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_LIBXML2 in @@ -12140,7 +12167,7 @@ if test -z "$ac_cv_path_CONFIG_LIBXML2"; then set dummy xml2-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_LIBXML2+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_LIBXML2+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_LIBXML2 in @@ -12255,7 +12282,7 @@ fi for ac_header in xlocale.h do : ac_fn_c_check_header_mongrel "$LINENO" "xlocale.h" "ac_cv_header_xlocale_h" "$ac_includes_default" -if test "x$ac_cv_header_xlocale_h" = x""yes; then : +if test "x$ac_cv_header_xlocale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_XLOCALE_H 1 _ACEOF @@ -12269,8 +12296,7 @@ for ac_header in winsock.h winsock2.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -12281,7 +12307,7 @@ done ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_poll_h" = x""yes; then : +if test "x$ac_cv_header_sys_poll_h" = xyes; then : else @@ -12300,7 +12326,7 @@ if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then : +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no @@ -12351,7 +12377,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then : +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -12420,7 +12446,7 @@ rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then : +if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -12493,7 +12519,7 @@ fi # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : +if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12525,7 +12551,7 @@ else char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; + /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; @@ -12536,25 +12562,6 @@ else _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -# if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a runtime - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -# endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html @@ -12566,6 +12573,7 @@ int main () { + bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ @@ -12586,7 +12594,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : +if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 @@ -12603,7 +12611,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12683,7 +12691,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if test "${ac_cv_type_uid_t+set}" = set; then : +if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12713,7 +12721,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then : +if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no @@ -12756,7 +12764,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5 $as_echo_n "checking for long double with more range or precision than double... " >&6; } -if test "${ac_cv_type_long_double_wider+set}" = set; then : +if ${ac_cv_type_long_double_wider+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12805,7 +12813,7 @@ $as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" -if test "x$ac_cv_type_mode_t" = x""yes; then : +if test "x$ac_cv_type_mode_t" = xyes; then : else @@ -12816,7 +12824,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = x""yes; then : +if test "x$ac_cv_type_off_t" = xyes; then : else @@ -12827,7 +12835,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = x""yes; then : +if test "x$ac_cv_type_pid_t" = xyes; then : else @@ -12838,7 +12846,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : +if test "x$ac_cv_type_size_t" = xyes; then : else @@ -12849,7 +12857,7 @@ _ACEOF fi ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then : +if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 @@ -12861,7 +12869,7 @@ fi ac_fn_c_check_member "$LINENO" "struct ucred" "uid" "ac_cv_member_struct_ucred_uid" "#include #include " -if test "x$ac_cv_member_struct_ucred_uid" = x""yes; then : +if test "x$ac_cv_member_struct_ucred_uid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UCRED_UID 1 @@ -12872,7 +12880,7 @@ fi ac_fn_c_check_member "$LINENO" "struct ucred" "cr_uid" "ac_cv_member_struct_ucred_cr_uid" "#include #include " -if test "x$ac_cv_member_struct_ucred_cr_uid" = x""yes; then : +if test "x$ac_cv_member_struct_ucred_cr_uid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_UCRED_CR_UID 1 @@ -12883,7 +12891,7 @@ fi ac_fn_c_check_member "$LINENO" "struct sockpeercred" "uid" "ac_cv_member_struct_sockpeercred_uid" "#include #include " -if test "x$ac_cv_member_struct_sockpeercred_uid" = x""yes; then : +if test "x$ac_cv_member_struct_sockpeercred_uid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKPEERCRED_UID 1 @@ -12894,7 +12902,7 @@ fi ac_fn_c_check_member "$LINENO" "struct ifreq" "ifr_ifru.ifru_hwaddr" "ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" "#include " -if test "x$ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" = x""yes; then : +if test "x$ac_cv_member_struct_ifreq_ifr_ifru_ifru_hwaddr" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR 1 @@ -12905,7 +12913,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then : +if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12940,7 +12948,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then : +if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12975,7 +12983,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } -if test "${ac_cv_c_volatile+set}" = set; then : +if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13008,7 +13016,7 @@ $as_echo "#define volatile /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" -if test "x$ac_cv_type_ptrdiff_t" = x""yes; then : +if test "x$ac_cv_type_ptrdiff_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTRDIFF_T 1 @@ -13022,7 +13030,7 @@ fi for ac_header in unistd.h do : ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" -if test "x$ac_cv_header_unistd_h" = x""yes; then : +if test "x$ac_cv_header_unistd_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNISTD_H 1 _ACEOF @@ -13033,7 +13041,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 $as_echo_n "checking for working chown... " >&6; } -if test "${ac_cv_func_chown_works+set}" = set; then : +if ${ac_cv_func_chown_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13086,7 +13094,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 $as_echo_n "checking whether closedir returns void... " >&6; } -if test "${ac_cv_func_closedir_void+set}" = set; then : +if ${ac_cv_func_closedir_void+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13128,7 +13136,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 $as_echo_n "checking for error_at_line... " >&6; } -if test "${ac_cv_lib_error_at_line+set}" = set; then : +if ${ac_cv_lib_error_at_line+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13164,7 +13172,7 @@ fi for ac_header in vfork.h do : ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" -if test "x$ac_cv_header_vfork_h" = x""yes; then : +if test "x$ac_cv_header_vfork_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VFORK_H 1 _ACEOF @@ -13177,8 +13185,7 @@ for ac_func in fork vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -13189,7 +13196,7 @@ done if test "x$ac_cv_func_fork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } -if test "${ac_cv_func_fork_works+set}" = set; then : +if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13242,7 +13249,7 @@ ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } -if test "${ac_cv_func_vfork_works+set}" = set; then : +if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13379,7 +13386,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then : +if ${ac_cv_sys_largefile_source+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -13448,7 +13455,7 @@ fi if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then : +if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" @@ -13493,7 +13500,7 @@ fi # AC_FUNC_REALLOC { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 $as_echo_n "checking for working memcmp... " >&6; } -if test "${ac_cv_func_memcmp_working+set}" = set; then : +if ${ac_cv_func_memcmp_working+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13561,8 +13568,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -13581,7 +13587,7 @@ done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" -if test "x$ac_cv_func_getpagesize" = x""yes; then : +if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF @@ -13591,7 +13597,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then : +if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13759,8 +13765,7 @@ for ac_header in sys/select.h sys/socket.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -13771,7 +13776,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for select" >&5 $as_echo_n "checking types of arguments for select... " >&6; } -if test "${ac_cv_func_select_args+set}" = set; then : +if ${ac_cv_func_select_args+:} false; then : $as_echo_n "(cached) " >&6 else for ac_arg234 in 'fd_set *' 'int *' 'void *'; do @@ -13805,7 +13810,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done done # Provide a safe default value. -: ${ac_cv_func_select_args='int,int *,struct timeval *'} +: "${ac_cv_func_select_args=int,int *,struct timeval *}" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_select_args" >&5 @@ -13831,7 +13836,7 @@ _ACEOF rm -f conftest* -if test "${ac_cv_func_setvbuf_reversed+set}" = set; then : +if ${ac_cv_func_setvbuf_reversed+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_func_setvbuf_reversed=no @@ -13840,7 +13845,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } -if test "${ac_cv_type_signal+set}" = set; then : +if ${ac_cv_type_signal+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -13873,7 +13878,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then : +if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file @@ -13935,7 +13940,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 $as_echo_n "checking whether stat accepts an empty string... " >&6; } -if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then : +if ${ac_cv_func_stat_empty_string_bug+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -13981,7 +13986,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5 $as_echo_n "checking for working strcoll... " >&6; } -if test "${ac_cv_func_strcoll_works+set}" = set; then : +if ${ac_cv_func_strcoll_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -14021,7 +14026,7 @@ fi for ac_func in strftime do : ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime" -if test "x$ac_cv_func_strftime" = x""yes; then : +if test "x$ac_cv_func_strftime" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRFTIME 1 _ACEOF @@ -14030,7 +14035,7 @@ else # strftime is in -lintl on SCO UNIX. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5 $as_echo_n "checking for strftime in -lintl... " >&6; } -if test "${ac_cv_lib_intl_strftime+set}" = set; then : +if ${ac_cv_lib_intl_strftime+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14064,7 +14069,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5 $as_echo "$ac_cv_lib_intl_strftime" >&6; } -if test "x$ac_cv_lib_intl_strftime" = x""yes; then : +if test "x$ac_cv_lib_intl_strftime" = xyes; then : $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h LIBS="-lintl $LIBS" @@ -14073,13 +14078,17 @@ fi fi done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnlen" >&5 $as_echo_n "checking for working strnlen... " >&6; } -if test "${ac_cv_func_strnlen_working+set}" = set; then : +if ${ac_cv_func_strnlen_working+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - ac_cv_func_strnlen_working=no + # Guess no on AIX systems, yes otherwise. + case "$host_os" in + aix*) ac_cv_func_strnlen_working=no;; + *) ac_cv_func_strnlen_working=yes;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14128,7 +14137,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strtod" >&5 $as_echo_n "checking for working strtod... " >&6; } -if test "${ac_cv_func_strtod+set}" = set; then : +if ${ac_cv_func_strtod+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -14187,14 +14196,14 @@ if test $ac_cv_func_strtod = no; then esac ac_fn_c_check_func "$LINENO" "pow" "ac_cv_func_pow" -if test "x$ac_cv_func_pow" = x""yes; then : +if test "x$ac_cv_func_pow" = xyes; then : fi if test $ac_cv_func_pow = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 $as_echo_n "checking for pow in -lm... " >&6; } -if test "${ac_cv_lib_m_pow+set}" = set; then : +if ${ac_cv_lib_m_pow+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14228,7 +14237,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_pow" >&5 $as_echo "$ac_cv_lib_m_pow" >&6; } -if test "x$ac_cv_lib_m_pow" = x""yes; then : +if test "x$ac_cv_lib_m_pow" = xyes; then : POW_LIB=-lm else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find library containing definition of pow" >&5 @@ -14244,7 +14253,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utime accepts a null argument" >&5 $as_echo_n "checking whether utime accepts a null argument... " >&6; } -if test "${ac_cv_func_utime_null+set}" = set; then : +if ${ac_cv_func_utime_null+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.data; >conftest.data @@ -14294,13 +14303,13 @@ rm -f conftest.data for ac_func in vprintf do : ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" -if test "x$ac_cv_func_vprintf" = x""yes; then : +if test "x$ac_cv_func_vprintf" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VPRINTF 1 _ACEOF ac_fn_c_check_func "$LINENO" "_doprnt" "ac_cv_func__doprnt" -if test "x$ac_cv_func__doprnt" = x""yes; then : +if test "x$ac_cv_func__doprnt" = xyes; then : $as_echo "#define HAVE_DOPRNT 1" >>confdefs.h @@ -14314,8 +14323,7 @@ for ac_func in asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14328,7 +14336,7 @@ done # so that AC_CHECK_FUNCS can detect functions in that library. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5 $as_echo_n "checking for sqrt in -lm... " >&6; } -if test "${ac_cv_lib_m_sqrt+set}" = set; then : +if ${ac_cv_lib_m_sqrt+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -14362,7 +14370,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrt" >&5 $as_echo "$ac_cv_lib_m_sqrt" >&6; } -if test "x$ac_cv_lib_m_sqrt" = x""yes; then : +if test "x$ac_cv_lib_m_sqrt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -14376,8 +14384,7 @@ for ac_func in exp2 log2 exp10 log10 sin cos tan asin acos atan atan2 pow rint e do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14393,8 +14400,7 @@ if test "x${ac_cv_type_long_double_wider}" = "xyes" ; then do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14495,7 +14501,7 @@ LDFLAGS=${old_LDFLAGS} rm -f conftest.dynamics ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_poll_h" = x""yes; then : +if test "x$ac_cv_header_sys_poll_h" = xyes; then : HAS_POLL=1 $as_echo "#define HAVE_SYS_POLL_H 1" >>confdefs.h @@ -14509,7 +14515,7 @@ if test "${enable_internal_poll+set}" = set; then : enableval=$enable_internal_poll; case "${enableval}" in y|ye|yes) HAS_POLL="";; n|no) HAS_POLL="${HAS_POLL}" ;; - *) as_fn_error "bad value ${enableval} for --enable-internal-poll" "$LINENO" 5 ;; + *) as_fn_error $? "bad value ${enableval} for --enable-internal-poll" "$LINENO" 5 ;; esac fi @@ -14520,7 +14526,7 @@ if test "${enable_asteriskssl+set}" = set; then : enableval=$enable_asteriskssl; case "${enableval}" in y|ye|yes) AST_ASTERISKSSL=yes ;; n|no) AST_ASTERISKSSL=no ;; - *) as_fn_error "bad value ${enableval} for --disable-asteriskssl" "$LINENO" 5 ;; + *) as_fn_error $? "bad value ${enableval} for --disable-asteriskssl" "$LINENO" 5 ;; esac else AST_ASTERISKSSL=yes @@ -14534,8 +14540,7 @@ for ac_func in funopen fopencookie do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -14547,7 +14552,7 @@ done for ac_func in inet_aton do : ac_fn_c_check_func "$LINENO" "inet_aton" "ac_cv_func_inet_aton" -if test "x$ac_cv_func_inet_aton" = x""yes; then : +if test "x$ac_cv_func_inet_aton" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INET_ATON 1 _ACEOF @@ -14587,7 +14592,7 @@ rm -f core conftest.err conftest.$ac_objext \ # some systems already have gethostbyname_r so we don't need to build ours in main/utils.c { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname_r" >&5 $as_echo_n "checking for library containing gethostbyname_r... " >&6; } -if test "${ac_cv_search_gethostbyname_r+set}" = set; then : +if ${ac_cv_search_gethostbyname_r+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -14621,11 +14626,11 @@ for ac_lib in '' socket nsl; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_gethostbyname_r+set}" = set; then : + if ${ac_cv_search_gethostbyname_r+:} false; then : break fi done -if test "${ac_cv_search_gethostbyname_r+set}" = set; then : +if ${ac_cv_search_gethostbyname_r+:} false; then : else ac_cv_search_gethostbyname_r=no @@ -14699,7 +14704,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_fn_c_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default" -if test "x$ac_cv_header_byteswap_h" = x""yes; then : +if test "x$ac_cv_header_byteswap_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BYTESWAP_H 1 @@ -14763,31 +14768,6 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -if test "${cross_compiling}" = "no"; -then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 -$as_echo_n "checking for /dev/urandom... " >&6; } -if test "${ac_cv_file__dev_urandom+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - test "$cross_compiling" = yes && - as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 -if test -r "/dev/urandom"; then - ac_cv_file__dev_urandom=yes -else - ac_cv_file__dev_urandom=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 -$as_echo "$ac_cv_file__dev_urandom" >&6; } -if test "x$ac_cv_file__dev_urandom" = x""yes; then : - -$as_echo "#define HAVE_DEV_URANDOM 1" >>confdefs.h - -fi - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for locale_t in locale.h" >&5 $as_echo_n "checking for locale_t in locale.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15177,7 +15157,7 @@ rm -f core conftest.err conftest.$ac_objext \ for ac_header in sys/thr.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/thr.h" "ac_cv_header_sys_thr_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_thr_h" = x""yes; then : +if test "x$ac_cv_header_sys_thr_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_THR_H 1 _ACEOF @@ -15309,8 +15289,8 @@ if test "${ac_cv_have_variable_fdset}x" = "0x"; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run test program while cross compiling -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -16377,7 +16357,7 @@ rm -f core conftest.err conftest.$ac_objext \ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_ninit" >&5 $as_echo_n "checking for library containing res_9_ninit... " >&6; } -if test "${ac_cv_search_res_9_ninit+set}" = set; then : +if ${ac_cv_search_res_9_ninit+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -16411,11 +16391,11 @@ for ac_lib in '' resolv; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_res_9_ninit+set}" = set; then : + if ${ac_cv_search_res_9_ninit+:} false; then : break fi done -if test "${ac_cv_search_res_9_ninit+set}" = set; then : +if ${ac_cv_search_res_9_ninit+:} false; then : else ac_cv_search_res_9_ninit=no @@ -16462,7 +16442,7 @@ $as_echo "#define HAVE_RES_NINIT 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_ndestroy" >&5 $as_echo_n "checking for library containing res_9_ndestroy... " >&6; } -if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : +if ${ac_cv_search_res_9_ndestroy+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -16496,11 +16476,11 @@ for ac_lib in '' resolv; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : + if ${ac_cv_search_res_9_ndestroy+:} false; then : break fi done -if test "${ac_cv_search_res_9_ndestroy+set}" = set; then : +if ${ac_cv_search_res_9_ndestroy+:} false; then : else ac_cv_search_res_9_ndestroy=no @@ -16554,7 +16534,7 @@ rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_9_close" >&5 $as_echo_n "checking for library containing res_9_close... " >&6; } -if test "${ac_cv_search_res_9_close+set}" = set; then : +if ${ac_cv_search_res_9_close+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -16588,11 +16568,11 @@ for ac_lib in '' resolv; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_res_9_close+set}" = set; then : + if ${ac_cv_search_res_9_close+:} false; then : break fi done -if test "${ac_cv_search_res_9_close+set}" = set; then : +if ${ac_cv_search_res_9_close+:} false; then : else ac_cv_search_res_9_close=no @@ -16794,7 +16774,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_fn_c_check_header_mongrel "$LINENO" "libkern/OSAtomic.h" "ac_cv_header_libkern_OSAtomic_h" "$ac_includes_default" -if test "x$ac_cv_header_libkern_OSAtomic_h" = x""yes; then : +if test "x$ac_cv_header_libkern_OSAtomic_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_OSX_ATOMICS 1 @@ -16810,7 +16790,7 @@ fi # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } -if test "${ac_cv_sizeof_int+set}" = set; then : +if ${ac_cv_sizeof_int+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : @@ -16819,9 +16799,8 @@ else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (int) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_int=0 fi @@ -16844,7 +16823,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then : +if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : @@ -16853,9 +16832,8 @@ else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi @@ -16878,7 +16856,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } -if test "${ac_cv_sizeof_long_long+set}" = set; then : +if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : @@ -16887,9 +16865,8 @@ else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long long) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (long long) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_long=0 fi @@ -16912,7 +16889,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char *" >&5 $as_echo_n "checking size of char *... " >&6; } -if test "${ac_cv_sizeof_char_p+set}" = set; then : +if ${ac_cv_sizeof_char_p+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char *))" "ac_cv_sizeof_char_p" "$ac_includes_default"; then : @@ -16921,9 +16898,8 @@ else if test "$ac_cv_type_char_p" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (char *) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (char *) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_char_p=0 fi @@ -16946,7 +16922,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } -if test "${ac_cv_sizeof_long+set}" = set; then : +if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : @@ -16955,9 +16931,8 @@ else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi @@ -16980,7 +16955,7 @@ _ACEOF # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } -if test "${ac_cv_sizeof_long_long+set}" = set; then : +if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : @@ -16989,9 +16964,8 @@ else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long long) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (long long) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_long=0 fi @@ -17021,7 +16995,7 @@ fi # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of fd_set.fds_bits" >&5 $as_echo_n "checking size of fd_set.fds_bits... " >&6; } -if test "${ac_cv_sizeof_fd_set_fds_bits+set}" = set; then : +if ${ac_cv_sizeof_fd_set_fds_bits+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (fd_set.fds_bits))" "ac_cv_sizeof_fd_set_fds_bits" "$ac_includes_default"; then : @@ -17030,9 +17004,8 @@ else if test "$ac_cv_type_fd_set_fds_bits" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (fd_set.fds_bits) -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "cannot compute sizeof (fd_set.fds_bits) +See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_fd_set_fds_bits=0 fi @@ -17105,13 +17078,17 @@ LIBS=${old_LIBS} # PKGCONFIG is used in later tests + + + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : +if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in @@ -17154,7 +17131,7 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in @@ -17217,7 +17194,6 @@ $as_echo "yes" >&6; } $as_echo "no" >&6; } PKG_CONFIG="" fi - fi @@ -17243,7 +17219,7 @@ if test "x${PBX_ALSA}" != "x1" -a "${USE_ALSA}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_asound_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lasound" >&5 $as_echo_n "checking for ${pbxfuncname} in -lasound... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -17278,8 +17254,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ALSA_FOUND=yes else AST_ALSA_FOUND=no @@ -17302,7 +17277,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ALSA_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "alsa/asoundlib.h" "ac_cv_header_alsa_asoundlib_h" "$ac_includes_default" -if test "x$ac_cv_header_alsa_asoundlib_h" = x""yes; then : +if test "x$ac_cv_header_alsa_asoundlib_h" = xyes; then : ALSA_HEADER_FOUND=1 else ALSA_HEADER_FOUND=0 @@ -17349,7 +17324,7 @@ if test "x${PBX_BFD}" != "x1" -a "${USE_BFD}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_bfd_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbfd" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbfd... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -17384,8 +17359,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_BFD_FOUND=yes else AST_BFD_FOUND=no @@ -17408,7 +17382,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BFD_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default" -if test "x$ac_cv_header_bfd_h" = x""yes; then : +if test "x$ac_cv_header_bfd_h" = xyes; then : BFD_HEADER_FOUND=1 else BFD_HEADER_FOUND=0 @@ -17457,7 +17431,7 @@ if test "x${PBX_BFD}" != "x1" -a "${USE_BFD}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_bfd_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbfd" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbfd... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -17492,8 +17466,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_BFD_FOUND=yes else AST_BFD_FOUND=no @@ -17516,7 +17489,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BFD_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default" -if test "x$ac_cv_header_bfd_h" = x""yes; then : +if test "x$ac_cv_header_bfd_h" = xyes; then : BFD_HEADER_FOUND=1 else BFD_HEADER_FOUND=0 @@ -17565,7 +17538,7 @@ if test "x${PBX_CAP}" != "x1" -a "${USE_CAP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_cap_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcap" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -17600,8 +17573,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_CAP_FOUND=yes else AST_CAP_FOUND=no @@ -17624,7 +17596,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CAP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_capability_h" = x""yes; then : +if test "x$ac_cv_header_sys_capability_h" = xyes; then : CAP_HEADER_FOUND=1 else CAP_HEADER_FOUND=0 @@ -18047,7 +18019,7 @@ if test "${USE_GSM}" != "no"; then fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gsm_create in -lgsm" >&5 $as_echo_n "checking for gsm_create in -lgsm... " >&6; } -if test "${ac_cv_lib_gsm_gsm_create+set}" = set; then : +if ${ac_cv_lib_gsm_gsm_create+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18081,7 +18053,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gsm_gsm_create" >&5 $as_echo "$ac_cv_lib_gsm_gsm_create" >&6; } -if test "x$ac_cv_lib_gsm_gsm_create" = x""yes; then : +if test "x$ac_cv_lib_gsm_gsm_create" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GSM 1 @@ -18093,8 +18065,7 @@ fi if test "x${GSM_DIR}" != "x" ; then as_ac_Header=`$as_echo "ac_cv_header_${GSM_DIR}/include/gsm.h" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "${GSM_DIR}/include/gsm.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : GSM_HEADER_FOUND=1 else GSM_HEADER_FOUND=0 @@ -18103,8 +18074,7 @@ fi as_ac_Header=`$as_echo "ac_cv_header_${GSM_DIR}/include/gsm/gsm.h" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "${GSM_DIR}/include/gsm/gsm.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : GSM_GSM_HEADER_FOUND=1 else GSM_GSM_HEADER_FOUND=0 @@ -18113,7 +18083,7 @@ fi else ac_fn_c_check_header_mongrel "$LINENO" "gsm.h" "ac_cv_header_gsm_h" "$ac_includes_default" -if test "x$ac_cv_header_gsm_h" = x""yes; then : +if test "x$ac_cv_header_gsm_h" = xyes; then : GSM_HEADER_FOUND=1 else GSM_HEADER_FOUND=0 @@ -18121,7 +18091,7 @@ fi ac_fn_c_check_header_mongrel "$LINENO" "gsm/gsm.h" "ac_cv_header_gsm_gsm_h" "$ac_includes_default" -if test "x$ac_cv_header_gsm_gsm_h" = x""yes; then : +if test "x$ac_cv_header_gsm_gsm_h" = xyes; then : GSM_GSM_HEADER_FOUND=1 else GSM_GSM_HEADER_FOUND=0 @@ -18200,11 +18170,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ILBC" >&5 $as_echo_n "checking for ILBC... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$ILBC_CFLAGS"; then - pkg_cv_ILBC_CFLAGS="$ILBC_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ILBC_CFLAGS"; then + pkg_cv_ILBC_CFLAGS="$ILBC_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libilbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libilbc") 2>&5 ac_status=$? @@ -18214,15 +18183,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$ILBC_LIBS"; then - pkg_cv_ILBC_LIBS="$ILBC_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$ILBC_LIBS"; then + pkg_cv_ILBC_LIBS="$ILBC_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libilbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libilbc") 2>&5 ac_status=$? @@ -18232,14 +18199,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18247,20 +18215,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libilbc"` + ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libilbc" 2>&1` else - ILBC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libilbc"` + ILBC_PKG_ERRORS=`$PKG_CONFIG --print-errors "libilbc" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ILBC_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } PBX_ILBC=0 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PBX_ILBC=0 @@ -18307,11 +18275,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBEDIT" >&5 $as_echo_n "checking for LIBEDIT... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$LIBEDIT_CFLAGS"; then - pkg_cv_LIBEDIT_CFLAGS="$LIBEDIT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LIBEDIT_CFLAGS"; then + pkg_cv_LIBEDIT_CFLAGS="$LIBEDIT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? @@ -18321,15 +18288,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBEDIT_LIBS"; then - pkg_cv_LIBEDIT_LIBS="$LIBEDIT_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$LIBEDIT_LIBS"; then + pkg_cv_LIBEDIT_LIBS="$LIBEDIT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? @@ -18339,14 +18304,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -18354,20 +18320,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libedit"` + LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libedit" 2>&1` else - LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libedit"` + LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --print-errors "libedit" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBEDIT_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } PBX_LIBEDIT=0 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PBX_LIBEDIT=0 @@ -18417,7 +18383,7 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_iconv_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liconv" >&5 $as_echo_n "checking for ${pbxfuncname} in -liconv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18452,8 +18418,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -18476,7 +18441,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = x""yes; then : +if test "x$ac_cv_header_iconv_h" = xyes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -18523,7 +18488,7 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_iconv_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liconv" >&5 $as_echo_n "checking for ${pbxfuncname} in -liconv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18558,8 +18523,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -18582,7 +18546,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = x""yes; then : +if test "x$ac_cv_header_iconv_h" = xyes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -18629,7 +18593,7 @@ if test "x${PBX_ICONV}" != "x1" -a "${USE_ICONV}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18664,8 +18628,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ICONV_FOUND=yes else AST_ICONV_FOUND=no @@ -18688,7 +18651,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICONV_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = x""yes; then : +if test "x$ac_cv_header_iconv_h" = xyes; then : ICONV_HEADER_FOUND=1 else ICONV_HEADER_FOUND=0 @@ -18736,7 +18699,7 @@ if test "x${PBX_ICAL}" != "x1" -a "${USE_ICAL}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ical_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lical" >&5 $as_echo_n "checking for ${pbxfuncname} in -lical... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18771,8 +18734,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ICAL_FOUND=yes else AST_ICAL_FOUND=no @@ -18795,7 +18757,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ICAL_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libical/ical.h" "ac_cv_header_libical_ical_h" "$ac_includes_default" -if test "x$ac_cv_header_libical_ical_h" = x""yes; then : +if test "x$ac_cv_header_libical_ical_h" = xyes; then : ICAL_HEADER_FOUND=1 else ICAL_HEADER_FOUND=0 @@ -18842,7 +18804,7 @@ if test "x${PBX_IKSEMEL}" != "x1" -a "${USE_IKSEMEL}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_iksemel_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liksemel" >&5 $as_echo_n "checking for ${pbxfuncname} in -liksemel... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -18877,8 +18839,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_IKSEMEL_FOUND=yes else AST_IKSEMEL_FOUND=no @@ -18901,7 +18862,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${IKSEMEL_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "iksemel.h" "ac_cv_header_iksemel_h" "$ac_includes_default" -if test "x$ac_cv_header_iksemel_h" = x""yes; then : +if test "x$ac_cv_header_iksemel_h" = xyes; then : IKSEMEL_HEADER_FOUND=1 else IKSEMEL_HEADER_FOUND=0 @@ -19576,7 +19537,7 @@ if test "x${PBX_IODBC}" != "x1" -a "${USE_IODBC}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_iodbc_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -liodbc" >&5 $as_echo_n "checking for ${pbxfuncname} in -liodbc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -19611,8 +19572,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_IODBC_FOUND=yes else AST_IODBC_FOUND=no @@ -19635,7 +19595,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${IODBC_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sql.h" "ac_cv_header_sql_h" "$ac_includes_default" -if test "x$ac_cv_header_sql_h" = x""yes; then : +if test "x$ac_cv_header_sql_h" = xyes; then : IODBC_HEADER_FOUND=1 else IODBC_HEADER_FOUND=0 @@ -19682,7 +19642,7 @@ if test "x${PBX_INOTIFY}" != "x1" -a "${USE_INOTIFY}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -19717,8 +19677,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_INOTIFY_FOUND=yes else AST_INOTIFY_FOUND=no @@ -19741,7 +19700,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${INOTIFY_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_inotify_h" = x""yes; then : +if test "x$ac_cv_header_sys_inotify_h" = xyes; then : INOTIFY_HEADER_FOUND=1 else INOTIFY_HEADER_FOUND=0 @@ -19788,7 +19747,7 @@ if test "x${PBX_JACK}" != "x1" -a "${USE_JACK}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_jack_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ljack" >&5 $as_echo_n "checking for ${pbxfuncname} in -ljack... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -19823,8 +19782,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_JACK_FOUND=yes else AST_JACK_FOUND=no @@ -19847,7 +19805,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${JACK_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "jack/jack.h" "ac_cv_header_jack_jack_h" "$ac_includes_default" -if test "x$ac_cv_header_jack_jack_h" = x""yes; then : +if test "x$ac_cv_header_jack_jack_h" = xyes; then : JACK_HEADER_FOUND=1 else JACK_HEADER_FOUND=0 @@ -19895,7 +19853,7 @@ if test "x${PBX_KQUEUE}" != "x1" -a "${USE_KQUEUE}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -19930,8 +19888,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_KQUEUE_FOUND=yes else AST_KQUEUE_FOUND=no @@ -19954,7 +19911,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${KQUEUE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_event_h" = x""yes; then : +if test "x$ac_cv_header_sys_event_h" = xyes; then : KQUEUE_HEADER_FOUND=1 else KQUEUE_HEADER_FOUND=0 @@ -19985,7 +19942,7 @@ fi for ac_func in kevent64 do : ac_fn_c_check_func "$LINENO" "kevent64" "ac_cv_func_kevent64" -if test "x$ac_cv_func_kevent64" = x""yes; then : +if test "x$ac_cv_func_kevent64" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_KEVENT64 1 _ACEOF @@ -20015,7 +19972,7 @@ if test "x${PBX_LTDL}" != "x1" -a "${USE_LTDL}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ltdl_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lltdl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lltdl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20050,8 +20007,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_LTDL_FOUND=yes else AST_LTDL_FOUND=no @@ -20074,7 +20030,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LTDL_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "ltdl.h" "ac_cv_header_ltdl_h" "$ac_includes_default" -if test "x$ac_cv_header_ltdl_h" = x""yes; then : +if test "x$ac_cv_header_ltdl_h" = xyes; then : LTDL_HEADER_FOUND=1 else LTDL_HEADER_FOUND=0 @@ -20121,7 +20077,7 @@ if test "x${PBX_LDAP}" != "x1" -a "${USE_LDAP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ldap_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lldap" >&5 $as_echo_n "checking for ${pbxfuncname} in -lldap... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20156,8 +20112,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_LDAP_FOUND=yes else AST_LDAP_FOUND=no @@ -20180,7 +20135,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LDAP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "ldap.h" "ac_cv_header_ldap_h" "$ac_includes_default" -if test "x$ac_cv_header_ldap_h" = x""yes; then : +if test "x$ac_cv_header_ldap_h" = xyes; then : LDAP_HEADER_FOUND=1 else LDAP_HEADER_FOUND=0 @@ -20227,7 +20182,7 @@ if test "x${PBX_MISDN}" != "x1" -a "${USE_MISDN}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_mISDN_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lmISDN" >&5 $as_echo_n "checking for ${pbxfuncname} in -lmISDN... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20262,8 +20217,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_MISDN_FOUND=yes else AST_MISDN_FOUND=no @@ -20286,7 +20240,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${MISDN_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/mISDNlib.h" "ac_cv_header_mISDNuser_mISDNlib_h" "$ac_includes_default" -if test "x$ac_cv_header_mISDNuser_mISDNlib_h" = x""yes; then : +if test "x$ac_cv_header_mISDNuser_mISDNlib_h" = xyes; then : MISDN_HEADER_FOUND=1 else MISDN_HEADER_FOUND=0 @@ -20334,7 +20288,7 @@ if test "x${PBX_ISDNNET}" != "x1" -a "${USE_ISDNNET}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_isdnnet_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lisdnnet" >&5 $as_echo_n "checking for ${pbxfuncname} in -lisdnnet... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20369,8 +20323,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ISDNNET_FOUND=yes else AST_ISDNNET_FOUND=no @@ -20393,7 +20346,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ISDNNET_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/isdn_net.h" "ac_cv_header_mISDNuser_isdn_net_h" "$ac_includes_default" -if test "x$ac_cv_header_mISDNuser_isdn_net_h" = x""yes; then : +if test "x$ac_cv_header_mISDNuser_isdn_net_h" = xyes; then : ISDNNET_HEADER_FOUND=1 else ISDNNET_HEADER_FOUND=0 @@ -20439,7 +20392,7 @@ if test "x${PBX_SUPPSERV}" != "x1" -a "${USE_SUPPSERV}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_suppserv_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsuppserv" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsuppserv... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20474,8 +20427,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SUPPSERV_FOUND=yes else AST_SUPPSERV_FOUND=no @@ -20498,7 +20450,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SUPPSERV_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "mISDNuser/suppserv.h" "ac_cv_header_mISDNuser_suppserv_h" "$ac_includes_default" -if test "x$ac_cv_header_mISDNuser_suppserv_h" = x""yes; then : +if test "x$ac_cv_header_mISDNuser_suppserv_h" = xyes; then : SUPPSERV_HEADER_FOUND=1 else SUPPSERV_HEADER_FOUND=0 @@ -20617,7 +20569,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_fn_c_check_header_mongrel "$LINENO" "linux/mISDNdsp.h" "ac_cv_header_linux_mISDNdsp_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_mISDNdsp_h" = x""yes; then : +if test "x$ac_cv_header_linux_mISDNdsp_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define MISDN_1_2 1 @@ -20628,7 +20580,7 @@ fi ac_fn_c_check_member "$LINENO" "Q931_info_t" "redirect_dn" "ac_cv_member_Q931_info_t_redirect_dn" "#include " -if test "x$ac_cv_member_Q931_info_t_redirect_dn" = x""yes; then : +if test "x$ac_cv_member_Q931_info_t_redirect_dn" = xyes; then : else PBX_MISDN=0 @@ -20644,7 +20596,7 @@ fi set dummy ${ac_tool_prefix}mysql_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_MYSQLCLIENT+set}" = set; then : +if ${ac_cv_path_CONFIG_MYSQLCLIENT+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_MYSQLCLIENT in @@ -20688,7 +20640,7 @@ if test -z "$ac_cv_path_CONFIG_MYSQLCLIENT"; then set dummy mysql_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_MYSQLCLIENT in @@ -20807,7 +20759,7 @@ if test "x${PBX_NBS}" != "x1" -a "${USE_NBS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_nbs_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lnbs" >&5 $as_echo_n "checking for ${pbxfuncname} in -lnbs... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -20842,8 +20794,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_NBS_FOUND=yes else AST_NBS_FOUND=no @@ -20866,7 +20817,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NBS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "nbs.h" "ac_cv_header_nbs_h" "$ac_includes_default" -if test "x$ac_cv_header_nbs_h" = x""yes; then : +if test "x$ac_cv_header_nbs_h" = xyes; then : NBS_HEADER_FOUND=1 else NBS_HEADER_FOUND=0 @@ -20901,7 +20852,7 @@ fi set dummy ${ac_tool_prefix}neon-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NEON+set}" = set; then : +if ${ac_cv_path_CONFIG_NEON+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NEON in @@ -20945,7 +20896,7 @@ if test -z "$ac_cv_path_CONFIG_NEON"; then set dummy neon-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NEON+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_NEON+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NEON in @@ -21052,7 +21003,7 @@ $as_echo "#define HAVE_NEON 1" >>confdefs.h set dummy ${ac_tool_prefix}neon-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NEON29+set}" = set; then : +if ${ac_cv_path_CONFIG_NEON29+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NEON29 in @@ -21096,7 +21047,7 @@ if test -z "$ac_cv_path_CONFIG_NEON29"; then set dummy neon-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NEON29+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_NEON29+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NEON29 in @@ -21205,7 +21156,7 @@ $as_echo "#define HAVE_NEON29 1" >>confdefs.h set dummy ${ac_tool_prefix}net-snmp-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_NETSNMP+set}" = set; then : +if ${ac_cv_path_CONFIG_NETSNMP+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_NETSNMP in @@ -21249,7 +21200,7 @@ if test -z "$ac_cv_path_CONFIG_NETSNMP"; then set dummy net-snmp-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_NETSNMP+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_NETSNMP+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_NETSNMP in @@ -21372,7 +21323,7 @@ if test "x${PBX_NEWT}" != "x1" -a "${USE_NEWT}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_newt_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lnewt" >&5 $as_echo_n "checking for ${pbxfuncname} in -lnewt... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21407,8 +21358,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_NEWT_FOUND=yes else AST_NEWT_FOUND=no @@ -21431,7 +21381,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${NEWT_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "newt.h" "ac_cv_header_newt_h" "$ac_includes_default" -if test "x$ac_cv_header_newt_h" = x""yes; then : +if test "x$ac_cv_header_newt_h" = xyes; then : NEWT_HEADER_FOUND=1 else NEWT_HEADER_FOUND=0 @@ -21478,7 +21428,7 @@ if test "x${PBX_UNIXODBC}" != "x1" -a "${USE_UNIXODBC}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_odbc_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lodbc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lodbc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21513,8 +21463,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_UNIXODBC_FOUND=yes else AST_UNIXODBC_FOUND=no @@ -21537,7 +21486,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${UNIXODBC_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sql.h" "ac_cv_header_sql_h" "$ac_includes_default" -if test "x$ac_cv_header_sql_h" = x""yes; then : +if test "x$ac_cv_header_sql_h" = xyes; then : UNIXODBC_HEADER_FOUND=1 else UNIXODBC_HEADER_FOUND=0 @@ -21584,7 +21533,7 @@ if test "x${PBX_OGG}" != "x1" -a "${USE_OGG}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ogg_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -logg" >&5 $as_echo_n "checking for ${pbxfuncname} in -logg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21619,8 +21568,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OGG_FOUND=yes else AST_OGG_FOUND=no @@ -21643,7 +21591,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OGG_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" -if test "x$ac_cv_header_" = x""yes; then : +if test "x$ac_cv_header_" = xyes; then : OGG_HEADER_FOUND=1 else OGG_HEADER_FOUND=0 @@ -21691,7 +21639,7 @@ if test "x${PBX_BKTR}" != "x1" -a "${USE_BKTR}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_execinfo_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lexecinfo" >&5 $as_echo_n "checking for ${pbxfuncname} in -lexecinfo... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21726,8 +21674,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_BKTR_FOUND=yes else AST_BKTR_FOUND=no @@ -21750,7 +21697,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BKTR_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" -if test "x$ac_cv_header_execinfo_h" = x""yes; then : +if test "x$ac_cv_header_execinfo_h" = xyes; then : BKTR_HEADER_FOUND=1 else BKTR_HEADER_FOUND=0 @@ -21797,7 +21744,7 @@ if test "x${PBX_BKTR}" != "x1" -a "${USE_BKTR}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_c_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lc" >&5 $as_echo_n "checking for ${pbxfuncname} in -lc... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21832,8 +21779,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_BKTR_FOUND=yes else AST_BKTR_FOUND=no @@ -21856,7 +21802,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BKTR_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "execinfo.h" "ac_cv_header_execinfo_h" "$ac_includes_default" -if test "x$ac_cv_header_execinfo_h" = x""yes; then : +if test "x$ac_cv_header_execinfo_h" = xyes; then : BKTR_HEADER_FOUND=1 else BKTR_HEADER_FOUND=0 @@ -21903,7 +21849,7 @@ if test "x${PBX_BLUETOOTH}" != "x1" -a "${USE_BLUETOOTH}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_bluetooth_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lbluetooth" >&5 $as_echo_n "checking for ${pbxfuncname} in -lbluetooth... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -21938,8 +21884,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_BLUETOOTH_FOUND=yes else AST_BLUETOOTH_FOUND=no @@ -21962,7 +21907,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${BLUETOOTH_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default" -if test "x$ac_cv_header_bluetooth_bluetooth_h" = x""yes; then : +if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then : BLUETOOTH_HEADER_FOUND=1 else BLUETOOTH_HEADER_FOUND=0 @@ -22010,7 +21955,7 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22045,8 +21990,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -22069,7 +22013,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "linux/soundcard.h" "ac_cv_header_linux_soundcard_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_soundcard_h" = x""yes; then : +if test "x$ac_cv_header_linux_soundcard_h" = xyes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -22115,7 +22059,7 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22150,8 +22094,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -22174,7 +22117,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sys/soundcard.h" "ac_cv_header_sys_soundcard_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_soundcard_h" = x""yes; then : +if test "x$ac_cv_header_sys_soundcard_h" = xyes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -22220,7 +22163,7 @@ if test "x${PBX_OSS}" != "x1" -a "${USE_OSS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ossaudio_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lossaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lossaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22255,8 +22198,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OSS_FOUND=yes else AST_OSS_FOUND=no @@ -22279,7 +22221,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OSS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "soundcard.h" "ac_cv_header_soundcard_h" "$ac_includes_default" -if test "x$ac_cv_header_soundcard_h" = x""yes; then : +if test "x$ac_cv_header_soundcard_h" = xyes; then : OSS_HEADER_FOUND=1 else OSS_HEADER_FOUND=0 @@ -22314,7 +22256,7 @@ if test "${USE_PGSQL}" != "no"; then set dummy ${ac_tool_prefix}pg_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PG_CONFIG+set}" = set; then : +if ${ac_cv_path_PG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PG_CONFIG in @@ -22357,7 +22299,7 @@ if test -z "$ac_cv_path_PG_CONFIG"; then set dummy pg_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then : +if ${ac_cv_path_ac_pt_PG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PG_CONFIG in @@ -22426,7 +22368,7 @@ $as_echo "$as_me: *** including --without-postgres" >&6;} set dummy ${ac_tool_prefix}pg_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PG_CONFIG+set}" = set; then : +if ${ac_cv_path_PG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PG_CONFIG in @@ -22469,7 +22411,7 @@ if test -z "$ac_cv_path_PG_CONFIG"; then set dummy pg_config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PG_CONFIG+set}" = set; then : +if ${ac_cv_path_ac_pt_PG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PG_CONFIG in @@ -22539,7 +22481,7 @@ $as_echo "$as_me: *** including --without-postgres" >&6;} else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PQescapeStringConn in -lpq" >&5 $as_echo_n "checking for PQescapeStringConn in -lpq... " >&6; } -if test "${ac_cv_lib_pq_PQescapeStringConn+set}" = set; then : +if ${ac_cv_lib_pq_PQescapeStringConn+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22573,7 +22515,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQescapeStringConn" >&5 $as_echo "$ac_cv_lib_pq_PQescapeStringConn" >&6; } -if test "x$ac_cv_lib_pq_PQescapeStringConn" = x""yes; then : +if test "x$ac_cv_lib_pq_PQescapeStringConn" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PGSQL 1 @@ -22655,7 +22597,7 @@ if test "x${PBX_POPT}" != "x1" -a "${USE_POPT}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_popt_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpopt" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpopt... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22690,8 +22632,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_POPT_FOUND=yes else AST_POPT_FOUND=no @@ -22714,7 +22655,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${POPT_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "popt.h" "ac_cv_header_popt_h" "$ac_includes_default" -if test "x$ac_cv_header_popt_h" = x""yes; then : +if test "x$ac_cv_header_popt_h" = xyes; then : POPT_HEADER_FOUND=1 else POPT_HEADER_FOUND=0 @@ -22761,7 +22702,7 @@ if test "x${PBX_PORTAUDIO}" != "x1" -a "${USE_PORTAUDIO}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_portaudio_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lportaudio" >&5 $as_echo_n "checking for ${pbxfuncname} in -lportaudio... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22796,8 +22737,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PORTAUDIO_FOUND=yes else AST_PORTAUDIO_FOUND=no @@ -22820,7 +22760,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PORTAUDIO_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "portaudio.h" "ac_cv_header_portaudio_h" "$ac_includes_default" -if test "x$ac_cv_header_portaudio_h" = x""yes; then : +if test "x$ac_cv_header_portaudio_h" = xyes; then : PORTAUDIO_HEADER_FOUND=1 else PORTAUDIO_HEADER_FOUND=0 @@ -22867,7 +22807,7 @@ if test "x${PBX_PRI}" != "x1" -a "${USE_PRI}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -22902,8 +22842,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_FOUND=yes else AST_PRI_FOUND=no @@ -22926,7 +22865,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_HEADER_FOUND=1 else PRI_HEADER_FOUND=0 @@ -22972,7 +22911,7 @@ if test "x${PBX_PRI_L2_PERSISTENCE}" != "x1" -a "${USE_PRI_L2_PERSISTENCE}" != " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23007,8 +22946,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_L2_PERSISTENCE_FOUND=yes else AST_PRI_L2_PERSISTENCE_FOUND=no @@ -23031,7 +22969,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_L2_PERSISTENCE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_L2_PERSISTENCE_HEADER_FOUND=1 else PRI_L2_PERSISTENCE_HEADER_FOUND=0 @@ -23077,7 +23015,7 @@ if test "x${PBX_PRI_DATETIME_SEND}" != "x1" -a "${USE_PRI_DATETIME_SEND}" != "no as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23112,8 +23050,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_DATETIME_SEND_FOUND=yes else AST_PRI_DATETIME_SEND_FOUND=no @@ -23136,7 +23073,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_DATETIME_SEND_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_DATETIME_SEND_HEADER_FOUND=1 else PRI_DATETIME_SEND_HEADER_FOUND=0 @@ -23182,7 +23119,7 @@ if test "x${PBX_PRI_MWI_V2}" != "x1" -a "${USE_PRI_MWI_V2}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23217,8 +23154,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_MWI_V2_FOUND=yes else AST_PRI_MWI_V2_FOUND=no @@ -23241,7 +23177,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MWI_V2_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_MWI_V2_HEADER_FOUND=1 else PRI_MWI_V2_HEADER_FOUND=0 @@ -23287,7 +23223,7 @@ if test "x${PBX_PRI_DISPLAY_TEXT}" != "x1" -a "${USE_PRI_DISPLAY_TEXT}" != "no"; as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23322,8 +23258,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_DISPLAY_TEXT_FOUND=yes else AST_PRI_DISPLAY_TEXT_FOUND=no @@ -23346,7 +23281,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_DISPLAY_TEXT_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_DISPLAY_TEXT_HEADER_FOUND=1 else PRI_DISPLAY_TEXT_HEADER_FOUND=0 @@ -23392,7 +23327,7 @@ if test "x${PBX_PRI_MWI}" != "x1" -a "${USE_PRI_MWI}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23427,8 +23362,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_MWI_FOUND=yes else AST_PRI_MWI_FOUND=no @@ -23451,7 +23385,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MWI_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_MWI_HEADER_FOUND=1 else PRI_MWI_HEADER_FOUND=0 @@ -23497,7 +23431,7 @@ if test "x${PBX_PRI_MCID}" != "x1" -a "${USE_PRI_MCID}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23532,8 +23466,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_MCID_FOUND=yes else AST_PRI_MCID_FOUND=no @@ -23556,7 +23489,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_MCID_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_MCID_HEADER_FOUND=1 else PRI_MCID_HEADER_FOUND=0 @@ -23602,7 +23535,7 @@ if test "x${PBX_PRI_CALL_WAITING}" != "x1" -a "${USE_PRI_CALL_WAITING}" != "no"; as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23637,8 +23570,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_CALL_WAITING_FOUND=yes else AST_PRI_CALL_WAITING_FOUND=no @@ -23661,7 +23593,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_WAITING_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_CALL_WAITING_HEADER_FOUND=1 else PRI_CALL_WAITING_HEADER_FOUND=0 @@ -23707,7 +23639,7 @@ if test "x${PBX_PRI_AOC_EVENTS}" != "x1" -a "${USE_PRI_AOC_EVENTS}" != "no"; the as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23742,8 +23674,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_AOC_EVENTS_FOUND=yes else AST_PRI_AOC_EVENTS_FOUND=no @@ -23766,7 +23697,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_AOC_EVENTS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_AOC_EVENTS_HEADER_FOUND=1 else PRI_AOC_EVENTS_HEADER_FOUND=0 @@ -23812,7 +23743,7 @@ if test "x${PBX_PRI_TRANSFER}" != "x1" -a "${USE_PRI_TRANSFER}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23847,8 +23778,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_TRANSFER_FOUND=yes else AST_PRI_TRANSFER_FOUND=no @@ -23871,7 +23801,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_TRANSFER_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_TRANSFER_HEADER_FOUND=1 else PRI_TRANSFER_HEADER_FOUND=0 @@ -23917,7 +23847,7 @@ if test "x${PBX_PRI_CCSS}" != "x1" -a "${USE_PRI_CCSS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -23952,8 +23882,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_CCSS_FOUND=yes else AST_PRI_CCSS_FOUND=no @@ -23976,7 +23905,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CCSS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_CCSS_HEADER_FOUND=1 else PRI_CCSS_HEADER_FOUND=0 @@ -24022,7 +23951,7 @@ if test "x${PBX_PRI_HANGUP_FIX}" != "x1" -a "${USE_PRI_HANGUP_FIX}" != "no"; the as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24057,8 +23986,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_HANGUP_FIX_FOUND=yes else AST_PRI_HANGUP_FIX_FOUND=no @@ -24081,7 +24009,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_HANGUP_FIX_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_HANGUP_FIX_HEADER_FOUND=1 else PRI_HANGUP_FIX_HEADER_FOUND=0 @@ -24127,7 +24055,7 @@ if test "x${PBX_PRI_SUBADDR}" != "x1" -a "${USE_PRI_SUBADDR}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24162,8 +24090,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_SUBADDR_FOUND=yes else AST_PRI_SUBADDR_FOUND=no @@ -24186,7 +24113,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SUBADDR_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_SUBADDR_HEADER_FOUND=1 else PRI_SUBADDR_HEADER_FOUND=0 @@ -24232,7 +24159,7 @@ if test "x${PBX_PRI_CALL_HOLD}" != "x1" -a "${USE_PRI_CALL_HOLD}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24267,8 +24194,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_CALL_HOLD_FOUND=yes else AST_PRI_CALL_HOLD_FOUND=no @@ -24291,7 +24217,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_HOLD_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_CALL_HOLD_HEADER_FOUND=1 else PRI_CALL_HOLD_HEADER_FOUND=0 @@ -24337,7 +24263,7 @@ if test "x${PBX_PRI_CALL_REROUTING}" != "x1" -a "${USE_PRI_CALL_REROUTING}" != " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24372,8 +24298,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_CALL_REROUTING_FOUND=yes else AST_PRI_CALL_REROUTING_FOUND=no @@ -24396,7 +24321,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_CALL_REROUTING_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_CALL_REROUTING_HEADER_FOUND=1 else PRI_CALL_REROUTING_HEADER_FOUND=0 @@ -24442,7 +24367,7 @@ if test "x${PBX_PRI_SETUP_KEYPAD}" != "x1" -a "${USE_PRI_SETUP_KEYPAD}" != "no"; as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24477,8 +24402,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_SETUP_KEYPAD_FOUND=yes else AST_PRI_SETUP_KEYPAD_FOUND=no @@ -24501,7 +24425,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SETUP_KEYPAD_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_SETUP_KEYPAD_HEADER_FOUND=1 else PRI_SETUP_KEYPAD_HEADER_FOUND=0 @@ -24551,7 +24475,7 @@ if test "x${PBX_PRI_PROG_W_CAUSE}" != "x1" -a "${USE_PRI_PROG_W_CAUSE}" != "no"; as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24586,8 +24510,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_PROG_W_CAUSE_FOUND=yes else AST_PRI_PROG_W_CAUSE_FOUND=no @@ -24610,7 +24533,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_PROG_W_CAUSE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_PROG_W_CAUSE_HEADER_FOUND=1 else PRI_PROG_W_CAUSE_HEADER_FOUND=0 @@ -24656,7 +24579,7 @@ if test "x${PBX_PRI_INBANDDISCONNECT}" != "x1" -a "${USE_PRI_INBANDDISCONNECT}" as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24691,8 +24614,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_INBANDDISCONNECT_FOUND=yes else AST_PRI_INBANDDISCONNECT_FOUND=no @@ -24715,7 +24637,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_INBANDDISCONNECT_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_INBANDDISCONNECT_HEADER_FOUND=1 else PRI_INBANDDISCONNECT_HEADER_FOUND=0 @@ -24761,7 +24683,7 @@ if test "x${PBX_PRI_SERVICE_MESSAGES}" != "x1" -a "${USE_PRI_SERVICE_MESSAGES}" as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24796,8 +24718,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_SERVICE_MESSAGES_FOUND=yes else AST_PRI_SERVICE_MESSAGES_FOUND=no @@ -24820,7 +24741,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_SERVICE_MESSAGES_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_SERVICE_MESSAGES_HEADER_FOUND=1 else PRI_SERVICE_MESSAGES_HEADER_FOUND=0 @@ -24866,7 +24787,7 @@ if test "x${PBX_PRI_REVERSE_CHARGE}" != "x1" -a "${USE_PRI_REVERSE_CHARGE}" != " as_ac_Lib=`$as_echo "ac_cv_lib_pri_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lpri" >&5 $as_echo_n "checking for ${pbxfuncname} in -lpri... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -24901,8 +24822,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_PRI_REVERSE_CHARGE_FOUND=yes else AST_PRI_REVERSE_CHARGE_FOUND=no @@ -24925,7 +24845,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${PRI_REVERSE_CHARGE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libpri.h" "ac_cv_header_libpri_h" "$ac_includes_default" -if test "x$ac_cv_header_libpri_h" = x""yes; then : +if test "x$ac_cv_header_libpri_h" = xyes; then : PRI_REVERSE_CHARGE_HEADER_FOUND=1 else PRI_REVERSE_CHARGE_HEADER_FOUND=0 @@ -24973,7 +24893,7 @@ if test "x${PBX_RESAMPLE}" != "x1" -a "${USE_RESAMPLE}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_resample_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lresample" >&5 $as_echo_n "checking for ${pbxfuncname} in -lresample... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -25008,8 +24928,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_RESAMPLE_FOUND=yes else AST_RESAMPLE_FOUND=no @@ -25032,7 +24951,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${RESAMPLE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libresample.h" "ac_cv_header_libresample_h" "$ac_includes_default" -if test "x$ac_cv_header_libresample_h" = x""yes; then : +if test "x$ac_cv_header_libresample_h" = xyes; then : RESAMPLE_HEADER_FOUND=1 else RESAMPLE_HEADER_FOUND=0 @@ -25141,7 +25060,7 @@ if test "x${PBX_SPANDSP}" != "x1" -a "${USE_SPANDSP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_spandsp_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspandsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspandsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -25176,8 +25095,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SPANDSP_FOUND=yes else AST_SPANDSP_FOUND=no @@ -25200,7 +25118,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPANDSP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "spandsp.h" "ac_cv_header_spandsp_h" "$ac_includes_default" -if test "x$ac_cv_header_spandsp_h" = x""yes; then : +if test "x$ac_cv_header_spandsp_h" = xyes; then : SPANDSP_HEADER_FOUND=1 else SPANDSP_HEADER_FOUND=0 @@ -25251,7 +25169,7 @@ if test "x${PBX_SPANDSP}" != "x1" -a "${USE_SPANDSP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_spandsp_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspandsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspandsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -25286,8 +25204,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SPANDSP_FOUND=yes else AST_SPANDSP_FOUND=no @@ -25310,7 +25227,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPANDSP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "spandsp.h" "ac_cv_header_spandsp_h" "$ac_includes_default" -if test "x$ac_cv_header_spandsp_h" = x""yes; then : +if test "x$ac_cv_header_spandsp_h" = xyes; then : SPANDSP_HEADER_FOUND=1 else SPANDSP_HEADER_FOUND=0 @@ -25359,7 +25276,7 @@ if test "x${PBX_SS7}" != "x1" -a "${USE_SS7}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ss7_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lss7" >&5 $as_echo_n "checking for ${pbxfuncname} in -lss7... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -25394,8 +25311,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SS7_FOUND=yes else AST_SS7_FOUND=no @@ -25418,7 +25334,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SS7_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "libss7.h" "ac_cv_header_libss7_h" "$ac_includes_default" -if test "x$ac_cv_header_libss7_h" = x""yes; then : +if test "x$ac_cv_header_libss7_h" = xyes; then : SS7_HEADER_FOUND=1 else SS7_HEADER_FOUND=0 @@ -25465,7 +25381,7 @@ if test "x${PBX_OPENR2}" != "x1" -a "${USE_OPENR2}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_openr2_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lopenr2" >&5 $as_echo_n "checking for ${pbxfuncname} in -lopenr2... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -25500,8 +25416,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OPENR2_FOUND=yes else AST_OPENR2_FOUND=no @@ -25524,7 +25439,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENR2_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "openr2.h" "ac_cv_header_openr2_h" "$ac_includes_default" -if test "x$ac_cv_header_openr2_h" = x""yes; then : +if test "x$ac_cv_header_openr2_h" = xyes; then : OPENR2_HEADER_FOUND=1 else OPENR2_HEADER_FOUND=0 @@ -25569,8 +25484,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${PWLIBDIR:-unset}" != "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${PWLIBDIR}/version.h" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "${PWLIBDIR}/version.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : HAS_PWLIB=1 fi @@ -25580,8 +25494,7 @@ if test "${HAS_PWLIB:-unset}" = "unset" ; then if test "${OPENH323DIR:-unset}" != "unset"; then as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/../pwlib/version.h" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "${OPENH323DIR}/../pwlib/version.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : HAS_PWLIB=1 fi @@ -25592,8 +25505,7 @@ fi else as_ac_Header=`$as_echo "ac_cv_header_${HOME}/pwlib/include/ptlib.h" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "${HOME}/pwlib/include/ptlib.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : HAS_PWLIB=1 fi @@ -25602,7 +25514,7 @@ fi PWLIBDIR="${HOME}/pwlib" else ac_fn_cxx_check_header_mongrel "$LINENO" "/usr/local/include/ptlib.h" "ac_cv_header__usr_local_include_ptlib_h" "$ac_includes_default" -if test "x$ac_cv_header__usr_local_include_ptlib_h" = x""yes; then : +if test "x$ac_cv_header__usr_local_include_ptlib_h" = xyes; then : HAS_PWLIB=1 fi @@ -25612,7 +25524,7 @@ fi set dummy ptlib-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then : +if ${ac_cv_path_PTLIB_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PTLIB_CONFIG in @@ -25664,7 +25576,7 @@ fi PWLIB_LIB="-L${PWLIB_LIBDIR} `echo ${PWLIB_LIB}`" else ac_fn_cxx_check_header_mongrel "$LINENO" "/usr/include/ptlib.h" "ac_cv_header__usr_include_ptlib_h" "$ac_includes_default" -if test "x$ac_cv_header__usr_include_ptlib_h" = x""yes; then : +if test "x$ac_cv_header__usr_include_ptlib_h" = xyes; then : HAS_PWLIB=1 fi @@ -25674,7 +25586,7 @@ fi set dummy ptlib-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PTLIB_CONFIG+set}" = set; then : +if ${ac_cv_path_PTLIB_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PTLIB_CONFIG in @@ -26005,8 +25917,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "${OPENH323DIR:-unset}" != "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/version.h" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "${OPENH323DIR}/version.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : HAS_OPENH323=1 fi @@ -26015,8 +25926,7 @@ fi if test "${HAS_OPENH323:-unset}" = "unset" ; then as_ac_Header=`$as_echo "ac_cv_header_${PWLIBDIR}/../openh323/version.h" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "${PWLIBDIR}/../openh323/version.h" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : OPENH323DIR="${PWLIBDIR}/../openh323"; HAS_OPENH323=1 fi @@ -26028,8 +25938,7 @@ fi as_ac_Header=`$as_echo "ac_cv_header_${OPENH323DIR}/include/h323.h" | $as_tr_sh` ac_fn_cxx_check_header_compile "$LINENO" "${OPENH323DIR}/include/h323.h" "$as_ac_Header" "#include " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : else OPENH323_INCDIR="${PWLIB_INCDIR}/openh323"; OPENH323_LIBDIR="${PWLIB_LIBDIR}" @@ -26043,8 +25952,7 @@ fi as_ac_Header=`$as_echo "ac_cv_header_${HOME}/openh323/include/h323.h" | $as_tr_sh` ac_fn_cxx_check_header_compile "$LINENO" "${HOME}/openh323/include/h323.h" "$as_ac_Header" "#include " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : HAS_OPENH323=1 fi @@ -26057,7 +25965,7 @@ fi CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}" ac_fn_cxx_check_header_compile "$LINENO" "/usr/local/include/openh323/h323.h" "ac_cv_header__usr_local_include_openh323_h323_h" "#include " -if test "x$ac_cv_header__usr_local_include_openh323_h323_h" = x""yes; then : +if test "x$ac_cv_header__usr_local_include_openh323_h323_h" = xyes; then : HAS_OPENH323=1 fi @@ -26076,7 +25984,7 @@ fi CPPFLAGS="${CPPFLAGS} -I/usr/include/openh323 -I${PWLIB_INCDIR}" ac_fn_cxx_check_header_compile "$LINENO" "/usr/include/openh323/h323.h" "ac_cv_header__usr_include_openh323_h323_h" "#include " -if test "x$ac_cv_header__usr_include_openh323_h323_h" = x""yes; then : +if test "x$ac_cv_header__usr_include_openh323_h323_h" = xyes; then : HAS_OPENH323=1 fi @@ -26318,7 +26226,7 @@ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_lua5.1_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -llua5.1" >&5 $as_echo_n "checking for ${pbxfuncname} in -llua5.1... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26353,8 +26261,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_LUA_FOUND=yes else AST_LUA_FOUND=no @@ -26377,7 +26284,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "lua5.1/lua.h" "ac_cv_header_lua5_1_lua_h" "$ac_includes_default" -if test "x$ac_cv_header_lua5_1_lua_h" = x""yes; then : +if test "x$ac_cv_header_lua5_1_lua_h" = xyes; then : LUA_HEADER_FOUND=1 else LUA_HEADER_FOUND=0 @@ -26432,7 +26339,7 @@ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_lua_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -llua" >&5 $as_echo_n "checking for ${pbxfuncname} in -llua... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26467,8 +26374,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_LUA_FOUND=yes else AST_LUA_FOUND=no @@ -26491,7 +26397,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "lua.h" "ac_cv_header_lua_h" "$ac_includes_default" -if test "x$ac_cv_header_lua_h" = x""yes; then : +if test "x$ac_cv_header_lua_h" = xyes; then : LUA_HEADER_FOUND=1 else LUA_HEADER_FOUND=0 @@ -26538,7 +26444,7 @@ if test "x${PBX_RADIUS}" != "x1" -a "${USE_RADIUS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_radiusclient-ng_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lradiusclient-ng" >&5 $as_echo_n "checking for ${pbxfuncname} in -lradiusclient-ng... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26573,8 +26479,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_RADIUS_FOUND=yes else AST_RADIUS_FOUND=no @@ -26597,7 +26502,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${RADIUS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "radiusclient-ng.h" "ac_cv_header_radiusclient_ng_h" "$ac_includes_default" -if test "x$ac_cv_header_radiusclient_ng_h" = x""yes; then : +if test "x$ac_cv_header_radiusclient_ng_h" = xyes; then : RADIUS_HEADER_FOUND=1 else RADIUS_HEADER_FOUND=0 @@ -26644,7 +26549,7 @@ if test "x${PBX_COROSYNC}" != "x1" -a "${USE_COROSYNC}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_cpg_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcpg" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcpg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26679,8 +26584,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_COROSYNC_FOUND=yes else AST_COROSYNC_FOUND=no @@ -26703,7 +26607,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${COROSYNC_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "corosync/cpg.h" "ac_cv_header_corosync_cpg_h" "$ac_includes_default" -if test "x$ac_cv_header_corosync_cpg_h" = x""yes; then : +if test "x$ac_cv_header_corosync_cpg_h" = xyes; then : COROSYNC_HEADER_FOUND=1 else COROSYNC_HEADER_FOUND=0 @@ -26749,7 +26653,7 @@ if test "x${PBX_COROSYNC_CFG_STATE_TRACK}" != "x1" -a "${USE_COROSYNC_CFG_STATE_ as_ac_Lib=`$as_echo "ac_cv_lib_cfg_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcfg" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcfg... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26784,8 +26688,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_COROSYNC_CFG_STATE_TRACK_FOUND=yes else AST_COROSYNC_CFG_STATE_TRACK_FOUND=no @@ -26808,7 +26711,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${COROSYNC_CFG_STATE_TRACK_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "corosync/cfg.h" "ac_cv_header_corosync_cfg_h" "$ac_includes_default" -if test "x$ac_cv_header_corosync_cfg_h" = x""yes; then : +if test "x$ac_cv_header_corosync_cfg_h" = xyes; then : COROSYNC_CFG_STATE_TRACK_HEADER_FOUND=1 else COROSYNC_CFG_STATE_TRACK_HEADER_FOUND=0 @@ -26855,7 +26758,7 @@ if test "x${PBX_SPEEX}" != "x1" -a "${USE_SPEEX}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_speex_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeex" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeex... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26890,8 +26793,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SPEEX_FOUND=yes else AST_SPEEX_FOUND=no @@ -26914,7 +26816,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEX_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" -if test "x$ac_cv_header_speex_speex_h" = x""yes; then : +if test "x$ac_cv_header_speex_speex_h" = xyes; then : SPEEX_HEADER_FOUND=1 else SPEEX_HEADER_FOUND=0 @@ -26962,7 +26864,7 @@ if test "x${PBX_SPEEX_PREPROCESS}" != "x1" -a "${USE_SPEEX_PREPROCESS}" != "no"; as_ac_Lib=`$as_echo "ac_cv_lib_speex_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeex" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeex... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -26997,8 +26899,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SPEEX_PREPROCESS_FOUND=yes else AST_SPEEX_PREPROCESS_FOUND=no @@ -27021,7 +26922,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEX_PREPROCESS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" -if test "x$ac_cv_header_speex_speex_h" = x""yes; then : +if test "x$ac_cv_header_speex_speex_h" = xyes; then : SPEEX_PREPROCESS_HEADER_FOUND=1 else SPEEX_PREPROCESS_HEADER_FOUND=0 @@ -27071,7 +26972,7 @@ if test "x${PBX_SPEEXDSP}" != "x1" -a "${USE_SPEEXDSP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_speexdsp_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lspeexdsp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lspeexdsp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27106,8 +27007,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SPEEXDSP_FOUND=yes else AST_SPEEXDSP_FOUND=no @@ -27130,7 +27030,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SPEEXDSP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "speex/speex.h" "ac_cv_header_speex_speex_h" "$ac_includes_default" -if test "x$ac_cv_header_speex_speex_h" = x""yes; then : +if test "x$ac_cv_header_speex_speex_h" = xyes; then : SPEEXDSP_HEADER_FOUND=1 else SPEEXDSP_HEADER_FOUND=0 @@ -27182,7 +27082,7 @@ if test "x${PBX_SQLITE}" != "x1" -a "${USE_SQLITE}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_sqlite_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsqlite" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsqlite... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27217,8 +27117,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SQLITE_FOUND=yes else AST_SQLITE_FOUND=no @@ -27241,7 +27140,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SQLITE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sqlite.h" "ac_cv_header_sqlite_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite_h" = x""yes; then : +if test "x$ac_cv_header_sqlite_h" = xyes; then : SQLITE_HEADER_FOUND=1 else SQLITE_HEADER_FOUND=0 @@ -27288,7 +27187,7 @@ if test "x${PBX_SQLITE3}" != "x1" -a "${USE_SQLITE3}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_sqlite3_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsqlite3" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsqlite3... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27323,8 +27222,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SQLITE3_FOUND=yes else AST_SQLITE3_FOUND=no @@ -27347,7 +27245,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SQLITE3_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default" -if test "x$ac_cv_header_sqlite3_h" = x""yes; then : +if test "x$ac_cv_header_sqlite3_h" = xyes; then : SQLITE3_HEADER_FOUND=1 else SQLITE3_HEADER_FOUND=0 @@ -27402,7 +27300,7 @@ if test "x${PBX_CRYPTO}" != "x1" -a "${USE_CRYPTO}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_crypto_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lcrypto" >&5 $as_echo_n "checking for ${pbxfuncname} in -lcrypto... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27437,8 +27335,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_CRYPTO_FOUND=yes else AST_CRYPTO_FOUND=no @@ -27461,7 +27358,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${CRYPTO_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "openssl/aes.h" "ac_cv_header_openssl_aes_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_aes_h" = x""yes; then : +if test "x$ac_cv_header_openssl_aes_h" = xyes; then : CRYPTO_HEADER_FOUND=1 else CRYPTO_HEADER_FOUND=0 @@ -27510,7 +27407,7 @@ if test "x${PBX_OPENSSL}" != "x1" -a "${USE_OPENSSL}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ssl_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lssl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lssl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27545,8 +27442,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OPENSSL_FOUND=yes else AST_OPENSSL_FOUND=no @@ -27569,7 +27465,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENSSL_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then : +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : OPENSSL_HEADER_FOUND=1 else OPENSSL_HEADER_FOUND=0 @@ -27615,7 +27511,7 @@ then osptk_saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${osptk_cflags}" ac_fn_c_check_header_mongrel "$LINENO" "osp/osp.h" "ac_cv_header_osp_osp_h" "$ac_includes_default" -if test "x$ac_cv_header_osp_osp_h" = x""yes; then : +if test "x$ac_cv_header_osp_osp_h" = xyes; then : osptk_header_found=yes else osptk_header_found=no @@ -27630,7 +27526,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSPPInit in -losptk" >&5 $as_echo_n "checking for OSPPInit in -losptk... " >&6; } -if test "${ac_cv_lib_osptk_OSPPInit+set}" = set; then : +if ${ac_cv_lib_osptk_OSPPInit+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27664,7 +27560,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_osptk_OSPPInit" >&5 $as_echo "$ac_cv_lib_osptk_OSPPInit" >&6; } -if test "x$ac_cv_lib_osptk_OSPPInit" = x""yes; then : +if test "x$ac_cv_lib_osptk_OSPPInit" = xyes; then : osptk_library_found=yes else osptk_library_found=no @@ -27681,8 +27577,8 @@ $as_echo_n "checking if OSP Toolkit version is compatible with app_osplookup... if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run test program while cross compiling -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot run test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -27746,7 +27642,7 @@ if test "x${PBX_OPENSSL_SRTP}" != "x1" -a "${USE_OPENSSL_SRTP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_ssl_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lssl" >&5 $as_echo_n "checking for ${pbxfuncname} in -lssl... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27781,8 +27677,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_OPENSSL_SRTP_FOUND=yes else AST_OPENSSL_SRTP_FOUND=no @@ -27805,7 +27700,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${OPENSSL_SRTP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" -if test "x$ac_cv_header_openssl_ssl_h" = x""yes; then : +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : OPENSSL_SRTP_HEADER_FOUND=1 else OPENSSL_SRTP_HEADER_FOUND=0 @@ -27853,7 +27748,7 @@ if test "x${PBX_SRTP}" != "x1" -a "${USE_SRTP}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_srtp_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsrtp" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsrtp... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -27888,8 +27783,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SRTP_FOUND=yes else AST_SRTP_FOUND=no @@ -27912,7 +27806,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SRTP_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "srtp/srtp.h" "ac_cv_header_srtp_srtp_h" "$ac_includes_default" -if test "x$ac_cv_header_srtp_srtp_h" = x""yes; then : +if test "x$ac_cv_header_srtp_srtp_h" = xyes; then : SRTP_HEADER_FOUND=1 else SRTP_HEADER_FOUND=0 @@ -28010,11 +27904,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMIME" >&5 $as_echo_n "checking for GMIME... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GMIME_CFLAGS"; then - pkg_cv_GMIME_CFLAGS="$GMIME_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GMIME_CFLAGS"; then + pkg_cv_GMIME_CFLAGS="$GMIME_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmime-$ver") 2>&5 ac_status=$? @@ -28024,15 +27917,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GMIME_LIBS"; then - pkg_cv_GMIME_LIBS="$GMIME_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GMIME_LIBS"; then + pkg_cv_GMIME_LIBS="$GMIME_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmime-\$ver\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmime-$ver") 2>&5 ac_status=$? @@ -28042,14 +27933,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -28057,20 +27949,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmime-$ver"` + GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gmime-$ver" 2>&1` else - GMIME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmime-$ver"` + GMIME_PKG_ERRORS=`$PKG_CONFIG --print-errors "gmime-$ver" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GMIME_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } PBX_GMIME=0 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PBX_GMIME=0 @@ -28116,7 +28008,7 @@ if test "x${PBX_HOARD}" != "x1" -a "${USE_HOARD}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_hoard_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lhoard" >&5 $as_echo_n "checking for ${pbxfuncname} in -lhoard... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28151,8 +28043,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_HOARD_FOUND=yes else AST_HOARD_FOUND=no @@ -28175,7 +28066,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${HOARD_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" -if test "x$ac_cv_header_" = x""yes; then : +if test "x$ac_cv_header_" = xyes; then : HOARD_HEADER_FOUND=1 else HOARD_HEADER_FOUND=0 @@ -28222,7 +28113,7 @@ if test "x${PBX_FREETDS}" != "x1" -a "${USE_FREETDS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_sybdb_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsybdb" >&5 $as_echo_n "checking for ${pbxfuncname} in -lsybdb... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28257,8 +28148,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_FREETDS_FOUND=yes else AST_FREETDS_FOUND=no @@ -28281,7 +28171,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${FREETDS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "sybdb.h" "ac_cv_header_sybdb_h" "$ac_includes_default" -if test "x$ac_cv_header_sybdb_h" = x""yes; then : +if test "x$ac_cv_header_sybdb_h" = xyes; then : FREETDS_HEADER_FOUND=1 else FREETDS_HEADER_FOUND=0 @@ -28310,7 +28200,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tone_zone_find_by_num in -ltonezone" >&5 $as_echo_n "checking for tone_zone_find_by_num in -ltonezone... " >&6; } -if test "${ac_cv_lib_tonezone_tone_zone_find_by_num+set}" = set; then : +if ${ac_cv_lib_tonezone_tone_zone_find_by_num+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28344,7 +28234,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tonezone_tone_zone_find_by_num" >&5 $as_echo "$ac_cv_lib_tonezone_tone_zone_find_by_num" >&6; } -if test "x$ac_cv_lib_tonezone_tone_zone_find_by_num" = x""yes; then : +if test "x$ac_cv_lib_tonezone_tone_zone_find_by_num" = xyes; then : tonezone_does_not_need_lm=yes else tonezone_does_not_need_lm=no @@ -28375,7 +28265,7 @@ if test "x${PBX_TONEZONE}" != "x1" -a "${USE_TONEZONE}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_tonezone_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -ltonezone" >&5 $as_echo_n "checking for ${pbxfuncname} in -ltonezone... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28410,8 +28300,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_TONEZONE_FOUND=yes else AST_TONEZONE_FOUND=no @@ -28434,7 +28323,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${TONEZONE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "dahdi/tonezone.h" "ac_cv_header_dahdi_tonezone_h" "$ac_includes_default" -if test "x$ac_cv_header_dahdi_tonezone_h" = x""yes; then : +if test "x$ac_cv_header_dahdi_tonezone_h" = xyes; then : TONEZONE_HEADER_FOUND=1 else TONEZONE_HEADER_FOUND=0 @@ -28483,7 +28372,7 @@ if test "x${PBX_VORBIS}" != "x1" -a "${USE_VORBIS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_vorbis_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lvorbis" >&5 $as_echo_n "checking for ${pbxfuncname} in -lvorbis... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28518,8 +28407,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_VORBIS_FOUND=yes else AST_VORBIS_FOUND=no @@ -28542,7 +28430,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${VORBIS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "vorbis/codec.h" "ac_cv_header_vorbis_codec_h" "$ac_includes_default" -if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then : +if test "x$ac_cv_header_vorbis_codec_h" = xyes; then : VORBIS_HEADER_FOUND=1 else VORBIS_HEADER_FOUND=0 @@ -28589,7 +28477,7 @@ if test "x${PBX_VORBIS}" != "x1" -a "${USE_VORBIS}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_vorbis_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lvorbis" >&5 $as_echo_n "checking for ${pbxfuncname} in -lvorbis... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28624,8 +28512,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_VORBIS_FOUND=yes else AST_VORBIS_FOUND=no @@ -28648,7 +28535,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${VORBIS_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "vorbis/codec.h" "ac_cv_header_vorbis_codec_h" "$ac_includes_default" -if test "x$ac_cv_header_vorbis_codec_h" = x""yes; then : +if test "x$ac_cv_header_vorbis_codec_h" = xyes; then : VORBIS_HEADER_FOUND=1 else VORBIS_HEADER_FOUND=0 @@ -28811,7 +28698,7 @@ if test "x${PBX_ZLIB}" != "x1" -a "${USE_ZLIB}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_z_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lz" >&5 $as_echo_n "checking for ${pbxfuncname} in -lz... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -28846,8 +28733,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_ZLIB_FOUND=yes else AST_ZLIB_FOUND=no @@ -28870,7 +28756,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${ZLIB_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" -if test "x$ac_cv_header_zlib_h" = x""yes; then : +if test "x$ac_cv_header_zlib_h" = xyes; then : ZLIB_HEADER_FOUND=1 else ZLIB_HEADER_FOUND=0 @@ -28929,7 +28815,7 @@ rm -f core conftest.err conftest.$ac_objext \ fi ac_fn_c_check_header_mongrel "$LINENO" "h323.h" "ac_cv_header_h323_h" "$ac_includes_default" -if test "x$ac_cv_header_h323_h" = x""yes; then : +if test "x$ac_cv_header_h323_h" = xyes; then : PBX_H323=1 else PBX_H323=0 @@ -28939,7 +28825,7 @@ fi ac_fn_c_check_header_mongrel "$LINENO" "linux/compiler.h" "ac_cv_header_linux_compiler_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_compiler_h" = x""yes; then : +if test "x$ac_cv_header_linux_compiler_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LINUX_COMPILER_H 1 @@ -28956,7 +28842,7 @@ ac_fn_c_check_header_compile "$LINENO" "linux/ixjuser.h" "ac_cv_header_linux_ixj #endif " -if test "x$ac_cv_header_linux_ixjuser_h" = x""yes; then : +if test "x$ac_cv_header_linux_ixjuser_h" = xyes; then : PBX_IXJUSER=1 else PBX_IXJUSER=0 @@ -29067,7 +28953,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext set dummy ${ac_tool_prefix}sdl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CONFIG_SDL+set}" = set; then : +if ${ac_cv_path_CONFIG_SDL+:} false; then : $as_echo_n "(cached) " >&6 else case $CONFIG_SDL in @@ -29111,7 +28997,7 @@ if test -z "$ac_cv_path_CONFIG_SDL"; then set dummy sdl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_CONFIG_SDL+set}" = set; then : +if ${ac_cv_path_ac_pt_CONFIG_SDL+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_CONFIG_SDL in @@ -29229,7 +29115,7 @@ if test "x${PBX_SDL_IMAGE}" != "x1" -a "${USE_SDL_IMAGE}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_SDL_image_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lSDL_image" >&5 $as_echo_n "checking for ${pbxfuncname} in -lSDL_image... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29264,8 +29150,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_SDL_IMAGE_FOUND=yes else AST_SDL_IMAGE_FOUND=no @@ -29288,7 +29173,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${SDL_IMAGE_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "SDL_image.h" "ac_cv_header_SDL_image_h" "$ac_includes_default" -if test "x$ac_cv_header_SDL_image_h" = x""yes; then : +if test "x$ac_cv_header_SDL_image_h" = xyes; then : SDL_IMAGE_HEADER_FOUND=1 else SDL_IMAGE_HEADER_FOUND=0 @@ -29334,7 +29219,7 @@ if test "x${PBX_FFMPEG}" != "x1" -a "${USE_FFMPEG}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_avcodec_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lavcodec" >&5 $as_echo_n "checking for ${pbxfuncname} in -lavcodec... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29369,8 +29254,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_FFMPEG_FOUND=yes else AST_FFMPEG_FOUND=no @@ -29393,7 +29277,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${FFMPEG_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "ffmpeg/avcodec.h" "ac_cv_header_ffmpeg_avcodec_h" "$ac_includes_default" -if test "x$ac_cv_header_ffmpeg_avcodec_h" = x""yes; then : +if test "x$ac_cv_header_ffmpeg_avcodec_h" = xyes; then : FFMPEG_HEADER_FOUND=1 else FFMPEG_HEADER_FOUND=0 @@ -29422,7 +29306,7 @@ fi # possible places for video4linux version 1 ac_fn_c_check_header_mongrel "$LINENO" "linux/videodev.h" "ac_cv_header_linux_videodev_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_videodev_h" = x""yes; then : +if test "x$ac_cv_header_linux_videodev_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VIDEODEV_H 1 @@ -29453,7 +29337,7 @@ if test "x${PBX_X11}" != "x1" -a "${USE_X11}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_X11_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lX11" >&5 $as_echo_n "checking for ${pbxfuncname} in -lX11... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29488,8 +29372,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_X11_FOUND=yes else AST_X11_FOUND=no @@ -29512,7 +29395,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${X11_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default" -if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then : +if test "x$ac_cv_header_X11_Xlib_h" = xyes; then : X11_HEADER_FOUND=1 else X11_HEADER_FOUND=0 @@ -29562,7 +29445,7 @@ if test "x${PBX_X11}" != "x1" -a "${USE_X11}" != "no"; then as_ac_Lib=`$as_echo "ac_cv_lib_X11_${pbxfuncname}" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lX11" >&5 $as_echo_n "checking for ${pbxfuncname} in -lX11... " >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$as_ac_Lib+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -29597,8 +29480,7 @@ fi eval ac_res=\$$as_ac_Lib { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } -eval as_val=\$$as_ac_Lib - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : AST_X11_FOUND=yes else AST_X11_FOUND=no @@ -29621,7 +29503,7 @@ fi ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} ${X11_INCLUDE}" ac_fn_c_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default" -if test "x$ac_cv_header_X11_Xlib_h" = x""yes; then : +if test "x$ac_cv_header_X11_Xlib_h" = xyes; then : X11_HEADER_FOUND=1 else X11_HEADER_FOUND=0 @@ -29657,11 +29539,11 @@ if test "${cross_compiling}" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for /sbin/launchd" >&5 $as_echo_n "checking for /sbin/launchd... " >&6; } -if test "${ac_cv_file__sbin_launchd+set}" = set; then : +if ${ac_cv_file__sbin_launchd+:} false; then : $as_echo_n "(cached) " >&6 else test "$cross_compiling" = yes && - as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5 + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 if test -r "/sbin/launchd"; then ac_cv_file__sbin_launchd=yes else @@ -29670,7 +29552,7 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__sbin_launchd" >&5 $as_echo "$ac_cv_file__sbin_launchd" >&6; } -if test "x$ac_cv_file__sbin_launchd" = x""yes; then : +if test "x$ac_cv_file__sbin_launchd" = xyes; then : $as_echo "#define HAVE_SBIN_LAUNCHD 1" >>confdefs.h @@ -29687,11 +29569,10 @@ pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK2" >&5 $as_echo_n "checking for GTK2... " >&6; } -if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_CFLAGS"; then - pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GTK2_CFLAGS"; then + pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? @@ -29701,15 +29582,13 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi -if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_LIBS"; then - pkg_cv_GTK2_LIBS="$GTK2_LIBS" - else - if test -n "$PKG_CONFIG" && \ +if test -n "$GTK2_LIBS"; then + pkg_cv_GTK2_LIBS="$GTK2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5 ac_status=$? @@ -29719,14 +29598,15 @@ if test -n "$PKG_CONFIG"; then else pkg_failed=yes fi - fi -else - pkg_failed=untried + else + pkg_failed=untried fi if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -29734,20 +29614,20 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0"` + GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0" 2>&1` else - GTK2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0"` + GTK2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK2_PKG_ERRORS" >&5 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } PBX_GTK2=0 elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } PBX_GTK2=0 @@ -30412,10 +30292,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && + if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -30431,6 +30322,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -30446,7 +30338,7 @@ LTLIBOBJS=$ac_ltlibobjs -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -30547,6 +30439,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -30592,19 +30485,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -30800,7 +30693,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -30854,7 +30747,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.65. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -30916,10 +30809,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ asterisk config.status trunk -configured by $0, generated by GNU Autoconf 2.65, +configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -30936,11 +30829,16 @@ ac_need_defaults=: while test $# != 0 do case $1 in - --*=*) + --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -30962,6 +30860,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -30974,7 +30873,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -30983,7 +30882,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -31037,7 +30936,7 @@ do "makeopts") CONFIG_FILES="$CONFIG_FILES makeopts" ;; "channels/h323/Makefile") CONFIG_FILES="$CONFIG_FILES channels/h323/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -31059,9 +30958,10 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -31069,12 +30969,13 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -31091,12 +30992,12 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -31105,18 +31006,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -31124,7 +31025,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -31172,7 +31073,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -31204,21 +31105,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -31230,7 +31139,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -31242,11 +31151,11 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -31331,7 +31240,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -31344,7 +31253,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -31363,7 +31272,7 @@ do for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. @@ -31372,7 +31281,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -31398,8 +31307,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -31529,23 +31438,24 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -31554,21 +31464,21 @@ which seems to be undefined. Please make sure it is defined." >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; @@ -31583,7 +31493,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -31604,7 +31514,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/configure.ac b/configure.ac index f302088102..3771241841 100644 --- a/configure.ac +++ b/configure.ac @@ -494,7 +494,7 @@ AST_EXT_LIB_CHECK([TERMCAP], [termcap], [tgetent], []) AST_EXT_LIB_CHECK([TINFO], [tinfo], [tgetent], []) AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h]) AST_EXT_LIB_CHECK([NCURSES], [ncurses], [initscr], [curses.h]) -AST_EXT_LIB_CHECK([UUID], [uuid], [uuid_generate_random], [uuid.h], [-luuid]) +AST_EXT_LIB_CHECK([UUID], [uuid], [uuid_generate_random], [uuid/uuid.h], [-luuid]) EDITLINE_LIB="" if test "x$TERMCAP_LIB" != "x" ; then @@ -719,11 +719,6 @@ AC_DEFINE([HAVE_SYS_ENDIAN_BSWAP16], 1, [Define to 1 if your sys/endian.h header AC_MSG_RESULT(no) ) -if test "${cross_compiling}" = "no"; -then - AC_CHECK_FILE(/dev/urandom, AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define to 1 if your system has /dev/urandom.])) -fi - AC_MSG_CHECKING(for locale_t in locale.h) AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include ], [locale_t lt = NULL])], diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index e6835a0304..49633f5272 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -173,9 +173,6 @@ /* Define DAHDI headers version */ #undef HAVE_DAHDI_VERSION -/* Define to 1 if your system has /dev/urandom. */ -#undef HAVE_DEV_URANDOM - /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_DIRENT_H diff --git a/main/taskprocessor.c b/main/taskprocessor.c index a1e54a3b4e..3ba544292d 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -224,10 +224,15 @@ static const struct ast_taskprocessor_listener_callbacks default_listener_callba .destroy = default_listener_destroy, }; -/*! \internal \brief Clean up resources on Asterisk shutdown */ +/*! + * \internal + * \brief Clean up resources on Asterisk shutdown + */ static void tps_shutdown(void) { + ast_cli_unregister_multiple(taskprocessor_clis, ARRAY_LEN(taskprocessor_clis)); ao2_t_ref(tps_singletons, -1, "Unref tps_singletons in shutdown"); + tps_singletons = NULL; } /* initialize the taskprocessor container and register CLI operations */ diff --git a/main/utils.c b/main/utils.c index 24a8326a80..cdb9b1a440 100644 --- a/main/utils.c +++ b/main/utils.c @@ -35,9 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include -#ifdef HAVE_DEV_URANDOM #include -#endif #include #if defined(__APPLE__) @@ -496,9 +494,7 @@ const char *ast_inet_ntoa(struct in_addr ia) return inet_ntop(AF_INET, &ia, buf, INET_ADDRSTRLEN); } -#ifdef HAVE_DEV_URANDOM static int dev_urandom_fd; -#endif #ifndef __linux__ #undef pthread_create /* For ast_pthread_create function only */ @@ -1494,7 +1490,7 @@ AST_MUTEX_DEFINE_STATIC(randomlock); long int ast_random(void) { long int res; -#ifdef HAVE_DEV_URANDOM + if (dev_urandom_fd >= 0) { int read_res = read(dev_urandom_fd, &res, sizeof(res)); if (read_res > 0) { @@ -1504,7 +1500,7 @@ long int ast_random(void) return res % rm; } } -#endif + /* XXX - Thread safety really depends on the libc, not the OS. * * But... popular Linux libc's (uClibc, glibc, eglibc), all have a @@ -2035,9 +2031,7 @@ int ast_mkdir(const char *path, int mode) int ast_utils_init(void) { -#ifdef HAVE_DEV_URANDOM dev_urandom_fd = open("/dev/urandom", O_RDONLY); -#endif base64_init(); #ifdef DEBUG_THREADS #if !defined(LOW_MEMORY) diff --git a/res/res_calendar_exchange.c b/res/res_calendar_exchange.c index e7beeafb2f..dda4414be0 100644 --- a/res/res_calendar_exchange.c +++ b/res/res_calendar_exchange.c @@ -44,6 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/lock.h" #include "asterisk/config.h" #include "asterisk/astobj2.h" +#include "asterisk/uuid.h" static void *exchangecal_load_calendar(void *data); static void *unref_exchangecal(void *obj); @@ -241,36 +242,30 @@ static void *unref_exchangecal(void *obj) /* It is very important to use the return value of this function as a realloc could occur */ static struct ast_str *generate_exchange_uuid(struct ast_str *uid) { - unsigned short val[8]; - int x; + char buffer[AST_UUID_STR_LEN]; + struct ast_uuid *uuid = ast_uuid_generate(); - for (x = 0; x < 8; x++) { - val[x] = ast_random(); + if (!uuid) { + return NULL; } - ast_str_set(&uid, 0, "%04x%04x-%04x-%04x-%04x-%04x%04x%04x", val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]); + + ast_str_set(&uid, 0, "%s", ast_uuid_to_str(uuid, buffer, AST_UUID_STR_LEN)); + + ast_free(uuid); return uid; } static int is_valid_uuid(struct ast_str *uid) { - int i; + struct ast_uuid *uuid = ast_str_to_uuid(ast_str_buffer(uid)); - if (ast_str_strlen(uid) != 36) { - return 0; + if (uuid) { + ast_free(uuid); + return 1; } - for (i = 0; i < ast_str_strlen(uid); i++) { - if (i == 8 || i == 13 || i == 18 || i == 23) { - if (ast_str_buffer(uid)[i] != '-') { - return 0; - } - } else if (!((ast_str_buffer(uid)[i] > 47 && ast_str_buffer(uid)[i] < 58) || (ast_str_buffer(uid)[i] > 96 && ast_str_buffer(uid)[i] < 103))) { - return 0; - } - } - - return 1; + return 0; } static struct ast_str *xml_encode_str(struct ast_str *dst, const char *src) diff --git a/res/res_clialiases.c b/res/res_clialiases.c index d9c4088bc8..17a847648e 100644 --- a/res/res_clialiases.c +++ b/res/res_clialiases.c @@ -218,7 +218,10 @@ static void load_config(int reload) alias->cli_entry.command = alias->alias; alias->cli_entry.usage = "Aliased CLI Command\n"; - ast_cli_register(&alias->cli_entry); + if (ast_cli_register(&alias->cli_entry)) { + ao2_ref(alias, -1); + continue; + } ao2_link(cli_aliases, alias); ast_verb(2, "Aliased CLI command '%s' to '%s'\n", v1->name, v1->value); ao2_ref(alias, -1); From 3f3ab25f9110a3cc88d195ab7040f58886db0dd4 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 17:17:34 +0000 Subject: [PATCH 124/186] Merged revisions 377981 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r377981 | dlee | 2012-12-13 10:43:40 -0600 (Thu, 13 Dec 2012) | 1 line Bail configure if it can't find libuuid. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377982 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- configure | 523 ++++++++++++++++--------------- configure.ac | 4 + include/asterisk/autoconfig.h.in | 5 + 3 files changed, 283 insertions(+), 249 deletions(-) diff --git a/configure b/configure index fe2c345ab8..44bb31d791 100755 --- a/configure +++ b/configure @@ -1,14 +1,12 @@ #! /bin/sh -# From configure.ac Revision: 377972 . +# From configure.ac Revision: 377977 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for asterisk trunk. +# Generated by GNU Autoconf 2.69 for asterisk trunk. # # Report bugs to . # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -139,6 +137,31 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -172,7 +195,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -217,21 +241,25 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -334,6 +362,14 @@ $as_echo X"$as_dir" | } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -455,6 +491,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -489,16 +529,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -510,28 +550,8 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -1757,8 +1777,6 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -2102,9 +2120,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF asterisk configure trunk -generated by GNU Autoconf 2.68 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -2458,7 +2476,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -2672,7 +2690,8 @@ int main () { static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2688,7 +2707,8 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2714,7 +2734,8 @@ int main () { static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2730,7 +2751,8 @@ int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2764,7 +2786,8 @@ int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2951,7 +2974,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -3005,7 +3028,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3537,7 +3560,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3581,7 +3604,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4025,8 +4048,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4267,7 +4289,7 @@ do for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4333,7 +4355,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4540,8 +4562,8 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default +# define __EXTENSIONS__ 1 + $ac_includes_default int main () { @@ -4744,7 +4766,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UNAME="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4787,7 +4809,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_UNAME="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4852,7 +4874,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4892,7 +4914,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4944,7 +4966,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="${ac_tool_prefix}g++" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4984,7 +5006,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="g++" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5036,7 +5058,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LD="${ac_tool_prefix}ld" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5076,7 +5098,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LD="ld" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5128,7 +5150,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5168,7 +5190,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5234,7 +5256,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5278,7 +5300,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5757,7 +5779,7 @@ do for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in @@ -5942,7 +5964,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6003,7 +6025,7 @@ case $as_dir/ in #(( # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -6087,7 +6109,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6127,7 +6149,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6209,7 +6231,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -6277,7 +6299,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6321,7 +6343,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6377,7 +6399,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6421,7 +6443,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6483,7 +6505,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6524,7 +6546,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CMP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6565,7 +6587,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6606,7 +6628,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6647,7 +6669,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6688,7 +6710,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6729,7 +6751,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6770,7 +6792,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_BASENAME="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6811,7 +6833,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_DIRNAME="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6852,7 +6874,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SHELL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6893,7 +6915,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6934,7 +6956,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6975,7 +6997,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7016,7 +7038,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7057,7 +7079,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CURL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7098,7 +7120,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_RUBBER="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7139,7 +7161,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CATDVI="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7180,7 +7202,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_KPATHSEA="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7221,7 +7243,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7262,7 +7284,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XMLSTARLET="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7303,7 +7325,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GIT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7349,7 +7371,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_FETCH="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7394,7 +7416,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7435,7 +7457,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SHA1SUM="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7476,7 +7498,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_OPENSSL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7568,7 +7590,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_SOXMIX="${ac_tool_prefix}soxmix" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7608,7 +7630,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_SOXMIX="soxmix" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7667,7 +7689,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MD5="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7833,7 +7855,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_acx_pthread_config="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7989,7 +8011,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_PTHREAD_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9002,7 +9024,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9052,7 +9074,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -9094,7 +9116,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -11202,23 +11224,20 @@ else /* end confdefs.h. */ $ac_includes_default int -find_stack_direction () +find_stack_direction (int *addr, int depth) { - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; } int -main () +main (int argc, char **argv) { - return find_stack_direction () < 0; + return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -12101,6 +12120,10 @@ else fi +if test "x$UUID_LIB" == "x"; then + as_fn_error $? "*** uuid support not found (this typically means the uuid development package is missing)" "$LINENO" 5 +fi + # Another mandatory item (unless it's explicitly disabled) # Check whether --enable-xmldoc was given. if test "${enable_xmldoc+set}" = set; then : @@ -12138,7 +12161,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12182,7 +12205,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -12513,6 +12536,8 @@ _ACEOF esac rm -rf conftest* fi + + fi @@ -12525,60 +12550,60 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif - struct s { _Bool s: 1; _Bool t; } s; + struct s { _Bool s: 1; _Bool t; } s; - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); ; return 0; @@ -12593,7 +12618,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } -ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF @@ -12603,6 +12628,7 @@ _ACEOF fi + if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h @@ -12620,11 +12646,11 @@ else int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -12641,8 +12667,9 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -12658,10 +12685,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -12791,7 +12818,8 @@ static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP) - (LDBL_MANT_DIG < DBL_MANT_DIG))) && (int) LDBL_EPSILON == 0 )]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -17082,6 +17110,7 @@ LIBS=${old_LIBS} + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. @@ -17102,7 +17131,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -17145,7 +17174,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -18180,6 +18209,7 @@ if test -n "$ILBC_CFLAGS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ILBC_CFLAGS=`$PKG_CONFIG --cflags "libilbc" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -18196,6 +18226,7 @@ if test -n "$ILBC_LIBS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ILBC_LIBS=`$PKG_CONFIG --libs "libilbc" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -18215,9 +18246,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libilbc" 2>&1` + ILBC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libilbc" 2>&1` else - ILBC_PKG_ERRORS=`$PKG_CONFIG --print-errors "libilbc" 2>&1` + ILBC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libilbc" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ILBC_PKG_ERRORS" >&5 @@ -18285,6 +18316,7 @@ if test -n "$LIBEDIT_CFLAGS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBEDIT_CFLAGS=`$PKG_CONFIG --cflags "libedit" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -18301,6 +18333,7 @@ if test -n "$LIBEDIT_LIBS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBEDIT_LIBS=`$PKG_CONFIG --libs "libedit" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -18320,9 +18353,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libedit" 2>&1` + LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libedit" 2>&1` else - LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --print-errors "libedit" 2>&1` + LIBEDIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libedit" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBEDIT_PKG_ERRORS" >&5 @@ -20611,7 +20644,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -20655,7 +20688,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -20867,7 +20900,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -20911,7 +20944,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -21018,7 +21051,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -21062,7 +21095,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -21171,7 +21204,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -21215,7 +21248,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -22270,7 +22303,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -22313,7 +22346,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -22382,7 +22415,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -22425,7 +22458,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -25538,7 +25571,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -25600,7 +25633,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -27914,6 +27947,7 @@ if test -n "$GMIME_CFLAGS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-$ver" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -27930,6 +27964,7 @@ if test -n "$GMIME_LIBS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMIME_LIBS=`$PKG_CONFIG --libs "gmime-$ver" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -27949,9 +27984,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gmime-$ver" 2>&1` + GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmime-$ver" 2>&1` else - GMIME_PKG_ERRORS=`$PKG_CONFIG --print-errors "gmime-$ver" 2>&1` + GMIME_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmime-$ver" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GMIME_PKG_ERRORS" >&5 @@ -28968,7 +29003,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -29012,7 +29047,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -29579,6 +29614,7 @@ if test -n "$GTK2_CFLAGS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -29595,6 +29631,7 @@ if test -n "$GTK2_LIBS"; then $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi @@ -29614,9 +29651,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0" 2>&1` + GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-2.0" 2>&1` else - GTK2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0" 2>&1` + GTK2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK2_PKG_ERRORS" >&5 @@ -30635,16 +30672,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -30704,28 +30741,16 @@ else as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -30747,7 +30772,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by asterisk $as_me trunk, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -30809,10 +30834,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ asterisk config.status trunk -configured by $0, generated by GNU Autoconf 2.68, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -30902,7 +30927,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' diff --git a/configure.ac b/configure.ac index 3771241841..2b72b4e76f 100644 --- a/configure.ac +++ b/configure.ac @@ -510,6 +510,10 @@ else fi AC_SUBST(EDITLINE_LIB) +if test "x$UUID_LIB" == "x"; then + AC_MSG_ERROR([*** uuid support not found (this typically means the uuid development package is missing)]) +fi + # Another mandatory item (unless it's explicitly disabled) AC_ARG_ENABLE([xmldoc], [AS_HELP_STRING([--disable-xmldoc], diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 49633f5272..07ea752496 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -1220,6 +1220,11 @@ /* Define to 1 if running on Darwin. */ #undef _DARWIN_UNLIMITED_SELECT +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS From c765f4fa0acac6e5d25cf8a389e43956505d25e8 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 19:17:36 +0000 Subject: [PATCH 125/186] Merged revisions 377986 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r377986 | wedhorn | 2012-12-13 12:28:41 -0600 (Thu, 13 Dec 2012) | 14 lines Fix skinny debug tab completion Review the syntax of the 'skinny debug' command to show more than just 'show' for options to 'skinny debug' command. (closes issue ASTERISK-20789) Reported by: snuffy Tested by: snuffy, myself Patches: skinny-debug.diff uploaded by snuffy (license 5024) ........ Merged revisions 377985 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377987 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_skinny.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 81edb01e40..7dce0cd9de 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -3318,9 +3318,9 @@ static char *handle_skinny_set_debug(struct ast_cli_entry *e, int cmd, struct as switch (cmd) { case CLI_INIT: - e->command = "skinny debug [show|{off|all|packet|sub|audio|template|lock}]"; + e->command = "skinny debug {audio|hint|lock|off|packet|show|sub|template|thread}"; e->usage = - "Usage: skinny debug [show|{off|on|packet|sub|audio|template|lock}]\n" + "Usage: skinny debug {audio|hint|lock|off|packet|show|sub|template|thread}\n" " Enables/Disables various Skinny debugging messages\n"; return NULL; case CLI_GENERATE: From c9037da8dc09ac12f0109c7d901c33dbc36d2386 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 21:17:50 +0000 Subject: [PATCH 126/186] Merged revisions 377994 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r377994 | dlee | 2012-12-13 15:15:44 -0600 (Thu, 13 Dec 2012) | 1 line Fixed svn merge property breakage from r377986 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377996 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From 5af578c0227af701a8cd689ee393b641ed876be4 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 13 Dec 2012 22:17:36 +0000 Subject: [PATCH 127/186] Merged revisions 378000-378002 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378000 | seanbright | 2012-12-13 15:20:32 -0600 (Thu, 13 Dec 2012) | 8 lines Make generate_exchange_uuid() always return the passed ast_str pointer. I changed this code earlier to return NULL if it wasn't able to generate a UUID, whereas the earlier code would always return the ast_str that was passed in. Switch back to returning the ast_str, only set it to the empty string instead if UUID generation fails. We still do a validity check later which will catch this and blow up if necessary. ................ r378001 | wedhorn | 2012-12-13 15:25:31 -0600 (Thu, 13 Dec 2012) | 9 lines Minor fixes for chan_skinny Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and correct len of 2 strcmp in skinny_setdebug(). (see opticron's review on https://reviewboard.asterisk.org/r/2240/) ........ Merged revisions 377991 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378002 | rmudgett | 2012-12-13 15:28:15 -0600 (Thu, 13 Dec 2012) | 35 lines confbridge: Fix MOH on simultaneous user entry to a new conference. When two users entered a new conference simultaneously, one of the callers hears MOH. This happened if two unmarked users entered simultaneously and also if a waitmarked and a marked user entered simultaneously. * Created a confbridge internal MOH API to eliminate the inlined MOH handling code. Note that the conference mixing bridge needs to be locked when actually starting/stopping MOH because there is a small window between the conference join unsuspend MOH and actually joining the mixing bridge. * Created the concept of suspended MOH so it can be interrupted while conference join announcements to the user and DTMF features can operate. * Suspend any MOH until the user is about to actually join the mixing bridge of the conference. This way any pre-join file playback does not need to worry about MOH. * Made post-join actions only play deferred entry announcement files. Changing the user/conference state during that time is not protected or controlled by the state machine. (closes issue ASTERISK-20606) Reported by: Eugenia Belova Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/2232/ ........ Merged revisions 377992 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 377993 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378003 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_confbridge.c | 143 ++++++++++++++++------ apps/confbridge/conf_state.c | 19 +++ apps/confbridge/conf_state_multi_marked.c | 14 +-- apps/confbridge/include/confbridge.h | 19 +++ channels/chan_skinny.c | 7 +- include/asterisk/bridging.h | 26 ++++ res/res_calendar_exchange.c | 3 +- 7 files changed, 177 insertions(+), 54 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index b4ec076edf..22e97f1933 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -909,6 +909,94 @@ static int handle_conf_user_leave(struct conference_bridge_user *cbu) return 0; } +void conf_moh_stop(struct conference_bridge_user *user) +{ + user->playing_moh = 0; + if (!user->suspended_moh) { + int in_bridge; + + /* + * Locking the ast_bridge here is the only way to hold off the + * call to ast_bridge_join() in confbridge_exec() from + * interfering with the bridge and MOH operations here. + */ + ast_bridge_lock(user->conference_bridge->bridge); + + /* + * Temporarily suspend the user from the bridge so we have + * control to stop MOH if needed. + */ + in_bridge = !ast_bridge_suspend(user->conference_bridge->bridge, user->chan); + ast_moh_stop(user->chan); + if (in_bridge) { + ast_bridge_unsuspend(user->conference_bridge->bridge, user->chan); + } + + ast_bridge_unlock(user->conference_bridge->bridge); + } +} + +void conf_moh_start(struct conference_bridge_user *user) +{ + user->playing_moh = 1; + if (!user->suspended_moh) { + int in_bridge; + + /* + * Locking the ast_bridge here is the only way to hold off the + * call to ast_bridge_join() in confbridge_exec() from + * interfering with the bridge and MOH operations here. + */ + ast_bridge_lock(user->conference_bridge->bridge); + + /* + * Temporarily suspend the user from the bridge so we have + * control to start MOH if needed. + */ + in_bridge = !ast_bridge_suspend(user->conference_bridge->bridge, user->chan); + ast_moh_start(user->chan, user->u_profile.moh_class, NULL); + if (in_bridge) { + ast_bridge_unsuspend(user->conference_bridge->bridge, user->chan); + } + + ast_bridge_unlock(user->conference_bridge->bridge); + } +} + +/*! + * \internal + * \brief Unsuspend MOH for the conference user. + * + * \param user Conference user to unsuspend MOH on. + * + * \return Nothing + */ +static void conf_moh_unsuspend(struct conference_bridge_user *user) +{ + ao2_lock(user->conference_bridge); + if (--user->suspended_moh == 0 && user->playing_moh) { + ast_moh_start(user->chan, user->u_profile.moh_class, NULL); + } + ao2_unlock(user->conference_bridge); +} + +/*! + * \internal + * \brief Suspend MOH for the conference user. + * + * \param user Conference user to suspend MOH on. + * + * \return Nothing + */ +static void conf_moh_suspend(struct conference_bridge_user *user) +{ + ao2_lock(user->conference_bridge); + if (user->suspended_moh++ == 0 && user->playing_moh) { + ast_moh_stop(user->chan); + } + ao2_unlock(user->conference_bridge); +} + int conf_handle_first_marked_common(struct conference_bridge_user *cbu) { if (!ast_test_flag(&cbu->u_profile, USER_OPT_QUIET) && play_prompt_to_user(cbu, conf_get_sound(CONF_SOUND_PLACE_IN_CONF, cbu->b_profile.sounds))) { @@ -919,19 +1007,12 @@ int conf_handle_first_marked_common(struct conference_bridge_user *cbu) int conf_handle_inactive_waitmarked(struct conference_bridge_user *cbu) { - /* Be sure we are muted so we can't talk to anybody else waiting */ - cbu->features.mute = 1; /* If we have not been quieted play back that they are waiting for the leader */ if (!ast_test_flag(&cbu->u_profile, USER_OPT_QUIET) && play_prompt_to_user(cbu, conf_get_sound(CONF_SOUND_WAIT_FOR_LEADER, cbu->b_profile.sounds))) { /* user hungup while the sound was playing */ return -1; } - /* Start music on hold if needed */ - if (ast_test_flag(&cbu->u_profile, USER_OPT_MUSICONHOLD)) { - ast_moh_start(cbu->chan, cbu->u_profile.moh_class, NULL); - cbu->playing_moh = 1; - } return 0; } @@ -970,11 +1051,8 @@ void conf_handle_second_active(struct conference_bridge *conference_bridge) /* If we are the second participant we may need to stop music on hold on the first */ struct conference_bridge_user *first_participant = AST_LIST_FIRST(&conference_bridge->active_list); - /* Temporarily suspend the above participant from the bridge so we have control to stop MOH if needed */ - if (ast_test_flag(&first_participant->u_profile, USER_OPT_MUSICONHOLD) && !ast_bridge_suspend(conference_bridge->bridge, first_participant->chan)) { - first_participant->playing_moh = 0; - ast_moh_stop(first_participant->chan); - ast_bridge_unsuspend(conference_bridge->bridge, first_participant->chan); + if (ast_test_flag(&first_participant->u_profile, USER_OPT_MUSICONHOLD)) { + conf_moh_stop(first_participant); } if (!ast_test_flag(&first_participant->u_profile, USER_OPT_STARTMUTED)) { first_participant->features.mute = 0; @@ -1099,6 +1177,13 @@ static struct conference_bridge *join_conference_bridge(const char *name, struct ao2_lock(conference_bridge); + /* + * Suspend any MOH until the user actually joins the bridge of + * the conference. This way any pre-join file playback does not + * need to worry about MOH. + */ + conference_bridge_user->suspended_moh = 1; + if (handle_conf_user_join(conference_bridge_user)) { /* Invalid event, nothing was done, so we don't want to process a leave. */ ao2_unlock(conference_bridge); @@ -1530,21 +1615,18 @@ static int confbridge_exec(struct ast_channel *chan, const char *data) /* Play the Join sound to both the conference and the user entering. */ if (!quiet) { const char *join_sound = conf_get_sound(CONF_SOUND_JOIN, conference_bridge_user.b_profile.sounds); - if (conference_bridge_user.playing_moh) { - ast_moh_stop(chan); - } + ast_stream_and_wait(chan, join_sound, ""); ast_autoservice_start(chan); play_sound_file(conference_bridge, join_sound); ast_autoservice_stop(chan); - if (conference_bridge_user.playing_moh) { - ast_moh_start(chan, conference_bridge_user.u_profile.moh_class, NULL); - } } /* See if we need to automatically set this user as a video source or not */ handle_video_on_join(conference_bridge, conference_bridge_user.chan, ast_test_flag(&conference_bridge_user.u_profile, USER_OPT_MARKEDUSER)); + conf_moh_unsuspend(&conference_bridge_user); + /* Join our conference bridge for real */ send_join_event(conference_bridge_user.chan, conference_bridge->name); ast_bridge_join(conference_bridge->bridge, @@ -1925,25 +2007,14 @@ int conf_handle_dtmf(struct ast_bridge_channel *bridge_channel, struct conf_menu_entry *menu_entry, struct conf_menu *menu) { - struct conference_bridge *conference_bridge = conference_bridge_user->conference_bridge; - /* See if music on hold is playing */ - ao2_lock(conference_bridge); - if (conference_bridge_user->playing_moh) { - /* MOH is going, let's stop it */ - ast_moh_stop(bridge_channel->chan); - } - ao2_unlock(conference_bridge); + conf_moh_suspend(conference_bridge_user); /* execute the list of actions associated with this menu entry */ - execute_menu_entry(conference_bridge, conference_bridge_user, bridge_channel, menu_entry, menu); + execute_menu_entry(conference_bridge_user->conference_bridge, conference_bridge_user, bridge_channel, menu_entry, menu); /* See if music on hold needs to be started back up again */ - ao2_lock(conference_bridge); - if (conference_bridge_user->playing_moh) { - ast_moh_start(bridge_channel->chan, conference_bridge_user->u_profile.moh_class, NULL); - } - ao2_unlock(conference_bridge); + conf_moh_unsuspend(conference_bridge_user); return 0; } @@ -2835,13 +2906,7 @@ void conf_mute_only_active(struct conference_bridge *conference_bridge) /* Turn on MOH/mute if the single participant is set up for it */ if (ast_test_flag(&only_participant->u_profile, USER_OPT_MUSICONHOLD)) { only_participant->features.mute = 1; - if (!ast_channel_internal_bridge(only_participant->chan) || !ast_bridge_suspend(conference_bridge->bridge, only_participant->chan)) { - ast_moh_start(only_participant->chan, only_participant->u_profile.moh_class, NULL); - only_participant->playing_moh = 1; - if (ast_channel_internal_bridge(only_participant->chan)) { - ast_bridge_unsuspend(conference_bridge->bridge, only_participant->chan); - } - } + conf_moh_start(only_participant); } } diff --git a/apps/confbridge/conf_state.c b/apps/confbridge/conf_state.c index e3684058a4..ea5ab10f08 100644 --- a/apps/confbridge/conf_state.c +++ b/apps/confbridge/conf_state.c @@ -47,9 +47,28 @@ void conf_invalid_event_fn(struct conference_bridge_user *cbu) ast_log(LOG_ERROR, "Invalid event for confbridge user '%s'\n", cbu->u_profile.name); } +/*! + * \internal + * \brief Mute the user and play MOH if the user requires it. + * + * \param user Conference user to mute and optionally start MOH on. + * + * \return Nothing + */ +static void conf_mute_moh_inactive_waitmarked(struct conference_bridge_user *user) +{ + /* Be sure we are muted so we can't talk to anybody else waiting */ + user->features.mute = 1; + /* Start music on hold if needed */ + if (ast_test_flag(&user->u_profile, USER_OPT_MUSICONHOLD)) { + conf_moh_start(user); + } +} + void conf_default_join_waitmarked(struct conference_bridge_user *cbu) { conf_add_user_waiting(cbu->conference_bridge, cbu); + conf_mute_moh_inactive_waitmarked(cbu); conf_add_post_join_action(cbu, conf_handle_inactive_waitmarked); } diff --git a/apps/confbridge/conf_state_multi_marked.c b/apps/confbridge/conf_state_multi_marked.c index 69850b18dc..2529266099 100644 --- a/apps/confbridge/conf_state_multi_marked.c +++ b/apps/confbridge/conf_state_multi_marked.c @@ -107,12 +107,8 @@ static void leave_marked(struct conference_bridge_user *cbu) cbu_iter->conference_bridge->waitingusers++; /* Handle muting/moh of cbu_iter if necessary */ if (ast_test_flag(&cbu_iter->u_profile, USER_OPT_MUSICONHOLD)) { - cbu_iter->features.mute = 1; - if (!ast_bridge_suspend(cbu_iter->conference_bridge->bridge, cbu_iter->chan)) { - ast_moh_start(cbu_iter->chan, cbu_iter->u_profile.moh_class, NULL); - cbu_iter->playing_moh = 1; - ast_bridge_unsuspend(cbu_iter->conference_bridge->bridge, cbu_iter->chan); - } + cbu_iter->features.mute = 1; + conf_moh_start(cbu_iter); } } } @@ -173,10 +169,8 @@ static void transition_to_marked(struct conference_bridge_user *cbu) cbu->conference_bridge->waitingusers--; AST_LIST_INSERT_TAIL(&cbu->conference_bridge->active_list, cbu_iter, list); cbu->conference_bridge->activeusers++; - if (cbu_iter->playing_moh && !ast_bridge_suspend(cbu->conference_bridge->bridge, cbu_iter->chan)) { - cbu_iter->playing_moh = 0; - ast_moh_stop(cbu_iter->chan); - ast_bridge_unsuspend(cbu->conference_bridge->bridge, cbu_iter->chan); + if (cbu_iter->playing_moh) { + conf_moh_stop(cbu_iter); } /* only unmute them if they are not supposed to start muted */ if (!ast_test_flag(&cbu_iter->u_profile, USER_OPT_STARTMUTED)) { diff --git a/apps/confbridge/include/confbridge.h b/apps/confbridge/include/confbridge.h index 0891f5d4ef..059262065d 100644 --- a/apps/confbridge/include/confbridge.h +++ b/apps/confbridge/include/confbridge.h @@ -236,6 +236,7 @@ struct conference_bridge_user { struct ast_channel *chan; /*!< Asterisk channel participating */ struct ast_bridge_features features; /*!< Bridge features structure */ struct ast_bridge_tech_optimizations tech_args; /*!< Bridge technology optimizations for talk detection */ + unsigned int suspended_moh; /*!< Count of active suspended MOH actions. */ unsigned int kicked:1; /*!< User has been kicked from the conference */ unsigned int playing_moh:1; /*!< MOH is currently being played to the user */ AST_LIST_HEAD_NOLOCK(, post_join_action) post_join_list; /*!< List of sounds to play after joining */; @@ -358,6 +359,24 @@ int play_sound_file(struct conference_bridge *conference_bridge, const char *fil */ void conf_ended(struct conference_bridge *conference_bridge); +/*! + * \brief Stop MOH for the conference user. + * + * \param user Conference user to stop MOH on. + * + * \return Nothing + */ +void conf_moh_stop(struct conference_bridge_user *user); + +/*! + * \brief Start MOH for the conference user. + * + * \param user Conference user to start MOH on. + * + * \return Nothing + */ +void conf_moh_start(struct conference_bridge_user *user); + /*! \brief Attempt to mute/play MOH to the only user in the conference if they require it * \param conference_bridge A conference bridge containing a single user */ diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 7dce0cd9de..1b2c170025 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -671,7 +671,6 @@ struct close_receive_channel_message { }; #define SOFT_KEY_TEMPLATE_RES_MESSAGE 0x0108 - struct soft_key_template_definition { char softKeyLabel[16]; uint32_t softKeyEvent; @@ -2190,7 +2189,7 @@ static char *callstate2str(int ind) char *tmp; switch (ind) { - case SUBSTATE_OFFHOOK: + case SKINNY_OFFHOOK: return "SKINNY_OFFHOOK"; case SKINNY_ONHOOK: return "SKINNY_ONHOOK"; @@ -3362,13 +3361,13 @@ static char *handle_skinny_set_debug(struct ast_cli_entry *e, int cmd, struct as bitmask = DEBUG_PACKET; } else if (!strncasecmp(arg, "audio", 5)) { bitmask = DEBUG_AUDIO; - } else if (!strncasecmp(arg, "lock", 6)) { + } else if (!strncasecmp(arg, "lock", 4)) { bitmask = DEBUG_LOCK; } else if (!strncasecmp(arg, "template", 8)) { bitmask = DEBUG_TEMPLATE; } else if (!strncasecmp(arg, "thread", 6)) { bitmask = DEBUG_THREAD; - } else if (!strncasecmp(arg, "hint", 6)) { + } else if (!strncasecmp(arg, "hint", 4)) { bitmask = DEBUG_HINT; } else { ast_cli(a->fd, "Skinny Debugging - option '%s' unknown\n", a->argv[i]); diff --git a/include/asterisk/bridging.h b/include/asterisk/bridging.h index 0f194f418c..2c41f4618a 100644 --- a/include/asterisk/bridging.h +++ b/include/asterisk/bridging.h @@ -271,6 +271,32 @@ struct ast_bridge { */ struct ast_bridge *ast_bridge_new(uint32_t capabilities, int flags); +/*! + * \brief Lock the bridge. + * + * \param bridge Bridge to lock + * + * \return Nothing + */ +#define ast_bridge_lock(bridge) _ast_bridge_lock(bridge, __FILE__, __PRETTY_FUNCTION__, __LINE__, #bridge) +static inline void _ast_bridge_lock(struct ast_bridge *bridge, const char *file, const char *function, int line, const char *var) +{ + __ao2_lock(bridge, AO2_LOCK_REQ_MUTEX, file, function, line, var); +} + +/*! + * \brief Unlock the bridge. + * + * \param bridge Bridge to unlock + * + * \return Nothing + */ +#define ast_bridge_unlock(bridge) _ast_bridge_unlock(bridge, __FILE__, __PRETTY_FUNCTION__, __LINE__, #bridge) +static inline void _ast_bridge_unlock(struct ast_bridge *bridge, const char *file, const char *function, int line, const char *var) +{ + __ao2_unlock(bridge, file, function, line, var); +} + /*! \brief See if it is possible to create a bridge * * \param capabilities The capabilities that the bridge will use diff --git a/res/res_calendar_exchange.c b/res/res_calendar_exchange.c index dda4414be0..ff711c5413 100644 --- a/res/res_calendar_exchange.c +++ b/res/res_calendar_exchange.c @@ -246,7 +246,8 @@ static struct ast_str *generate_exchange_uuid(struct ast_str *uid) struct ast_uuid *uuid = ast_uuid_generate(); if (!uuid) { - return NULL; + ast_str_set(&uid, 0, "%s", ""); + return uid; } ast_str_set(&uid, 0, "%s", ast_uuid_to_str(uuid, buffer, AST_UUID_STR_LEN)); From c99f5359c622c8d2e9a2da63a6be96f11950b236 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 14 Dec 2012 01:17:36 +0000 Subject: [PATCH 128/186] Merged revisions 378006 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378006 | wedhorn | 2012-12-13 19:02:15 -0600 (Thu, 13 Dec 2012) | 8 lines Add g722 codec support to skinny (closes issue AST-20788) Reported by: snuffy Tested by: snuffy, myself Patches: skinny-g722.diff uploaded by snuffy (license 5024) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378007 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_skinny.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 1b2c170025..bd24c6a056 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -175,6 +175,7 @@ static struct ast_codec_pref default_prefs; enum skinny_codecs { SKINNY_CODEC_ALAW = 2, SKINNY_CODEC_ULAW = 4, + SKINNY_CODEC_G722 = 6, SKINNY_CODEC_G723_1 = 9, SKINNY_CODEC_G729A = 12, SKINNY_CODEC_G726_32 = 82, /* XXX Which packing order does this translate to? */ @@ -1939,6 +1940,8 @@ static struct ast_format *codec_skinny2ast(enum skinny_codecs skinnycodec, struc return ast_format_set(result, AST_FORMAT_ALAW, 0); case SKINNY_CODEC_ULAW: return ast_format_set(result, AST_FORMAT_ULAW, 0); + case SKINNY_CODEC_G722: + return ast_format_set(result, AST_FORMAT_G722, 0); case SKINNY_CODEC_G723_1: return ast_format_set(result, AST_FORMAT_G723_1, 0); case SKINNY_CODEC_G729A: @@ -1962,6 +1965,8 @@ static int codec_ast2skinny(const struct ast_format *astcodec) return SKINNY_CODEC_ALAW; case AST_FORMAT_ULAW: return SKINNY_CODEC_ULAW; + case AST_FORMAT_G722: + return SKINNY_CODEC_G722; case AST_FORMAT_G723_1: return SKINNY_CODEC_G723_1; case AST_FORMAT_G729A: From 472dab8dd3fe8b58c7ee09123e6d0aeceacaaf3a Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 14 Dec 2012 02:17:34 +0000 Subject: [PATCH 129/186] Merged revisions 378011 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378011 | wedhorn | 2012-12-13 19:55:43 -0600 (Thu, 13 Dec 2012) | 15 lines Fix skinny to recognise vmexten in general section of conf Fixup the vmexten so if globally set in general section will be honored by chan_skinny. Also get rid of the 'global_' part of variable name to match regexten. (closes issue AST-20790) Reported by: snuffy Tested by: snuffy, myself Patches: skinny-vm.diff uploaded by snuffy (license 5024) ........ Merged revisions 378010 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378012 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_skinny.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index bd24c6a056..2e43411ab5 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -202,7 +202,7 @@ static int keep_alive = 120; static int auth_timeout = DEFAULT_AUTH_TIMEOUT; static int auth_limit = DEFAULT_AUTH_LIMIT; static int unauth_sessions = 0; -static char global_vmexten[AST_MAX_EXTENSION]; /* Voicemail pilot number */ +static char vmexten[AST_MAX_EXTENSION]; /* Voicemail pilot number */ static char used_context[AST_MAX_EXTENSION]; /* placeholder to check if context are already used in regcontext */ static char regcontext[AST_MAX_CONTEXT]; /* Context for auto-extension */ static char date_format[6] = "D-M-Y"; @@ -4170,7 +4170,7 @@ static char *handle_skinny_show_settings(struct ast_cli_entry *e, int cmd, struc ast_cli(a->fd, " Bindaddress: %s\n", ast_inet_ntoa(bindaddr.sin_addr)); ast_cli(a->fd, " KeepAlive: %d\n", keep_alive); ast_cli(a->fd, " Date Format: %s\n", date_format); - ast_cli(a->fd, " Voice Mail Extension: %s\n", S_OR(global_vmexten, "(not set)")); + ast_cli(a->fd, " Voice Mail Extension: %s\n", S_OR(vmexten, "(not set)")); ast_cli(a->fd, " Reg. context: %s\n", S_OR(regcontext, "(not set)")); ast_cli(a->fd, " Jitterbuffer enabled: %s\n", AST_CLI_YESNO(ast_test_flag(&global_jbconf, AST_JB_ENABLED))); if (ast_test_flag(&global_jbconf, AST_JB_ENABLED)) { @@ -7212,6 +7212,9 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca } ast_copy_string(regcontext, v->value, sizeof(regcontext)); continue; + } else if (!strcasecmp(v->name, "vmexten")) { + ast_copy_string(vmexten, v->value, sizeof(vmexten)); + continue; } else if (!strcasecmp(v->name, "dateformat")) { memcpy(date_format, v->value, sizeof(date_format)); continue; @@ -7653,6 +7656,10 @@ static struct ast_channel *skinny_request(const char *type, struct ast_format_ca AST_EVENT_IE_NEWMSGS, AST_EVENT_IE_PLTYPE_EXISTS, AST_EVENT_IE_END); } + + if (!ast_strlen_zero(vmexten) && ast_strlen_zero(l->vmexten)) { + ast_copy_string(l->vmexten, vmexten, sizeof(l->vmexten)); + } ast_mutex_unlock(&l->lock); From 29e7981432f2dc99a04c729d6cd5fe41be68e33e Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 14 Dec 2012 21:18:00 +0000 Subject: [PATCH 130/186] Merged revisions 378029 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378029 | rmudgett | 2012-12-14 14:22:36 -0600 (Fri, 14 Dec 2012) | 1 line app_queue: Make update_status() not return anything. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378031 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index 775f343482..e6485ffa32 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1630,12 +1630,12 @@ struct statechange { * Lock interface list find sc, iterate through each queues queue_member list for member to * update state inside queues */ -static int update_status(struct call_queue *q, struct member *m, const int status) +static void update_status(struct call_queue *q, struct member *m, const int status) { m->status = status; if (q->maskmemberstatus) { - return 0; + return; } /*** DOCUMENTATION @@ -1707,8 +1707,6 @@ static int update_status(struct call_queue *q, struct member *m, const int statu q->name, m->interface, m->membername, m->state_interface, m->dynamic ? "dynamic" : m->realtime ? "realtime" : "static", m->penalty, m->calls, (int)m->lastcall, m->status, m->paused ); - - return 0; } /*! From 928f6463ec4e6a8f4ce9638393f6bf588d4ed3a2 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 14 Dec 2012 22:18:35 +0000 Subject: [PATCH 131/186] Merged revisions 378039 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378039 | rmudgett | 2012-12-14 15:35:44 -0600 (Fri, 14 Dec 2012) | 26 lines app_queue: Revert bad ringinuse=no patch. With the option ringinuse=no set, the patch committed for ASTERISK-16115 causes non-SIP queue members to never be called because the device state is checked after a channel is created to determine if the member is busy. These queue members always get the "Member %s is busy, cannot dial" message. Most channel drivers other than chan_sip use the default device state handling. The default device-state state is considered in use or unknown if the channel exists or not respectively. (closes issue ASTERISK-20801) Reported by: rmudgett Patches: jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621) patch uploaded by rmudgett ........ Merged revisions 378036 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378037 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378038 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378043 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index e6485ffa32..eac4d2ff6e 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3648,18 +3648,8 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies ast_channel_unlock(tmp->chan); ast_channel_unlock(qe->chan); - ao2_lock(tmp->member); - update_status(qe->parent, tmp->member, get_queue_member_status(tmp->member)); - if (!qe->parent->ringinuse && (tmp->member->status != AST_DEVICE_NOT_INUSE) && (tmp->member->status != AST_DEVICE_UNKNOWN)) { - ast_verb(1, "Member %s is busy, cannot dial", tmp->member->interface); - res = -1; - } - else { - /* Place the call, but don't wait on the answer */ - res = ast_call(tmp->chan, location, 0); - } - ao2_unlock(tmp->member); - if (res) { + /* Place the call, but don't wait on the answer */ + if ((res = ast_call(tmp->chan, location, 0))) { /* Again, keep going even if there's an error */ ast_verb(3, "Couldn't call %s\n", tmp->interface); do_hang(tmp); From d4aeeecffa1b93c32159184171c28751f546f28a Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 14 Dec 2012 23:17:59 +0000 Subject: [PATCH 132/186] Merged revisions 378063-378064 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378063 | jrose | 2012-12-14 16:34:18 -0600 (Fri, 14 Dec 2012) | 8 lines Features: BRIDGE_FEATURES variable automixmonitor support and use proper party BRIDGE_FEATURES did not previously support the automixmonitor feature. Now it does. In addition, the BRIDGE_FEATURES variable would not apply features to the proper party based on whether the feature option letter was in caps or in lowercase (both ways would apply it to the caller). Now uppercase applies to the caller while lowercase applies to the callee (like with the dial option) ........ r378064 | rmudgett | 2012-12-14 16:45:03 -0600 (Fri, 14 Dec 2012) | 4 lines chan_agent: Remove some duplicated code. No need to check for an agent twice. Santa does that. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378066 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- CHANGES | 10 ++++++++++ UPGRADE.txt | 3 +++ channels/chan_agent.c | 27 ++------------------------- main/features.c | 28 +++++++++++++++++++--------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/CHANGES b/CHANGES index 4da4fd9b13..6a8322afe6 100644 --- a/CHANGES +++ b/CHANGES @@ -31,6 +31,16 @@ AMI (Asterisk Manager Interface) 'Manager Show Command' now displays the privileges needed for using a given manager command instead. +Features +------------------- + * The BRIDGE_FEATURES channel variable would previously only set features for + the calling party and would set this feature regardless of whether the + feature was in caps or in lowercase. Use of a caps feature for a letter + will now apply the feature to the calling party while use of a lowercase + letter will apply that feature to the called party. + + * Add support for automixmonitor to the BRIDGE_FEATURES channel variable. + Logging ------------------- * When performing queue pause/unpause on an interface without specifying an diff --git a/UPGRADE.txt b/UPGRADE.txt index 66eb5aaeac..2c1a155e0b 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -64,6 +64,9 @@ Dialplan: - Asterisk has always had code to ignore dash '-' characters that are not part of a character set in the dialplan extensions. The code now consistently ignores these characters when matching dialplan extensions. + - BRIDGE_FEATURES channel variable is now casesensitive for feature letter codes. + Uppercase variants apply them to the calling party while lowercase variants + apply them to the called party. From 10 to 11: diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 0f0c4d2882..42492f4a2b 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -1442,8 +1442,9 @@ static struct ast_channel *agent_request(const char *type, struct ast_format_cap AST_LIST_TRAVERSE(&agents, p, list) { ast_mutex_lock(&p->lock); if (!p->pending && ((groupmatch && (p->group & groupmatch)) || !strcmp(data, p->agent))) { - if (p->chan) + if (p->chan) { hasagent++; + } now = ast_tvnow(); if (!p->lastdisc.tv_sec || (now.tv_sec >= p->lastdisc.tv_sec)) { p->lastdisc = ast_tv(0, 0); @@ -1460,30 +1461,6 @@ static struct ast_channel *agent_request(const char *type, struct ast_format_cap } ast_mutex_unlock(&p->lock); } - if (!p) { - AST_LIST_TRAVERSE(&agents, p, list) { - ast_mutex_lock(&p->lock); - if (!p->pending && ((groupmatch && (p->group & groupmatch)) || !strcmp(data, p->agent))) { - if (p->chan) { - hasagent++; - } - now = ast_tvnow(); - if (!p->lastdisc.tv_sec || (now.tv_sec >= p->lastdisc.tv_sec)) { - p->lastdisc = ast_tv(0, 0); - /* Agent must be registered, but not have any active call, and not be in a waiting state */ - if (!p->owner && p->chan) { - /* Could still get a fixed agent */ - chan = agent_new(p, AST_STATE_DOWN, requestor ? ast_channel_linkedid(requestor) : NULL, callid); - } - if (chan) { - ast_mutex_unlock(&p->lock); - break; - } - } - } - ast_mutex_unlock(&p->lock); - } - } if (!chan && waitforagent) { /* No agent available -- but we're requesting to wait for one. diff --git a/main/features.c b/main/features.c index a4977f2586..5e544cc26c 100644 --- a/main/features.c +++ b/main/features.c @@ -4227,22 +4227,32 @@ static void set_bridge_features_on_config(struct ast_bridge_config *config, cons } for (feature = features; *feature; feature++) { - switch (*feature) { - case 'T' : + struct ast_flags *party; + char this_feature; + + if (isupper(*feature)) { + party = &(config->features_caller); + } else { + party = &(config->features_callee); + } + + this_feature = tolower(*feature); + + switch (this_feature) { case 't' : - ast_set_flag(&(config->features_caller), AST_FEATURE_REDIRECT); + ast_set_flag(party, AST_FEATURE_REDIRECT); break; - case 'K' : case 'k' : - ast_set_flag(&(config->features_caller), AST_FEATURE_PARKCALL); + ast_set_flag(party, AST_FEATURE_PARKCALL); break; - case 'H' : case 'h' : - ast_set_flag(&(config->features_caller), AST_FEATURE_DISCONNECT); + ast_set_flag(party, AST_FEATURE_DISCONNECT); break; - case 'W' : case 'w' : - ast_set_flag(&(config->features_caller), AST_FEATURE_AUTOMON); + ast_set_flag(party, AST_FEATURE_AUTOMON); + break; + case 'x' : + ast_set_flag(party, AST_FEATURE_AUTOMIXMON); break; default : ast_log(LOG_WARNING, "Skipping unknown feature code '%c'\n", *feature); From be4cc7b20bba0a34e2e179a91456f22ea24b9eca Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 17 Dec 2012 21:18:01 +0000 Subject: [PATCH 133/186] Merged revisions 378072,378074 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378072 | rmudgett | 2012-12-17 14:34:25 -0600 (Mon, 17 Dec 2012) | 9 lines chan_local: Misc lock and ref tweaks. * awesome_locking() does not need to thrash the pvt lock as much. * local_setoption() does not need to check for NULL pvt on cleanup since it will never be NULL. * Made ref the pvt before locking for consistency. ................ r378074 | qwell | 2012-12-17 14:59:51 -0600 (Mon, 17 Dec 2012) | 10 lines Make libasteriskssl.so symlink use a relative path. This was causing issues when using DESTDIR, since the path to which the link pointed is not likely to exist (and not useful to exist) on the target system. (issue ASTNOW-284) ........ Merged revisions 378073 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378076 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_local.c | 20 ++++++++------------ main/Makefile | 2 +- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/channels/chan_local.c b/channels/chan_local.c index da86e14733..f51a0405b7 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -161,7 +161,7 @@ struct local_pvt { #define LOCAL_BRIDGE (1 << 3) /*!< Report back the "true" channel as being bridged to */ #define LOCAL_MOH_PASSTHRU (1 << 4) /*!< Pass through music on hold start/stop frames */ -/* +/*! * \brief Send a pvt in with no locks held and get all locks * * \note NO locks should be held prior to calling this function @@ -175,8 +175,8 @@ static void awesome_locking(struct local_pvt *p, struct ast_channel **outchan, s struct ast_channel *chan = NULL; struct ast_channel *owner = NULL; + ao2_lock(p); for (;;) { - ao2_lock(p); if (p->chan) { chan = p->chan; ast_channel_ref(chan); @@ -194,12 +194,11 @@ static void awesome_locking(struct local_pvt *p, struct ast_channel **outchan, s } else if(chan) { ast_channel_lock(chan); } - ao2_lock(p); } else { /* lock both channels first, then get the pvt lock */ ast_channel_lock_both(chan, owner); - ao2_lock(p); } + ao2_lock(p); /* Now that we have all the locks, validate that nothing changed */ if (p->owner != owner || p->chan != chan) { @@ -211,7 +210,6 @@ static void awesome_locking(struct local_pvt *p, struct ast_channel **outchan, s ast_channel_unlock(chan); chan = ast_channel_unref(chan); } - ao2_unlock(p); continue; } @@ -225,7 +223,7 @@ static void awesome_locking(struct local_pvt *p, struct ast_channel **outchan, s static int local_setoption(struct ast_channel *ast, int option, void * data, int datalen) { int res = 0; - struct local_pvt *p = NULL; + struct local_pvt *p; struct ast_channel *otherchan = NULL; ast_chan_write_info_t *write_info; @@ -272,9 +270,7 @@ static int local_setoption(struct ast_channel *ast, int option, void * data, int ast_channel_unlock(otherchan); setoption_cleanup: - if (p) { - ao2_ref(p, -1); - } + ao2_ref(p, -1); if (otherchan) { ast_channel_unref(otherchan); } @@ -468,8 +464,8 @@ static int local_answer(struct ast_channel *ast) return -1; } - ao2_lock(p); ao2_ref(p, 1); + ao2_lock(p); isoutbound = IS_OUTBOUND(ast, p); if (isoutbound) { /* Pass along answer since somebody answered us */ @@ -839,8 +835,8 @@ static int local_sendtext(struct ast_channel *ast, const char *text) return -1; } - ao2_lock(p); ao2_ref(p, 1); /* ref for local_queue_frame */ + ao2_lock(p); isoutbound = IS_OUTBOUND(ast, p); f.data.ptr = (char *) text; f.datalen = strlen(text) + 1; @@ -861,8 +857,8 @@ static int local_sendhtml(struct ast_channel *ast, int subclass, const char *dat return -1; } - ao2_lock(p); ao2_ref(p, 1); /* ref for local_queue_frame */ + ao2_lock(p); isoutbound = IS_OUTBOUND(ast, p); f.subclass.integer = subclass; f.data.ptr = (char *)data; diff --git a/main/Makefile b/main/Makefile index 2adc500fd0..d0a2d0559a 100644 --- a/main/Makefile +++ b/main/Makefile @@ -259,7 +259,7 @@ bininstall: ifeq ($(AST_ASTERISKSSL),yes) ifeq ($(findstring darwin,$(OSARCH)),) # not Darwin $(INSTALL) -m 755 $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(ASTLIBDIR)/" - $(LN) -sf "$(DESTDIR)$(ASTLIBDIR)/$(ASTSSL_LIB).$(ASTSSL_SO_VERSION)" "$(DESTDIR)$(ASTLIBDIR)/$(ASTSSL_LIB)" + $(LN) -sf $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(ASTLIBDIR)/$(ASTSSL_LIB)" else # Darwin $(INSTALL) -m 755 $(ASTSSL_LIB) "$(DESTDIR)$(ASTLIBDIR)/" endif From f1e6eefdbab426cef2eec91e8b86bb4a42f52d39 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 17 Dec 2012 22:17:57 +0000 Subject: [PATCH 134/186] Merged revisions 378081 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378081 | rmudgett | 2012-12-17 15:22:21 -0600 (Mon, 17 Dec 2012) | 7 lines chan_local: Parse dial string consistently. * Fix local_alloc() unexpected limitation of exten and context length from a combined length of 80 characters to a normal 80 characters each. * Made local_alloc() and local_devicestate() parse the same way. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378083 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_local.c | 54 +++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/channels/chan_local.c b/channels/chan_local.c index f51a0405b7..30d5186d31 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -282,27 +282,31 @@ setoption_cleanup: static int local_devicestate(const char *data) { char *exten = ast_strdupa(data); - char *context = NULL, *opts = NULL; + char *context; + char *opts; int res; struct local_pvt *lp; struct ao2_iterator it; - if (!(context = strchr(exten, '@'))) { - ast_log(LOG_WARNING, "Someone used Local/%s somewhere without a @context. This is bad.\n", exten); - return AST_DEVICE_INVALID; + /* Strip options if they exist */ + opts = strchr(exten, '/'); + if (opts) { + *opts = '\0'; } + context = strchr(exten, '@'); + if (!context) { + ast_log(LOG_WARNING, + "Someone used Local/%s somewhere without a @context. This is bad.\n", data); + return AST_DEVICE_INVALID; + } *context++ = '\0'; - /* Strip options if they exist */ - if ((opts = strchr(context, '/'))) - *opts = '\0'; - ast_debug(3, "Checking if extension %s@%s exists (devicestate)\n", exten, context); - res = ast_exists_extension(NULL, context, exten, 1, NULL); - if (!res) + if (!res) { return AST_DEVICE_INVALID; + } res = AST_DEVICE_NOT_INUSE; @@ -1147,7 +1151,9 @@ static void local_destroy(void *obj) static struct local_pvt *local_alloc(const char *data, struct ast_format_cap *cap) { struct local_pvt *tmp = NULL; - char *c = NULL, *opts = NULL; + char *parse; + char *c = NULL; + char *opts = NULL; if (!(tmp = ao2_alloc(sizeof(*tmp), local_destroy))) { return NULL; @@ -1158,12 +1164,12 @@ static struct local_pvt *local_alloc(const char *data, struct ast_format_cap *ca } /* Initialize private structure information */ - ast_copy_string(tmp->exten, data, sizeof(tmp->exten)); + parse = ast_strdupa(data); memcpy(&tmp->jb_conf, &g_jb_conf, sizeof(tmp->jb_conf)); /* Look for options */ - if ((opts = strchr(tmp->exten, '/'))) { + if ((opts = strchr(parse, '/'))) { *opts++ = '\0'; if (strchr(opts, 'n')) ast_set_flag(tmp, LOCAL_NO_OPTIMIZATION); @@ -1184,24 +1190,16 @@ static struct local_pvt *local_alloc(const char *data, struct ast_format_cap *ca } /* Look for a context */ - if ((c = strchr(tmp->exten, '@'))) + if ((c = strchr(parse, '@'))) { *c++ = '\0'; + } ast_copy_string(tmp->context, c ? c : "default", sizeof(tmp->context)); -#if 0 - /* We can't do this check here, because we don't know the CallerID yet, and - * the CallerID could potentially affect what step is actually taken (or - * even if that step exists). */ - if (!ast_exists_extension(NULL, tmp->context, tmp->exten, 1, NULL)) { - ast_log(LOG_NOTICE, "No such extension/context %s@%s creating local channel\n", tmp->exten, tmp->context); - tmp = local_pvt_destroy(tmp); - } else { -#endif - /* Add to list */ - ao2_link(locals, tmp); -#if 0 - } -#endif + ast_copy_string(tmp->exten, parse, sizeof(tmp->exten)); + + /* Add to list */ + ao2_link(locals, tmp); + return tmp; /* this is returned with a ref */ } From 84e6a9847a7b564e4561d500c896a6985bb1e13e Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 17 Dec 2012 23:18:40 +0000 Subject: [PATCH 135/186] Merged revisions 378091,378095 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378091 | rmudgett | 2012-12-17 17:02:54 -0600 (Mon, 17 Dec 2012) | 22 lines Make chan_local module references tied to local_pvt lifetime. The chan_local module references were manually tied to the existence of the ;1 and ;2 channel links. * Made chan_local module references tied to the existence of the local_pvt structure as well as automatically take care of the module references. * Tweaked the wording of the local_fixup() failure warning message to make sense. Review: https://reviewboard.asterisk.org/r/2181/ ........ Merged revisions 378088 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378089 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378090 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378095 | rmudgett | 2012-12-17 17:10:42 -0600 (Mon, 17 Dec 2012) | 11 lines Fix potential double free when unloading a module. ........ Merged revisions 378092 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378093 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378094 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378099 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_local.c | 43 +++++++++++++++++++++++++------------------ main/loader.c | 28 ++++++++++++++++++++++++---- 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/channels/chan_local.c b/channels/chan_local.c index 30d5186d31..14912793f5 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -151,8 +151,6 @@ struct local_pvt { struct ast_jb_conf jb_conf; /*!< jitterbuffer configuration for this local channel */ struct ast_channel *owner; /*!< Master Channel - Bridging happens here */ struct ast_channel *chan; /*!< Outbound channel - PBX is run here */ - struct ast_module_user *u_owner;/*!< reference to keep the module loaded while in use */ - struct ast_module_user *u_chan; /*!< reference to keep the module loaded while in use */ }; #define LOCAL_ALREADY_MASQED (1 << 0) /*!< Already masqueraded */ @@ -676,7 +674,7 @@ static int local_fixup(struct ast_channel *oldchan, struct ast_channel *newchan) ao2_lock(p); if ((p->owner != oldchan) && (p->chan != oldchan)) { - ast_log(LOG_WARNING, "Old channel wasn't %p but was %p/%p\n", oldchan, p->owner, p->chan); + ast_log(LOG_WARNING, "Old channel %p wasn't %p or %p\n", oldchan, p->owner, p->chan); ao2_unlock(p); return -1; } @@ -1085,16 +1083,15 @@ static int local_hangup(struct ast_channel *ast) if (isoutbound) { const char *status = pbx_builtin_getvar_helper(p->chan, "DIALSTATUS"); - if ((status) && (p->owner)) { + + if (status && p->owner) { ast_channel_hangupcause_set(p->owner, ast_channel_hangupcause(p->chan)); pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status); } ast_clear_flag(p, LOCAL_LAUNCHED_PBX); - ast_module_user_remove(p->u_chan); p->chan = NULL; } else { - ast_module_user_remove(p->u_owner); if (p->chan) { ast_queue_hangup(p->chan); } @@ -1105,6 +1102,7 @@ static int local_hangup(struct ast_channel *ast) if (!p->owner && !p->chan) { ao2_unlock(p); + /* Remove from list */ ao2_unlink(locals, p); ao2_ref(p, -1); @@ -1124,6 +1122,10 @@ local_hangup_cleanup: ao2_unlock(p); ao2_ref(p, -1); } + if (owner) { + ast_channel_unlock(owner); + owner = ast_channel_unref(owner); + } if (chan) { ast_channel_unlock(chan); if (hangup_chan) { @@ -1131,20 +1133,27 @@ local_hangup_cleanup: } chan = ast_channel_unref(chan); } - if (owner) { - ast_channel_unlock(owner); - owner = ast_channel_unref(owner); - } /* leave with the same stupid channel locked that came in */ ast_channel_lock(ast); return res; } -static void local_destroy(void *obj) +/*! + * \internal + * \brief struct local_pvt destructor. + * + * \param vdoomed Void local_pvt to destroy. + * + * \return Nothing + */ +static void local_pvt_destructor(void *vdoomed) { - struct local_pvt *pvt = obj; - pvt->reqcap = ast_format_cap_destroy(pvt->reqcap); + struct local_pvt *doomed = vdoomed; + + doomed->reqcap = ast_format_cap_destroy(doomed->reqcap); + + ast_module_unref(ast_module_info->self); } /*! \brief Create a call structure */ @@ -1155,7 +1164,7 @@ static struct local_pvt *local_alloc(const char *data, struct ast_format_cap *ca char *c = NULL; char *opts = NULL; - if (!(tmp = ao2_alloc(sizeof(*tmp), local_destroy))) { + if (!(tmp = ao2_alloc(sizeof(*tmp), local_pvt_destructor))) { return NULL; } if (!(tmp->reqcap = ast_format_cap_dup(cap))) { @@ -1163,6 +1172,8 @@ static struct local_pvt *local_alloc(const char *data, struct ast_format_cap *ca return NULL; } + ast_module_ref(ast_module_info->self); + /* Initialize private structure information */ parse = ast_strdupa(data); @@ -1262,8 +1273,6 @@ static struct ast_channel *local_new(struct local_pvt *p, int state, const char p->owner = tmp; p->chan = tmp2; - p->u_owner = ast_module_user_add(p->owner); - p->u_chan = ast_module_user_add(p->chan); ast_channel_context_set(tmp, p->context); ast_channel_context_set(tmp2, p->context); @@ -1295,9 +1304,7 @@ static struct ast_channel *local_request(const char *type, struct ast_format_cap } else if (ast_channel_cc_params_init(chan, requestor ? ast_channel_get_cc_config_params((struct ast_channel *)requestor) : NULL)) { ao2_unlink(locals, p); p->owner = ast_channel_release(p->owner); - ast_module_user_remove(p->u_owner); p->chan = ast_channel_release(p->chan); - ast_module_user_remove(p->u_chan); chan = NULL; } ao2_ref(p, -1); /* kill the ref from the alloc */ diff --git a/main/loader.c b/main/loader.c index 2af9d2006d..7ad515f8aa 100644 --- a/main/loader.c +++ b/main/loader.c @@ -237,9 +237,18 @@ void __ast_module_user_remove(struct ast_module *mod, struct ast_module_user *u) if (!u) { return; } + AST_LIST_LOCK(&mod->users); - AST_LIST_REMOVE(&mod->users, u, entry); + u = AST_LIST_REMOVE(&mod->users, u, entry); AST_LIST_UNLOCK(&mod->users); + if (!u) { + /* + * Was not in the list. Either a bad pointer or + * __ast_module_user_hangup_all() has been called. + */ + return; + } + ast_atomic_fetchadd_int(&mod->usecount, -1); ast_free(u); @@ -559,15 +568,26 @@ int ast_unload_resource(const char *resource_name, enum ast_module_unload_mode f } if (!error) { + /* Request any channels attached to the module to hangup. */ __ast_module_user_hangup_all(mod); - res = mod->info->unload(); + res = mod->info->unload(); if (res) { ast_log(LOG_WARNING, "Firm unload failed for %s\n", resource_name); - if (force <= AST_FORCE_FIRM) + if (force <= AST_FORCE_FIRM) { error = 1; - else + } else { ast_log(LOG_WARNING, "** Dangerous **: Unloading resource anyway, at user request\n"); + } + } + + if (!error) { + /* + * Request hangup on any channels that managed to get attached + * while we called the module unload function. + */ + __ast_module_user_hangup_all(mod); + sched_yield(); } } From e0fa5cf52d34ceae6571b16b7ffb4813c2779577 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 18 Dec 2012 18:18:44 +0000 Subject: [PATCH 136/186] Merged revisions 378122 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378122 | kmoore | 2012-12-18 11:48:36 -0600 (Tue, 18 Dec 2012) | 17 lines Add test events for time limit-related hangups This patch adds hangup-related test events in order to support testing of time-limited bridges. This aids in testing the S() and L() bridge options. (issue SWP-4713) ........ Merged revisions 378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378120 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378121 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378126 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/channel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/main/channel.c b/main/channel.c index ce3a58ffdd..7ccdaf5575 100644 --- a/main/channel.c +++ b/main/channel.c @@ -73,6 +73,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/data.h" #include "asterisk/channel_internal.h" #include "asterisk/features.h" +#include "asterisk/test.h" /*** DOCUMENTATION ***/ @@ -3242,6 +3243,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds, now = ast_tvnow(); diff = ast_tvsub(*ast_channel_whentohangup(c[x]), now); if (diff.tv_sec < 0 || ast_tvzero(diff)) { + ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x])); /* Should already be hungup */ ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT); ast_channel_unlock(c[x]); @@ -3315,6 +3317,7 @@ struct ast_channel *ast_waitfor_nandfds(struct ast_channel **c, int n, int *fds, now = ast_tvnow(); for (x = 0; x < n; x++) { if (!ast_tvzero(*ast_channel_whentohangup(c[x])) && ast_tvcmp(*ast_channel_whentohangup(c[x]), now) <= 0) { + ast_test_suite_event_notify("HANGUP_TIME", "Channel: %s", ast_channel_name(c[x])); ast_channel_softhangup_internal_flag_add(c[x], AST_SOFTHANGUP_TIMEOUT); if (winner == NULL) { winner = c[x]; @@ -7939,6 +7942,7 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha bridge_playfile(c1, c0, config->end_sound, 0); *fo = NULL; res = 0; + ast_test_suite_event_notify("BRIDGE_TIMELIMIT", "Channel1: %s\r\nChannel2: %s", ast_channel_name(c0), ast_channel_name(c1)); break; } From 550581db836e5e07573d5e96a0ef609a69ae71e6 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 20 Dec 2012 22:18:25 +0000 Subject: [PATCH 137/186] Merged revisions 378166 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378166 | rmudgett | 2012-12-20 15:51:03 -0600 (Thu, 20 Dec 2012) | 8 lines Give the causes[] a struct name. ........ Merged revisions 378164 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378165 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378169 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/channel.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/main/channel.c b/main/channel.c index 7ccdaf5575..38d11b1c06 100644 --- a/main/channel.c +++ b/main/channel.c @@ -156,11 +156,13 @@ static struct ao2_container *channels; * * \ref causes.h */ -static const struct { +struct causes_map { int cause; const char *name; const char *desc; -} causes[] = { +}; + +static const struct causes_map causes[] = { { AST_CAUSE_UNALLOCATED, "UNALLOCATED", "Unallocated (unassigned) number" }, { AST_CAUSE_NO_ROUTE_TRANSIT_NET, "NO_ROUTE_TRANSIT_NET", "No route to specified transmit network" }, { AST_CAUSE_NO_ROUTE_DESTINATION, "NO_ROUTE_DESTINATION", "No route to destination" }, From 728b5b838c7b6f49f11a088339feb7162bb93efa Mon Sep 17 00:00:00 2001 From: Automerge script Date: Mon, 31 Dec 2012 15:21:42 +0000 Subject: [PATCH 138/186] Merged revisions 378220 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378220 | kmoore | 2012-12-31 08:46:06 -0600 (Mon, 31 Dec 2012) | 18 lines Ensure chan_sip rejects encrypted streams without crypto info This ensures that Asterisk rejects encrypted media streams (RTP/SAVP audio and video) that are missing cryptographic keys and ensures that the incoming SDP is consistent with RFC4568 as far as having a crypto attribute present for any SAVP streams. Review: https://reviewboard.asterisk.org/r/2204/ ........ Merged revisions 378217 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378218 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378219 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378228 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 22a3457675..e1dfd5ddd8 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10437,6 +10437,15 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action type, value, (processed == TRUE)? "OK." : "UNSUPPORTED OR FAILED."); } + + /* Ensure crypto lines are provided where necessary */ + if (audio && secure_audio && !processed_crypto) { + ast_log(LOG_WARNING, "Rejecting secure audio stream without encryption details: %s\n", m); + return -1; + } else if (video && secure_video && !processed_crypto) { + ast_log(LOG_WARNING, "Rejecting secure video stream without encryption details: %s\n", m); + return -1; + } } /* Sanity checks */ From fe1822bf92fca55335be2d5ecccd5e59f10e1c81 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 1 Jan 2013 17:20:00 +0000 Subject: [PATCH 139/186] Merged revisions 378248-378249 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378248 | seanbright | 2013-01-01 11:03:59 -0600 (Tue, 01 Jan 2013) | 2 lines Bail out early when building an ast_trans_pvt and the translator doesn't supply a 'newpvt' ........ r378249 | seanbright | 2013-01-01 11:10:42 -0600 (Tue, 01 Jan 2013) | 2 lines Revert 378248. I changed the logic of this function unitentionally, pointed out by file. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378254 65c4cc65-6c06-0410-ace0-fbb531ad65f3 From 95cb4fa886c73c3248dcd58c918ba8c9b9d8ca21 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Tue, 1 Jan 2013 19:19:12 +0000 Subject: [PATCH 140/186] Merged revisions 378259 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ........ r378259 | lathama | 2013-01-01 13:02:52 -0600 (Tue, 01 Jan 2013) | 5 lines Add UUID packages now required to configure In ASTERISK-20726 UUID was added to Asterisk. This commit is to add the dependancies to the install script ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378264 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- contrib/scripts/install_prereq | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/scripts/install_prereq b/contrib/scripts/install_prereq index af61dcdce7..b59e357979 100755 --- a/contrib/scripts/install_prereq +++ b/contrib/scripts/install_prereq @@ -21,7 +21,7 @@ usage() { # Basic build system: PACKAGES_DEBIAN="build-essential" # Asterisk: basic requirements: -PACKAGES_DEBIAN="$PACKAGES_DEBIAN libncurses-dev libz-dev libssl-dev libxml2-dev libsqlite3-dev" +PACKAGES_DEBIAN="$PACKAGES_DEBIAN libncurses-dev libz-dev libssl-dev libxml2-dev libsqlite3-dev uuid-dev uuid" # Asterisk: for addons: PACKAGES_DEBIAN="$PACKAGES_DEBIAN libcurl-dev libspeex-dev libspeexdsp-dev libogg-dev libvorbis-dev libasound2-dev portaudio19-dev libcurl4-openssl-dev" PACKAGES_DEBIAN="$PACKAGES_DEBIAN libpq-dev unixodbc-dev libsqlite0-dev libmysqlclient15-dev libneon27-dev libgmime-dev libusb-dev liblua5.1-0-dev lua5.1" From 5966364588cfb5e83ac5182469cc3f994cff6143 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 2 Jan 2013 16:20:01 +0000 Subject: [PATCH 141/186] Merged revisions 378288 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378288 | mjordan | 2013-01-02 09:39:42 -0600 (Wed, 02 Jan 2013) | 36 lines Resolve crashes due to large stack allocations when using TCP Asterisk had several places where messages received over various network transports may be copied in a single stack allocation. In the case of TCP, since multiple packets in a stream may be concatenated together, this can lead to large allocations that overflow the stack. This patch modifies those portions of Asterisk using TCP to either favor heap allocations or use an upper bound to ensure that the stack will not overflow: * For SIP, the allocation now has an upper limit * For HTTP, the allocation is now a heap allocation instead of a stack allocation * For XMPP (in res_jabber), the allocation has been eliminated since it was unnecesary. Note that the HTTP portion of this issue was independently found by Brandon Edwards of Exodus Intelligence. (issue ASTERISK-20658) Reported by: wdoekes, Brandon Edwards Tested by: mmichelson, wdoekes patches: ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license 5049) issueA20658_http_postvars_use_malloc2.patch uploaded by wdoekes (license 5674) issueA20658_limit_sip_packet_size3.patch uploaded by wdoekes (license 5674) ........ Merged revisions 378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378286 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378287 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378296 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 58 +++++++++++++++++++++++++++----------- channels/sip/include/sip.h | 1 + main/http.c | 20 ++++++++++--- res/res_jabber.c | 5 ++-- 4 files changed, 60 insertions(+), 24 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e1dfd5ddd8..b2b3395c7f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2718,19 +2718,20 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str int authenticated, time_t start, struct sip_threadinfo *me) { int res, content_length, after_poll = 1, need_poll = 1; + size_t datalen = ast_str_strlen(req->data); char buf[1024] = ""; int timeout = -1; - - /* Read in headers one line at a time */ - while (ast_str_strlen(req->data) < 4 || strncmp(REQ_OFFSET_TO_STR(req, data->used - 4), "\r\n\r\n", 4)) { - if (!tcptls_session->client && !authenticated) { - if ((timeout = sip_check_authtimeout(start)) < 0) { - ast_debug(2, "SIP SSL server failed to determine authentication timeout\n"); + + /* Read in headers one line at a time */ + while (datalen < 4 || strncmp(REQ_OFFSET_TO_STR(req, data->used - 4), "\r\n\r\n", 4)) { + if (!tcptls_session->client && !authenticated) { + if ((timeout = sip_check_authtimeout(start)) < 0) { + ast_debug(2, "SIP TLS server failed to determine authentication timeout\n"); return -1; } if (timeout == 0) { - ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "SSL": "TCP"); + ast_debug(2, "SIP TLS server timed out\n"); return -1; } } else { @@ -2745,11 +2746,11 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str after_poll = 1; res = ast_wait_for_input(tcptls_session->fd, timeout); if (res < 0) { - ast_debug(2, "SIP TCP server :: ast_wait_for_input returned %d\n", res); + ast_debug(2, "SIP TLS server :: ast_wait_for_input returned %d\n", res); return -1; } else if (res == 0) { /* timeout */ - ast_debug(2, "SIP TCP server timed out\n"); + ast_debug(2, "SIP TLS server timed out\n"); return -1; } } @@ -2770,6 +2771,13 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str return -1; } ast_str_append(&req->data, 0, "%s", buf); + + datalen = ast_str_strlen(req->data); + if (datalen > SIP_MAX_PACKET_SIZE) { + ast_log(LOG_WARNING, "Rejecting TLS packet from '%s' because way too large: %zu\n", + ast_sockaddr_stringify(&tcptls_session->remote_address), datalen); + return -1; + } } copy_request(reqcpy, req); parse_request(reqcpy); @@ -2783,7 +2791,7 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str } if (timeout == 0) { - ast_debug(2, "SIP SSL server timed out\n"); + ast_debug(2, "SIP TLS server timed out\n"); return -1; } } else { @@ -2795,11 +2803,11 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str after_poll = 1; res = ast_wait_for_input(tcptls_session->fd, timeout); if (res < 0) { - ast_debug(2, "SIP TCP server :: ast_wait_for_input returned %d\n", res); + ast_debug(2, "SIP TLS server :: ast_wait_for_input returned %d\n", res); return -1; } else if (res == 0) { /* timeout */ - ast_debug(2, "SIP TCP server timed out\n"); + ast_debug(2, "SIP TLS server timed out\n"); return -1; } } @@ -2822,6 +2830,13 @@ static int sip_tls_read(struct sip_request *req, struct sip_request *reqcpy, str } content_length -= strlen(buf); ast_str_append(&req->data, 0, "%s", buf); + + datalen = ast_str_strlen(req->data); + if (datalen > SIP_MAX_PACKET_SIZE) { + ast_log(LOG_WARNING, "Rejecting TLS packet from '%s' because way too large: %zu\n", + ast_sockaddr_stringify(&tcptls_session->remote_address), datalen); + return -1; + } } } /*! \todo XXX If there's no Content-Length or if the content-length and what @@ -2995,6 +3010,8 @@ static int sip_tcp_read(struct sip_request *req, struct ast_tcptls_session_insta enum message_integrity message_integrity = MESSAGE_FRAGMENT; while (message_integrity == MESSAGE_FRAGMENT) { + size_t datalen; + if (ast_str_strlen(tcptls_session->overflow_buf) == 0) { char readbuf[4097]; int timeout; @@ -3034,6 +3051,13 @@ static int sip_tcp_read(struct sip_request *req, struct ast_tcptls_session_insta ast_str_append(&req->data, 0, "%s", ast_str_buffer(tcptls_session->overflow_buf)); ast_str_reset(tcptls_session->overflow_buf); } + + datalen = ast_str_strlen(req->data); + if (datalen > SIP_MAX_PACKET_SIZE) { + ast_log(LOG_WARNING, "Rejecting TCP packet from '%s' because way too large: %zu\n", + ast_sockaddr_stringify(&tcptls_session->remote_address), datalen); + return -1; + } message_integrity = check_message_integrity(&req->data, &tcptls_session->overflow_buf); } @@ -3105,7 +3129,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s } me->threadid = pthread_self(); - ast_debug(2, "Starting thread for %s server\n", tcptls_session->ssl ? "SSL" : "TCP"); + ast_debug(2, "Starting thread for %s server\n", tcptls_session->ssl ? "TLS" : "TCP"); /* set up pollfd to watch for reads on both the socket and the alert_pipe */ fds[0].fd = tcptls_session->fd; @@ -3139,7 +3163,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s } if (timeout == 0) { - ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "SSL": "TCP"); + ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "TLS": "TCP"); goto cleanup; } } else { @@ -3149,11 +3173,11 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s if (ast_str_strlen(tcptls_session->overflow_buf) == 0) { res = ast_poll(fds, 2, timeout); /* polls for both socket and alert_pipe */ if (res < 0) { - ast_debug(2, "SIP %s server :: ast_wait_for_input returned %d\n", tcptls_session->ssl ? "SSL": "TCP", res); + ast_debug(2, "SIP %s server :: ast_wait_for_input returned %d\n", tcptls_session->ssl ? "TLS": "TCP", res); goto cleanup; } else if (res == 0) { /* timeout */ - ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "SSL": "TCP"); + ast_debug(2, "SIP %s server timed out\n", tcptls_session->ssl ? "TLS": "TCP"); goto cleanup; } } @@ -3235,7 +3259,7 @@ static void *_sip_tcp_helper_thread(struct ast_tcptls_session_instance *tcptls_s } } - ast_debug(2, "Shutting down thread for %s server\n", tcptls_session->ssl ? "SSL" : "TCP"); + ast_debug(2, "Shutting down thread for %s server\n", tcptls_session->ssl ? "TLS" : "TCP"); cleanup: if (tcptls_session && !tcptls_session->client && !authenticated) { diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h index 9a818553b4..f51ac77495 100644 --- a/channels/sip/include/sip.h +++ b/channels/sip/include/sip.h @@ -101,6 +101,7 @@ #define SIP_MAX_HEADERS 64 /*!< Max amount of SIP headers to read */ #define SIP_MAX_LINES 256 /*!< Max amount of lines in SIP attachment (like SDP) */ +#define SIP_MAX_PACKET_SIZE 20480 /*!< Max SIP packet size */ #define SIP_MIN_PACKET 4096 /*!< Initialize size of memory to allocate for packets */ #define MAX_HISTORY_ENTRIES 50 /*!< Max entires in the history list for a sip_pvt */ diff --git a/main/http.c b/main/http.c index 44148edf8b..fc29312900 100644 --- a/main/http.c +++ b/main/http.c @@ -611,6 +611,7 @@ struct ast_variable *ast_http_get_post_vars( int content_length = 0; struct ast_variable *v, *post_vars=NULL, *prev = NULL; char *buf, *var, *val; + int res; for (v = headers; v; v = v->next) { if (!strcasecmp(v->name, "Content-Type")) { @@ -623,20 +624,28 @@ struct ast_variable *ast_http_get_post_vars( for (v = headers; v; v = v->next) { if (!strcasecmp(v->name, "Content-Length")) { - content_length = atoi(v->value) + 1; + content_length = atoi(v->value); break; } } - if (!content_length) { + if (content_length <= 0) { return NULL; } - buf = ast_alloca(content_length); - if (!fgets(buf, content_length, ser->f)) { + buf = ast_malloc(content_length + 1); + if (!buf) { return NULL; } + res = fread(buf, 1, content_length, ser->f); + if (res < content_length) { + /* Error, distinguishable by ferror() or feof(), but neither + * is good. */ + goto done; + } + buf[content_length] = '\0'; + while ((val = strsep(&buf, "&"))) { var = strsep(&val, "="); if (val) { @@ -654,6 +663,9 @@ struct ast_variable *ast_http_get_post_vars( prev = v; } } + +done: + ast_free(buf); return post_vars; } diff --git a/res/res_jabber.c b/res/res_jabber.c index fa6bbfdbf1..fa45fdf6de 100644 --- a/res/res_jabber.c +++ b/res/res_jabber.c @@ -785,7 +785,7 @@ static struct ast_custom_function jabberstatus_function = { */ static int acf_jabberreceive_read(struct ast_channel *chan, const char *name, char *data, char *buf, size_t buflen) { - char *aux = NULL, *parse = NULL; + char *parse = NULL; int timeout; int jidlen, resourcelen; struct timeval start; @@ -902,7 +902,7 @@ static int acf_jabberreceive_read(struct ast_channel *chan, const char *name, ch continue; } found = 1; - aux = ast_strdupa(tmp->message); + ast_copy_string(buf, tmp->message, buflen); AST_LIST_REMOVE_CURRENT(list); aji_message_destroy(tmp); break; @@ -927,7 +927,6 @@ static int acf_jabberreceive_read(struct ast_channel *chan, const char *name, ch ast_log(LOG_NOTICE, "Timed out : no message received from %s\n", args.jid); return -1; } - ast_copy_string(buf, aux, buflen); return 0; } From 675914bb1756fada8599600e4544ddc2a8c808b1 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 2 Jan 2013 18:20:03 +0000 Subject: [PATCH 142/186] Merged revisions 378322 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378322 | mjordan | 2013-01-02 12:11:59 -0600 (Wed, 02 Jan 2013) | 33 lines Prevent exhaustion of system resources through exploitation of event cache Asterisk maintains an internal cache for devices in the event subsystem. The device state cache holds the state of each device known to Asterisk, such that consumers of device state information can query for the last known state for a particular device, even if it is not part of an active call. The concept of a device in Asterisk can include entities that do not have a physical representation. One way that this occurred was when anonymous calls are allowed in Asterisk. A device was automatically created and stored in the cache for each anonymous call that occurred; this was possible in the SIP and IAX2 channel drivers and through channel drivers that utilized the res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). These devices are never removed from the system, allowing anonymous calls to potentially exhaust a system's resources. This patch changes the event cache subsystem and device state management to no longer cache devices that are not associated with a physical entity. (issue ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore patches: event-cachability-3.diff uploaded by jcolp (license 5000) ........ Merged revisions 378303 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378320 from http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged revisions 378321 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378329 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_confbridge.c | 2 +- apps/app_meetme.c | 16 ++++---- apps/app_queue.c | 20 +++++----- apps/confbridge/conf_state_empty.c | 2 +- channels/chan_agent.c | 12 +++--- channels/chan_dahdi.c | 7 ++-- channels/chan_iax2.c | 32 +++++++++------- channels/chan_local.c | 3 ++ channels/chan_sip.c | 18 +++++---- channels/chan_skinny.c | 16 ++++---- funcs/func_devstate.c | 6 +-- include/asterisk/channel.h | 6 +++ include/asterisk/devicestate.h | 16 ++++++-- include/asterisk/event_defs.h | 8 +++- main/ccss.c | 2 +- main/channel.c | 4 +- main/channel_internal_api.c | 1 + main/devicestate.c | 51 ++++++++++++++++--------- main/event.c | 2 +- main/features.c | 2 +- res/res_calendar.c | 8 ++-- res/res_jabber.c | 61 ++++++++++++++++++++++-------- 22 files changed, 189 insertions(+), 106 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index 22e97f1933..687830ba5e 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -1043,7 +1043,7 @@ int conf_add_post_join_action(struct conference_bridge_user *cbu, int (*func)(st void conf_handle_first_join(struct conference_bridge *conference_bridge) { - ast_devstate_changed(AST_DEVICE_INUSE, "confbridge:%s", conference_bridge->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "confbridge:%s", conference_bridge->name); } void conf_handle_second_active(struct conference_bridge *conference_bridge) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 9346e7b3c5..9c72abe330 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -2706,7 +2706,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, struc /* This device changed state now - if this is the first user */ if (conf->users == 1) - ast_devstate_changed(AST_DEVICE_INUSE, "meetme:%s", conf->confno); + ast_devstate_changed(AST_DEVICE_INUSE, (conf->isdynamic ? AST_DEVSTATE_NOT_CACHABLE : AST_DEVSTATE_CACHABLE), "meetme:%s", conf->confno); ast_mutex_unlock(&conf->playlock); @@ -4097,7 +4097,7 @@ bailoutandtrynormal: /* Change any states */ if (!conf->users) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "meetme:%s", conf->confno); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, (conf->isdynamic ? AST_DEVSTATE_NOT_CACHABLE : AST_DEVSTATE_CACHABLE), "meetme:%s", conf->confno); } /* This flag is meant to kill a conference with only one participant remaining. */ @@ -5592,8 +5592,8 @@ static void sla_change_trunk_state(const struct sla_trunk *trunk, enum sla_trunk || trunk_ref == exclude) continue; trunk_ref->state = state; - ast_devstate_changed(sla_state_to_devstate(state), - "SLA:%s_%s", station->name, trunk->name); + ast_devstate_changed(sla_state_to_devstate(state), AST_DEVSTATE_CACHABLE, + "SLA:%s_%s", station->name, trunk->name); break; } } @@ -6091,8 +6091,8 @@ static void sla_handle_hold_event(struct sla_event *event) { ast_atomic_fetchadd_int((int *) &event->trunk_ref->trunk->hold_stations, 1); event->trunk_ref->state = SLA_TRUNK_STATE_ONHOLD_BYME; - ast_devstate_changed(AST_DEVICE_ONHOLD, "SLA:%s_%s", - event->station->name, event->trunk_ref->trunk->name); + ast_devstate_changed(AST_DEVICE_ONHOLD, AST_DEVSTATE_CACHABLE, "SLA:%s_%s", + event->station->name, event->trunk_ref->trunk->name); sla_change_trunk_state(event->trunk_ref->trunk, SLA_TRUNK_STATE_ONHOLD, INACTIVE_TRUNK_REFS, event->trunk_ref); @@ -6601,8 +6601,8 @@ static int sla_station_exec(struct ast_channel *chan, const char *data) sla_change_trunk_state(trunk_ref->trunk, SLA_TRUNK_STATE_UP, ALL_TRUNK_REFS, NULL); else { trunk_ref->state = SLA_TRUNK_STATE_UP; - ast_devstate_changed(AST_DEVICE_INUSE, - "SLA:%s_%s", station->name, trunk_ref->trunk->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, + "SLA:%s_%s", station->name, trunk_ref->trunk->name); } } else if (trunk_ref->state == SLA_TRUNK_STATE_RINGING) { struct sla_ringing_trunk *ringing_trunk; diff --git a/apps/app_queue.c b/apps/app_queue.c index eac4d2ff6e..c0daff4b6f 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1791,9 +1791,9 @@ static int handle_statechange(void *datap) if (found_member) { found = 1; if (avail) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } else { - ast_devstate_changed(AST_DEVICE_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } } @@ -2083,7 +2083,7 @@ static void init_queue(struct call_queue *q) * AST_DEVICE_INUSE indicates no members are available. * AST_DEVICE_NOT_INUSE indicates a member is available. */ - ast_devstate_changed(AST_DEVICE_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } static void clear_queue(struct call_queue *q) @@ -2963,7 +2963,7 @@ static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result * ast_copy_string(qe->context, q->context, sizeof(qe->context)); q->count++; if (q->count == 1) { - ast_devstate_changed(AST_DEVICE_RINGING, "Queue:%s", q->name); + ast_devstate_changed(AST_DEVICE_RINGING, AST_DEVSTATE_CACHABLE, "Queue:%s", q->name); } res = 0; @@ -3271,7 +3271,7 @@ static void leave_queue(struct queue_ent *qe) char posstr[20]; q->count--; if (!q->count) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Queue:%s", q->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s", q->name); } /* Take us out of the queue */ @@ -3538,7 +3538,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies if (newstate != tmp->member->status) { ast_log(LOG_WARNING, "Found a channel matching iterface %s while status was %s changed to %s\n", tmp->member->interface, ast_devstate2str(tmp->member->status), ast_devstate2str(newstate)); - ast_devstate_changed_literal(newstate, tmp->member->interface); + ast_devstate_changed_literal(newstate, AST_DEVSTATE_CACHABLE, tmp->member->interface); } } if ((tmp->member->status != AST_DEVICE_NOT_INUSE) && (tmp->member->status != AST_DEVICE_UNKNOWN)) { @@ -6027,7 +6027,7 @@ static int remove_from_queue(const char *queuename, const char *interface) } if (!num_available_members(q)) { - ast_devstate_changed(AST_DEVICE_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } res = RES_OKAY; @@ -6104,7 +6104,7 @@ static int add_to_queue(const char *queuename, const char *interface, const char new_member->status, new_member->paused); if (is_member_available(new_member)) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } ao2_ref(new_member, -1); @@ -6175,9 +6175,9 @@ static int set_member_paused(const char *queuename, const char *interface, const } if (is_member_available(mem)) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } else if (!num_available_members(q)) { - ast_devstate_changed(AST_DEVICE_INUSE, "Queue:%s_avail", q->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Queue:%s_avail", q->name); } ast_queue_log(q->name, "NONE", mem->membername, (paused ? "PAUSE" : "UNPAUSE"), "%s", S_OR(reason, "")); diff --git a/apps/confbridge/conf_state_empty.c b/apps/confbridge/conf_state_empty.c index 22997ad2c6..afc736d4a2 100644 --- a/apps/confbridge/conf_state_empty.c +++ b/apps/confbridge/conf_state_empty.c @@ -81,6 +81,6 @@ static void join_marked(struct conference_bridge_user *cbu) static void transition_to_empty(struct conference_bridge_user *cbu) { /* Set device state to "not in use" */ - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "confbridge:%s", cbu->conference_bridge->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "confbridge:%s", cbu->conference_bridge->name); conf_ended(cbu->conference_bridge); } diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 42492f4a2b..a9a70d01d9 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -618,7 +618,7 @@ static struct ast_frame *agent_read(struct ast_channel *ast) if (p->chan) { ast_channel_internal_bridged_channel_set(p->chan, NULL); p->chan = NULL; - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); p->acknowledged = 0; } } else { @@ -875,7 +875,7 @@ static int agent_call(struct ast_channel *ast, const char *dest, int timeout) } else { /* Agent hung-up */ p->chan = NULL; - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); } if (!res) { @@ -995,7 +995,7 @@ static int agent_hangup(struct ast_channel *ast) if (!p->loginstart) { p->logincallerid[0] = '\0'; } else { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); } if (p->abouttograb) { @@ -2143,7 +2143,7 @@ static int login_exec(struct ast_channel *chan, const char *data) } ast_mutex_unlock(&p->lock); AST_LIST_UNLOCK(&agents); - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); while (res >= 0) { ast_mutex_lock(&p->lock); if (p->deferlogoff && p->chan) { @@ -2164,7 +2164,7 @@ static int login_exec(struct ast_channel *chan, const char *data) if (ast_tvdiff_ms(ast_tvnow(), p->lastdisc) > 0) { ast_debug(1, "Wrapup time for %s expired!\n", p->agent); p->lastdisc = ast_tv(0, 0); - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); if (p->ackcall) { check_beep(p, 0); } else { @@ -2235,7 +2235,7 @@ static int login_exec(struct ast_channel *chan, const char *data) ast_queue_log("NONE", ast_channel_uniqueid(chan), agent, "AGENTLOGOFF", "%s|%ld", ast_channel_name(chan), logintime); ast_verb(2, "Agent '%s' logged out\n", p->agent); /* If there is no owner, go ahead and kill it now */ - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "Agent/%s", p->agent); + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "Agent/%s", p->agent); if (p->dead && !p->owner) { ast_mutex_destroy(&p->lock); ast_cond_destroy(&p->app_complete_cond); diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index ce2d233256..84b308910b 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -3478,7 +3478,7 @@ static void dahdi_pri_update_span_devstate(struct sig_pri_span *pri) } if (pri->congestion_devstate != new_state) { pri->congestion_devstate = new_state; - ast_devstate_changed(AST_DEVICE_UNKNOWN, "DAHDI/I%d/congestion", pri->span); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_NOT_CACHABLE, "DAHDI/I%d/congestion", pri->span); } #if defined(THRESHOLD_DEVSTATE_PLACEHOLDER) /* Update the span threshold device state and report any change. */ @@ -3494,7 +3494,7 @@ static void dahdi_pri_update_span_devstate(struct sig_pri_span *pri) } if (pri->threshold_devstate != new_state) { pri->threshold_devstate = new_state; - ast_devstate_changed(AST_DEVICE_UNKNOWN, "DAHDI/I%d/threshold", pri->span); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_NOT_CACHABLE, "DAHDI/I%d/threshold", pri->span); } #endif /* defined(THRESHOLD_DEVSTATE_PLACEHOLDER) */ } @@ -10037,7 +10037,8 @@ static struct ast_channel *dahdi_new(struct dahdi_pvt *i, int state, int startpb if (dashptr) { *dashptr = '\0'; } - ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, device_name); + ast_set_flag(ast_channel_flags(tmp), AST_FLAG_DISABLE_DEVSTATE_CACHE); + ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, AST_DEVSTATE_NOT_CACHABLE, device_name); for (v = i->vars ; v ; v = v->next) pbx_builtin_setvar_helper(tmp, v->name, v->value); diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 7a2528fc3a..42588b1815 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5819,7 +5819,7 @@ static int iax2_getpeertrunk(struct sockaddr_in sin) } /*! \brief Create new call, interface with the PBX core */ -static struct ast_channel *ast_iax2_new(int callno, int state, iax2_format capability, const char *linkedid) +static struct ast_channel *ast_iax2_new(int callno, int state, iax2_format capability, const char *linkedid, unsigned int cachable) { struct ast_channel *tmp; struct chan_iax2_pvt *i; @@ -5901,6 +5901,10 @@ static struct ast_channel *ast_iax2_new(int callno, int state, iax2_format capab i->owner = tmp; i->capability = capability; + if (!cachable) { + ast_set_flag(ast_channel_flags(tmp), AST_FLAG_DISABLE_DEVSTATE_CACHE); + } + /* Set inherited variables */ if (i->vars) { for (v = i->vars ; v ; v = v->next) @@ -8182,7 +8186,7 @@ static int register_verify(int callno, struct sockaddr_in *sin, struct iax_ies * /* if challenge has been sent, but no challenge response if given, reject. */ goto return_unref; } - ast_devstate_changed(AST_DEVICE_UNKNOWN, "IAX2/%s", p->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "IAX2/%s", p->name); /* Activate notification */ /* either Authentication has taken place, or a REGAUTH must be sent before verifying registration */ res = 0; @@ -8736,7 +8740,7 @@ static void __expire_registry(const void *data) if (!ast_test_flag64(peer, IAX_TEMPONLY)) ast_db_del("IAX/Registry", peer->name); register_peer_exten(peer, 0); - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "IAX2/%s", peer->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "IAX2/%s", peer->name); /* Activate notification */ if (iax2_regfunk) iax2_regfunk(peer->name, 0); @@ -8791,7 +8795,7 @@ static void reg_source_db(struct iax2_peer *p) } } - ast_devstate_changed(AST_DEVICE_UNKNOWN, "IAX2/%s", p->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "IAX2/%s", p->name); /* Activate notification */ p->expire = iax2_sched_add(sched, (p->expiry + 10) * 1000, expire_registry, peer_ref(p)); if (p->expire == -1) { @@ -8868,14 +8872,14 @@ static int update_registry(struct sockaddr_in *sin, int callno, char *devtype, i ast_test_flag(&iaxs[callno]->state, IAX_STATE_AUTHENTICATED) ? "AUTHENTICATED" : "UNAUTHENTICATED", ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port)); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Registered\r\nAddress: %s\r\nPort: %d\r\n", p->name, ast_inet_ntoa(sin->sin_addr), ntohs(sin->sin_port)); register_peer_exten(p, 1); - ast_devstate_changed(AST_DEVICE_UNKNOWN, "IAX2/%s", p->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "IAX2/%s", p->name); /* Activate notification */ } else if (!ast_test_flag64(p, IAX_TEMPONLY)) { ast_verb(3, "Unregistered IAX2 '%s' (%s)\n", p->name, ast_test_flag(&iaxs[callno]->state, IAX_STATE_AUTHENTICATED) ? "AUTHENTICATED" : "UNAUTHENTICATED"); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Unregistered\r\n", p->name); register_peer_exten(p, 0); ast_db_del("IAX/Registry", p->name); - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "IAX2/%s", p->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "IAX2/%s", p->name); /* Activate notification */ } /* Update the host */ /* Verify that the host is really there */ @@ -10441,7 +10445,8 @@ static int socket_process_helper(struct iax2_thread *thread) (f.frametype == AST_FRAME_IAX)) { if (ast_test_flag64(iaxs[fr->callno], IAX_DELAYPBXSTART)) { ast_clear_flag64(iaxs[fr->callno], IAX_DELAYPBXSTART); - if (!ast_iax2_new(fr->callno, AST_STATE_RING, iaxs[fr->callno]->chosenformat, NULL)) { + if (!ast_iax2_new(fr->callno, AST_STATE_RING, iaxs[fr->callno]->chosenformat, NULL, + ast_test_flag(&iaxs[fr->callno]->state, IAX_STATE_AUTHENTICATED))) { ast_variables_destroy(ies.vars); ast_mutex_unlock(&iaxsl[fr->callno]); return 1; @@ -11083,13 +11088,13 @@ static int socket_process_helper(struct iax2_thread *thread) if (iaxs[fr->callno]->pingtime <= peer->maxms) { ast_log(LOG_NOTICE, "Peer '%s' is now REACHABLE! Time: %d\n", peer->name, iaxs[fr->callno]->pingtime); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Reachable\r\nTime: %d\r\n", peer->name, iaxs[fr->callno]->pingtime); - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "IAX2/%s", peer->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "IAX2/%s", peer->name); /* Activate notification */ } } else if ((peer->historicms > 0) && (peer->historicms <= peer->maxms)) { if (iaxs[fr->callno]->pingtime > peer->maxms) { ast_log(LOG_NOTICE, "Peer '%s' is now TOO LAGGED (%d ms)!\n", peer->name, iaxs[fr->callno]->pingtime); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Lagged\r\nTime: %d\r\n", peer->name, iaxs[fr->callno]->pingtime); - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "IAX2/%s", peer->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "IAX2/%s", peer->name); /* Activate notification */ } } peer->lastms = iaxs[fr->callno]->pingtime; @@ -11333,7 +11338,7 @@ static int socket_process_helper(struct iax2_thread *thread) using_prefs); ast_set_flag(&iaxs[fr->callno]->state, IAX_STATE_STARTED); - if (!(c = ast_iax2_new(fr->callno, AST_STATE_RING, format, NULL))) + if (!(c = ast_iax2_new(fr->callno, AST_STATE_RING, format, NULL, 1))) iax2_destroy(fr->callno); else if (ies.vars) { struct ast_datastore *variablestore; @@ -11404,7 +11409,7 @@ immediatedial: iax2_getformatname_multiple(tmp, sizeof(tmp), iaxs[fr->callno]->peerformat)); ast_set_flag(&iaxs[fr->callno]->state, IAX_STATE_STARTED); send_command(iaxs[fr->callno], AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, 0, NULL, 0, -1); - if (!(c = ast_iax2_new(fr->callno, AST_STATE_RING, iaxs[fr->callno]->peerformat, NULL))) + if (!(c = ast_iax2_new(fr->callno, AST_STATE_RING, iaxs[fr->callno]->peerformat, NULL, 1))) iax2_destroy(fr->callno); else if (ies.vars) { struct ast_datastore *variablestore; @@ -12171,7 +12176,7 @@ static void __iax2_poke_noanswer(const void *data) if (peer->lastms > -1) { ast_log(LOG_NOTICE, "Peer '%s' is now UNREACHABLE! Time: %d\n", peer->name, peer->lastms); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Unreachable\r\nTime: %d\r\n", peer->name, peer->lastms); - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "IAX2/%s", peer->name); /* Activate notification */ + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "IAX2/%s", peer->name); /* Activate notification */ } if ((callno = peer->callno) > 0) { ast_mutex_lock(&iaxsl[callno]); @@ -12345,7 +12350,8 @@ static struct ast_channel *iax2_request(const char *type, struct ast_format_cap ast_string_field_set(iaxs[callno], host, pds.peer); } - c = ast_iax2_new(callno, AST_STATE_DOWN, cai.capability, requestor ? ast_channel_linkedid(requestor) : NULL); + c = ast_iax2_new(callno, AST_STATE_DOWN, cai.capability, requestor ? ast_channel_linkedid(requestor) : NULL, cai.found); + ast_mutex_unlock(&iaxsl[callno]); if (c) { diff --git a/channels/chan_local.c b/channels/chan_local.c index 14912793f5..7fa6bf5133 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -1271,6 +1271,9 @@ static struct ast_channel *local_new(struct local_pvt *p, int state, const char ast_channel_tech_pvt_set(tmp, p); ast_channel_tech_pvt_set(tmp2, p); + ast_set_flag(ast_channel_flags(tmp), AST_FLAG_DISABLE_DEVSTATE_CACHE); + ast_set_flag(ast_channel_flags(tmp2), AST_FLAG_DISABLE_DEVSTATE_CACHE); + p->owner = tmp; p->chan = tmp2; diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b2b3395c7f..18c14eacd3 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6854,7 +6854,7 @@ static int update_call_counter(struct sip_pvt *fup, int event) } if (p) { - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", p->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "SIP/%s", p->name); sip_unref_peer(p, "update_call_counter: sip_unref_peer from call counter"); } return 0; @@ -8115,6 +8115,9 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, const char *tit ast_jb_configure(tmp, &global_jbconf); } + if (!i->relatedpeer) { + ast_set_flag(ast_channel_flags(tmp), AST_FLAG_DISABLE_DEVSTATE_CACHE); + } /* Set channel variables for this call from configuration */ for (v = i->chanvars ; v ; v = v->next) { char valuebuf[1024]; @@ -15668,7 +15671,7 @@ static int expire_register(const void *data) manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Unregistered\r\nCause: Expired\r\n", peer->name); register_peer_exten(peer, FALSE); /* Remove regexten */ - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "SIP/%s", peer->name); /* Do we need to release this peer from memory? Only for realtime peers and autocreated peers @@ -16459,8 +16462,9 @@ static void sip_peer_hold(struct sip_pvt *p, int hold) ast_atomic_fetchadd_int(&p->relatedpeer->onhold, (hold ? +1 : -1)); /* Request device state update */ - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", p->relatedpeer->name); - + ast_devstate_changed(AST_DEVICE_UNKNOWN, (ast_test_flag(ast_channel_flags(p->owner), AST_FLAG_DISABLE_DEVSTATE_CACHE) ? AST_DEVSTATE_NOT_CACHABLE : AST_DEVSTATE_CACHABLE), + "SIP/%s", p->relatedpeer->name); + return; } @@ -16983,7 +16987,7 @@ static enum check_auth_result register_verify(struct sip_pvt *p, struct ast_sock } else { update_peer_lastmsgssent(peer, -1, 0); } - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "SIP/%s", peer->name); } if (res < 0) { switch (res) { @@ -23439,7 +23443,7 @@ static void handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_req ast_log(LOG_NOTICE, "Peer '%s' is now %s. (%dms / %dms)\n", peer->name, s, pingtime, peer->maxms); - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "SIP/%s", peer->name); if (sip_cfg.peer_rtupdate) { ast_update_realtime(ast_check_realtime("sipregs") ? "sipregs" : "sippeers", "name", peer->name, "lastms", str_lastms, SENTINEL); } @@ -29350,7 +29354,7 @@ static int sip_poke_noanswer(const void *data) /* Don't send a devstate change if nothing changed. */ if (peer->lastms > -1) { peer->lastms = -1; - ast_devstate_changed(AST_DEVICE_UNKNOWN, "SIP/%s", peer->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "SIP/%s", peer->name); } /* Try again quickly */ diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 2e43411ab5..a11cac6205 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -2145,7 +2145,7 @@ static int skinny_register(struct skinny_req *req, struct skinnysession *s) AST_LIST_TRAVERSE(&l->sublines, subline, list) { ast_extension_state_add(subline->context, subline->exten, skinny_extensionstate_cb, subline->container); } - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); --instance; } break; @@ -2180,7 +2180,7 @@ static int skinny_unregister(struct skinny_req *req, struct skinnysession *s) l->instance = 0; manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: Skinny\r\nPeer: Skinny/%s@%s\r\nPeerStatus: Unregistered\r\n", l->name, d->name); unregister_exten(l); - ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_UNAVAILABLE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); } } } @@ -5947,7 +5947,7 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession event, d->name, instance, callreference); break; } - ast_devstate_changed(AST_DEVICE_UNKNOWN, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); return 1; } @@ -5987,7 +5987,7 @@ static int handle_offhook_message(struct skinny_req *req, struct skinnysession * transmit_ringer_mode(d, SKINNY_RING_OFF); d->hookstate = SKINNY_OFFHOOK; - ast_devstate_changed(AST_DEVICE_INUSE, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); if (sub && sub->substate == SUBSTATE_HOLD) { return 1; @@ -6054,7 +6054,7 @@ static int handle_onhook_message(struct skinny_req *req, struct skinnysession *s return 0; } - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); dumpsub(sub, 0); @@ -6390,7 +6390,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse return 0; } - ast_devstate_changed(AST_DEVICE_INUSE, "Skinny/%s", l->name); + ast_devstate_changed(AST_DEVICE_INUSE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); switch(event) { case SOFTKEY_NONE: @@ -6544,8 +6544,8 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse return 0; } - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Skinny/%s", l->name); - + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Skinny/%s", l->name); + if (sub) { dumpsub(sub, 1); } else { /* No sub, maybe an SLA call */ diff --git a/funcs/func_devstate.c b/funcs/func_devstate.c index e1f34387a1..6472610c8a 100644 --- a/funcs/func_devstate.c +++ b/funcs/func_devstate.c @@ -132,7 +132,7 @@ static int devstate_write(struct ast_channel *chan, const char *cmd, char *data, ast_db_put(astdb_family, data, value); - ast_devstate_changed(state_val, "Custom:%s", data); + ast_devstate_changed(state_val, AST_DEVSTATE_CACHABLE, "Custom:%s", data); return 0; } @@ -295,7 +295,7 @@ static char *handle_cli_devstate_change(struct ast_cli_entry *e, int cmd, struct ast_db_put(astdb_family, dev, state); - ast_devstate_changed(state_val, "Custom:%s", dev); + ast_devstate_changed(state_val, AST_DEVSTATE_CACHABLE, "Custom:%s", dev); return CLI_SUCCESS; } @@ -341,7 +341,7 @@ static int load_module(void) if (dev_name <= (const char *) 1) continue; ast_devstate_changed(ast_devstate_val(db_entry->data), - "Custom:%s\n", dev_name); + AST_DEVSTATE_CACHABLE, "Custom:%s\n", dev_name); } ast_db_freetree(db_tree); db_tree = NULL; diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 0157d761e6..9b408660bc 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -903,6 +903,12 @@ enum { * some non-traditional dialplans (like AGI) to continue to function. */ AST_FLAG_DISABLE_WORKAROUNDS = (1 << 20), + /*! Disable device state event caching. This allows allows channel + * drivers to selectively prevent device state events from being cached + * by certain channels such as anonymous calls which have no persistent + * represenatation that can be tracked. + */ + AST_FLAG_DISABLE_DEVSTATE_CACHE = (1 << 21), }; /*! \brief ast_bridge_config flags */ diff --git a/include/asterisk/devicestate.h b/include/asterisk/devicestate.h index 66ca2bd1a3..86740bc2fd 100644 --- a/include/asterisk/devicestate.h +++ b/include/asterisk/devicestate.h @@ -61,6 +61,14 @@ enum ast_device_state { AST_DEVICE_TOTAL, /*/ Total num of device states, used for testing */ }; +/*! \brief Device State Cachability + * \note This is used to define the cachability of a device state when set. + */ +enum ast_devstate_cache { + AST_DEVSTATE_NOT_CACHABLE, /*!< This device state is not cachable */ + AST_DEVSTATE_CACHABLE, /*!< This device state is cachable */ +}; + /*! \brief Devicestate provider call back */ typedef enum ast_device_state (*ast_devstate_prov_cb_type)(const char *data); @@ -129,6 +137,7 @@ enum ast_device_state ast_device_state(const char *device); * \brief Tells Asterisk the State for Device is changed * * \param state the new state of the device + * \param cachable whether this device state is cachable * \param fmt device name like a dial string with format parameters * * The new state of the device will be sent off to any subscribers @@ -138,13 +147,14 @@ enum ast_device_state ast_device_state(const char *device); * \retval 0 on success * \retval -1 on failure */ -int ast_devstate_changed(enum ast_device_state state, const char *fmt, ...) - __attribute__((format(printf, 2, 3))); +int ast_devstate_changed(enum ast_device_state state, enum ast_devstate_cache cachable, const char *fmt, ...) + __attribute__((format(printf, 3, 4))); /*! * \brief Tells Asterisk the State for Device is changed * * \param state the new state of the device + * \param cachable whether this device state is cachable * \param device device name like a dial string with format parameters * * The new state of the device will be sent off to any subscribers @@ -154,7 +164,7 @@ int ast_devstate_changed(enum ast_device_state state, const char *fmt, ...) * \retval 0 on success * \retval -1 on failure */ -int ast_devstate_changed_literal(enum ast_device_state state, const char *device); +int ast_devstate_changed_literal(enum ast_device_state state, enum ast_devstate_cache cachable, const char *device); /*! * \brief Tells Asterisk the State for Device is changed. diff --git a/include/asterisk/event_defs.h b/include/asterisk/event_defs.h index d3514f59c7..10c76d0da0 100644 --- a/include/asterisk/event_defs.h +++ b/include/asterisk/event_defs.h @@ -298,8 +298,14 @@ enum ast_event_ie_type { AST_EVENT_IE_PRESENCE_SUBTYPE = 0x003b, AST_EVENT_IE_PRESENCE_MESSAGE = 0x003c, + /*! + * \brief Event non-cachability flag + * Used by: All events + * Payload type: UINT + */ + AST_EVENT_IE_CACHABLE = 0x003d, /*! \brief Must be the last IE value +1 */ - AST_EVENT_IE_TOTAL = 0x003d, + AST_EVENT_IE_TOTAL = 0x003e, }; /*! diff --git a/main/ccss.c b/main/ccss.c index 6ce022ddf5..b479a3c541 100644 --- a/main/ccss.c +++ b/main/ccss.c @@ -649,7 +649,7 @@ static void ccss_notify_device_state_change(const char *device, enum cc_state st "Notification of CCSS state change to '%s', device state '%s' for device '%s'\n", cc_state_to_string(state), ast_devstate2str(devstate), device); - ast_devstate_changed(devstate, "ccss:%s", device); + ast_devstate_changed(devstate, AST_DEVSTATE_CACHABLE, "ccss:%s", device); } #define CC_OFFER_TIMER_DEFAULT 20 /* Seconds */ diff --git a/main/channel.c b/main/channel.c index 38d11b1c06..d1d4d095db 100644 --- a/main/channel.c +++ b/main/channel.c @@ -2482,7 +2482,7 @@ static void ast_channel_destructor(void *obj) * instance is dead, we don't know the state of all other possible * instances. */ - ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, device_name); + ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, (ast_test_flag(ast_channel_flags(chan), AST_FLAG_DISABLE_DEVSTATE_CACHE) ? AST_DEVSTATE_NOT_CACHABLE : AST_DEVSTATE_CACHABLE), device_name); } ast_channel_nativeformats_set(chan, ast_format_cap_destroy(ast_channel_nativeformats(chan))); @@ -7401,7 +7401,7 @@ int ast_setstate(struct ast_channel *chan, enum ast_channel_state state) /* We have to pass AST_DEVICE_UNKNOWN here because it is entirely possible that the channel driver * for this channel is using the callback method for device state. If we pass in an actual state here * we override what they are saying the state is and things go amuck. */ - ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, name); + ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, (ast_test_flag(ast_channel_flags(chan), AST_FLAG_DISABLE_DEVSTATE_CACHE) ? AST_DEVSTATE_NOT_CACHABLE : AST_DEVSTATE_CACHABLE), name); /* setstate used to conditionally report Newchannel; this is no more */ /*** DOCUMENTATION diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c index c7ed84c349..3f892ddef5 100644 --- a/main/channel_internal_api.c +++ b/main/channel_internal_api.c @@ -263,6 +263,7 @@ static void channel_data_add_flags(struct ast_data *tree, ast_data_add_bool(tree, "BRIDGE_HANGUP_RUN", ast_test_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_RUN)); ast_data_add_bool(tree, "BRIDGE_HANGUP_DONT", ast_test_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT)); ast_data_add_bool(tree, "DISABLE_WORKAROUNDS", ast_test_flag(ast_channel_flags(chan), AST_FLAG_DISABLE_WORKAROUNDS)); + ast_data_add_bool(tree, "DISABLE_DEVSTATE_CACHE", ast_test_flag(ast_channel_flags(chan), AST_FLAG_DISABLE_DEVSTATE_CACHE)); } int ast_channel_data_add_structure(struct ast_data *tree, diff --git a/main/devicestate.c b/main/devicestate.c index 3256a7b4f9..4ed51f9e39 100644 --- a/main/devicestate.c +++ b/main/devicestate.c @@ -174,6 +174,7 @@ static AST_RWLIST_HEAD_STATIC(devstate_provs, devstate_prov); struct state_change { AST_LIST_ENTRY(state_change) list; + enum ast_devstate_cache cachable; char device[1]; }; @@ -191,6 +192,7 @@ struct devstate_change { AST_LIST_ENTRY(devstate_change) entry; uint32_t state; struct ast_eid eid; + enum ast_devstate_cache cachable; char device[1]; }; @@ -424,7 +426,7 @@ static int getproviderstate(const char *provider, const char *address) return res; } -static void devstate_event(const char *device, enum ast_device_state state) +static void devstate_event(const char *device, enum ast_device_state state, int cachable) { struct ast_event *event; enum ast_event_type event_type; @@ -440,18 +442,23 @@ static void devstate_event(const char *device, enum ast_device_state state) ast_debug(3, "device '%s' state '%d'\n", device, state); if (!(event = ast_event_new(event_type, - AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, device, - AST_EVENT_IE_STATE, AST_EVENT_IE_PLTYPE_UINT, state, - AST_EVENT_IE_END))) { + AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, device, + AST_EVENT_IE_STATE, AST_EVENT_IE_PLTYPE_UINT, state, + AST_EVENT_IE_CACHABLE, AST_EVENT_IE_PLTYPE_UINT, cachable, + AST_EVENT_IE_END))) { return; } - ast_event_queue_and_cache(event); + if (cachable) { + ast_event_queue_and_cache(event); + } else { + ast_event_queue(event); + } } /*! Called by the state change thread to find out what the state is, and then * to queue up the state change event */ -static void do_state_change(const char *device) +static void do_state_change(const char *device, int cachable) { enum ast_device_state state; @@ -459,10 +466,10 @@ static void do_state_change(const char *device) ast_debug(3, "Changing state for %s - state %d (%s)\n", device, state, ast_devstate2str(state)); - devstate_event(device, state); + devstate_event(device, state, cachable); } -int ast_devstate_changed_literal(enum ast_device_state state, const char *device) +int ast_devstate_changed_literal(enum ast_device_state state, enum ast_devstate_cache cachable, const char *device) { struct state_change *change; @@ -483,14 +490,15 @@ int ast_devstate_changed_literal(enum ast_device_state state, const char *device */ if (state != AST_DEVICE_UNKNOWN) { - devstate_event(device, state); + devstate_event(device, state, cachable); } else if (change_thread == AST_PTHREADT_NULL || !(change = ast_calloc(1, sizeof(*change) + strlen(device)))) { /* we could not allocate a change struct, or */ /* there is no background thread, so process the change now */ - do_state_change(device); + do_state_change(device, cachable); } else { /* queue the change */ strcpy(change->device, device); + change->cachable = cachable; AST_LIST_LOCK(&state_changes); AST_LIST_INSERT_TAIL(&state_changes, change, list); ast_cond_signal(&change_pending); @@ -502,10 +510,10 @@ int ast_devstate_changed_literal(enum ast_device_state state, const char *device int ast_device_state_changed_literal(const char *dev) { - return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, dev); + return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, dev); } -int ast_devstate_changed(enum ast_device_state state, const char *fmt, ...) +int ast_devstate_changed(enum ast_device_state state, enum ast_devstate_cache cachable, const char *fmt, ...) { char buf[AST_MAX_EXTENSION]; va_list ap; @@ -514,7 +522,7 @@ int ast_devstate_changed(enum ast_device_state state, const char *fmt, ...) vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); - return ast_devstate_changed_literal(state, buf); + return ast_devstate_changed_literal(state, cachable, buf); } int ast_device_state_changed(const char *fmt, ...) @@ -526,7 +534,7 @@ int ast_device_state_changed(const char *fmt, ...) vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); - return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, buf); + return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, buf); } /*! \brief Go through the dev state change queue and update changes in the dev state thread */ @@ -546,7 +554,7 @@ static void *do_devstate_changes(void *data) /* Process each state change */ while ((current = next)) { next = AST_LIST_NEXT(current, list); - do_state_change(current->device); + do_state_change(current->device, current->cachable); ast_free(current); } } @@ -590,7 +598,7 @@ static void devstate_cache_cb(const struct ast_event *event, void *data) collection->num_states++; } -static void process_collection(const char *device, struct change_collection *collection) +static void process_collection(const char *device, enum ast_devstate_cache cachable, struct change_collection *collection) { int i; struct ast_devstate_aggregate agg; @@ -641,7 +649,11 @@ static void process_collection(const char *device, struct change_collection *col return; } - ast_event_queue_and_cache(event); + if (cachable) { + ast_event_queue_and_cache(event); + } else { + ast_event_queue(event); + } } static void handle_devstate_change(struct devstate_change *sc) @@ -667,7 +679,7 @@ static void handle_devstate_change(struct devstate_change *sc) /* Populate the collection of device states from the cache */ ast_event_dump_cache(tmp_sub); - process_collection(sc->device, &collection); + process_collection(sc->device, sc->cachable, &collection); ast_event_sub_destroy(tmp_sub); } @@ -696,10 +708,12 @@ static void devstate_change_collector_cb(const struct ast_event *event, void *da const char *device; const struct ast_eid *eid; uint32_t state; + enum ast_devstate_cache cachable = AST_DEVSTATE_CACHABLE; device = ast_event_get_ie_str(event, AST_EVENT_IE_DEVICE); eid = ast_event_get_ie_raw(event, AST_EVENT_IE_EID); state = ast_event_get_ie_uint(event, AST_EVENT_IE_STATE); + cachable = ast_event_get_ie_uint(event, AST_EVENT_IE_CACHABLE); if (ast_strlen_zero(device) || !eid) { ast_log(LOG_ERROR, "Invalid device state change event received\n"); @@ -712,6 +726,7 @@ static void devstate_change_collector_cb(const struct ast_event *event, void *da strcpy(sc->device, device); sc->eid = *eid; sc->state = state; + sc->cachable = cachable; ast_mutex_lock(&devstate_collector.lock); AST_LIST_INSERT_TAIL(&devstate_collector.devstate_change_q, sc, entry); diff --git a/main/event.c b/main/event.c index 2c4670b52e..34ba01942a 100644 --- a/main/event.c +++ b/main/event.c @@ -279,7 +279,7 @@ static const struct ie_map { [AST_EVENT_IE_RECEIVED_HASH] = { AST_EVENT_IE_PLTYPE_STR, "ReceivedHash" }, [AST_EVENT_IE_USING_PASSWORD] = { AST_EVENT_IE_PLTYPE_UINT, "UsingPassword" }, [AST_EVENT_IE_ATTEMPTED_TRANSPORT] = { AST_EVENT_IE_PLTYPE_STR, "AttemptedTransport" }, - + [AST_EVENT_IE_CACHABLE] = { AST_EVENT_IE_PLTYPE_UINT, "Cachable" }, }; const char *ast_event_get_type_name(const struct ast_event *event) diff --git a/main/features.c b/main/features.c index 5e544cc26c..44f140e16c 100644 --- a/main/features.c +++ b/main/features.c @@ -1257,7 +1257,7 @@ static void notify_metermaids(const char *exten, char *context, enum ast_device_ ast_debug(4, "Notification of state change to metermaids %s@%s\n to state '%s'", exten, context, ast_devstate2str(state)); - ast_devstate_changed(state, "park:%s@%s", exten, context); + ast_devstate_changed(state, AST_DEVSTATE_CACHABLE, "park:%s@%s", exten, context); } /*! \brief metermaids callback from devicestate.c */ diff --git a/res/res_calendar.c b/res/res_calendar.c index ed441d10ac..fd42375130 100644 --- a/res/res_calendar.c +++ b/res/res_calendar.c @@ -620,9 +620,9 @@ static struct ast_calendar_event *destroy_event(struct ast_calendar_event *event * but haven't hit the end event yet, go ahead and set the devicestate to the current busy status */ if (event->bs_start_sched < 0 && event->bs_end_sched >= 0) { if (!calendar_is_busy(event->owner)) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Calendar:%s", event->owner->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Calendar:%s", event->owner->name); } else { - ast_devstate_changed(AST_DEVICE_BUSY, "Calendar:%s", event->owner->name); + ast_devstate_changed(AST_DEVICE_BUSY, AST_DEVSTATE_CACHABLE, "Calendar:%s", event->owner->name); } } @@ -880,9 +880,9 @@ static int calendar_devstate_change(const void *data) /* We can have overlapping events, so ignore the event->busy_state and check busy state * based on all events in the calendar */ if (!calendar_is_busy(event->owner)) { - ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Calendar:%s", event->owner->name); + ast_devstate_changed(AST_DEVICE_NOT_INUSE, AST_DEVSTATE_CACHABLE, "Calendar:%s", event->owner->name); } else { - ast_devstate_changed(AST_DEVICE_BUSY, "Calendar:%s", event->owner->name); + ast_devstate_changed(AST_DEVICE_BUSY, AST_DEVSTATE_CACHABLE, "Calendar:%s", event->owner->name); } event = ast_calendar_unref_event(event); diff --git a/res/res_jabber.c b/res/res_jabber.c index fa45fdf6de..f74d6acf6c 100644 --- a/res/res_jabber.c +++ b/res/res_jabber.c @@ -361,7 +361,7 @@ static char *aji_cli_create_leafnode(struct ast_cli_entry *e, int cmd, static void aji_create_affiliations(struct aji_client *client, const char *node); static iks* aji_pubsub_iq_create(struct aji_client *client, const char *type); static void aji_publish_device_state(struct aji_client *client, const char * device, - const char *device_state); + const char *device_state, unsigned int cachable); static int aji_handle_pubsub_error(void *data, ikspak *pak); static int aji_handle_pubsub_event(void *data, ikspak *pak); static void aji_pubsub_subscribe(struct aji_client *client, const char *node); @@ -375,7 +375,7 @@ static void aji_publish_mwi(struct aji_client *client, const char *mailbox, static void aji_devstate_cb(const struct ast_event *ast_event, void *data); static void aji_mwi_cb(const struct ast_event *ast_event, void *data); static iks* aji_build_publish_skeleton(struct aji_client *client, const char *node, - const char *event_type); + const char *event_type, unsigned int cachable); /* No transports in this version */ /* static int aji_create_transport(char *label, struct aji_client *client); @@ -3275,6 +3275,7 @@ static void aji_devstate_cb(const struct ast_event *ast_event, void *data) { const char *device; const char *device_state; + unsigned int cachable; struct aji_client *client; if (ast_eid_cmp(&ast_eid_default, ast_event_get_ie_raw(ast_event, AST_EVENT_IE_EID))) { @@ -3286,7 +3287,8 @@ static void aji_devstate_cb(const struct ast_event *ast_event, void *data) client = ASTOBJ_REF((struct aji_client *) data); device = ast_event_get_ie_str(ast_event, AST_EVENT_IE_DEVICE); device_state = ast_devstate_str(ast_event_get_ie_uint(ast_event, AST_EVENT_IE_STATE)); - aji_publish_device_state(client, device, device_state); + cachable = ast_event_get_ie_uint(ast_event, AST_EVENT_IE_CACHABLE); + aji_publish_device_state(client, device, device_state, cachable); ASTOBJ_UNREF(client, ast_aji_client_destroy); } @@ -3327,11 +3329,13 @@ static void aji_init_event_distribution(struct aji_client *client) */ static int aji_handle_pubsub_event(void *data, ikspak *pak) { - char *item_id, *device_state, *context; + char *item_id, *device_state, *context, *cachable_str; int oldmsgs, newmsgs; iks *item, *item_content; struct ast_eid pubsub_eid; struct ast_event *event; + unsigned int cachable = AST_DEVSTATE_CACHABLE; + item = iks_find(iks_find(iks_find(pak->x, "event"), "items"), "item"); if (!item) { ast_log(LOG_ERROR, "Could not parse incoming PubSub event\n"); @@ -3346,11 +3350,14 @@ static int aji_handle_pubsub_event(void *data, ikspak *pak) } if (!strcasecmp(iks_name(item_content), "state")) { device_state = iks_find_cdata(item, "state"); + if ((cachable_str = iks_find_cdata(item, "cachable"))) { + sscanf(cachable_str, "%30d", &cachable); + } if (!(event = ast_event_new(AST_EVENT_DEVICE_STATE_CHANGE, - AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_STATE, - AST_EVENT_IE_PLTYPE_UINT, ast_devstate_val(device_state), AST_EVENT_IE_EID, - AST_EVENT_IE_PLTYPE_RAW, &pubsub_eid, sizeof(pubsub_eid), - AST_EVENT_IE_END))) { + AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_STATE, + AST_EVENT_IE_PLTYPE_UINT, ast_devstate_val(device_state), AST_EVENT_IE_EID, + AST_EVENT_IE_PLTYPE_RAW, &pubsub_eid, sizeof(pubsub_eid), + AST_EVENT_IE_END))) { return IKS_FILTER_EAT; } } else if (!strcasecmp(iks_name(item_content), "mailbox")) { @@ -3370,7 +3377,13 @@ static int aji_handle_pubsub_event(void *data, ikspak *pak) iks_name(item_content)); return IKS_FILTER_EAT; } - ast_event_queue_and_cache(event); + + if (cachable == AST_DEVSTATE_CACHABLE) { + ast_event_queue_and_cache(event); + } else { + ast_event_queue(event); + } + return IKS_FILTER_EAT; } @@ -3445,7 +3458,7 @@ static void aji_pubsub_subscribe(struct aji_client *client, const char *node) * \return iks * */ static iks* aji_build_publish_skeleton(struct aji_client *client, const char *node, - const char *event_type) + const char *event_type, unsigned int cachable) { iks *request = aji_pubsub_iq_create(client, "set"); iks *pubsub, *publish, *item; @@ -3459,8 +3472,24 @@ static iks* aji_build_publish_skeleton(struct aji_client *client, const char *no } item = iks_insert(publish, "item"); iks_insert_attrib(item, "id", node); - return item; + if (cachable == AST_DEVSTATE_NOT_CACHABLE) { + iks *options, *x, *field_form_type, *field_persist; + + options = iks_insert(pubsub, "publish-options"); + x = iks_insert(options, "x"); + iks_insert_attrib(x, "xmlns", "jabber:x:data"); + iks_insert_attrib(x, "type", "submit"); + field_form_type = iks_insert(x, "field"); + iks_insert_attrib(field_form_type, "var", "FORM_TYPE"); + iks_insert_attrib(field_form_type, "type", "hidden"); + iks_insert_cdata(iks_insert(field_form_type, "value"), "http://jabber.org/protocol/pubsub#publish-options", 0); + field_persist = iks_insert(x, "field"); + iks_insert_attrib(field_persist, "var", "pubsub#persist_items"); + iks_insert_cdata(iks_insert(field_persist, "value"), "0", 1); + } + + return item; } /*! @@ -3471,11 +3500,11 @@ static iks* aji_build_publish_skeleton(struct aji_client *client, const char *no * \return void */ static void aji_publish_device_state(struct aji_client *client, const char *device, - const char *device_state) + const char *device_state, unsigned int cachable) { - iks *request = aji_build_publish_skeleton(client, device, "device_state"); + iks *request = aji_build_publish_skeleton(client, device, "device_state", cachable); iks *state; - char eid_str[20]; + char eid_str[20], cachable_str[2]; if (ast_test_flag(&pubsubflags, AJI_PUBSUB_AUTOCREATE)) { if (ast_test_flag(&pubsubflags, AJI_XEP0248)) { aji_create_pubsub_node(client, "leaf", device, "device_state"); @@ -3487,6 +3516,8 @@ static void aji_publish_device_state(struct aji_client *client, const char *devi state = iks_insert(request, "state"); iks_insert_attrib(state, "xmlns", "http://asterisk.org"); iks_insert_attrib(state, "eid", eid_str); + snprintf(cachable_str, sizeof(cachable_str), "%u", cachable); + iks_insert_attrib(state, "cachable", cachable_str); iks_insert_cdata(state, device_state, strlen(device_state)); ast_aji_send(client, iks_root(request)); iks_delete(request); @@ -3508,7 +3539,7 @@ static void aji_publish_mwi(struct aji_client *client, const char *mailbox, char eid_str[20]; iks *mailbox_node, *request; snprintf(full_mailbox, sizeof(full_mailbox), "%s@%s", mailbox, context); - request = aji_build_publish_skeleton(client, full_mailbox, "message_waiting"); + request = aji_build_publish_skeleton(client, full_mailbox, "message_waiting", 1); ast_eid_to_str(eid_str, sizeof(eid_str), &ast_eid_default); mailbox_node = iks_insert(request, "mailbox"); iks_insert_attrib(mailbox_node, "xmlns", "http://asterisk.org"); From b375abae5017c613483c6d47305c04f00dff5760 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Wed, 2 Jan 2013 22:19:49 +0000 Subject: [PATCH 143/186] Merged revisions 378374,378377,378384 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378374 | rmudgett | 2013-01-02 15:23:16 -0600 (Wed, 02 Jan 2013) | 33 lines Fix AMI redirect action with two channels failing to redirect both channels. The AMI redirect action can fail to redirect two channels that are bridged together. There is a race between the AMI thread redirecting the two channels and the bridge thread noticing that a channel is hungup from the redirects. * Made the bridge wait for both channels to be redirected before exiting. * Made the AMI redirect check that all required headers are present before proceeding with the redirection. * Made the AMI redirect require that any supplied ExtraChannel exist before proceeding. Previously the code fell back to a single channel redirect operation. (closes issue ASTERISK-18975) Reported by: Ben Klang (closes issue ASTERISK-19948) Reported by: Brent Dalgleish Patches: jira_asterisk_19948_v11.patch (license #5621) patch uploaded by rmudgett Tested by: rmudgett, Thomas Sevestre, Deepak Lohani, Kayode Review: https://reviewboard.asterisk.org/r/2243/ ........ Merged revisions 378356 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378358 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378377 | mjordan | 2013-01-02 16:10:32 -0600 (Wed, 02 Jan 2013) | 24 lines Prevent crashes from occurring when reading from data sources with large values When reading configuration data from an Asterisk .conf file or when pulling data from an Asterisk RealTime backend, Asterisk was copying the data on the stack for manipulation. Unfortunately, it is possible to read configuration data or realtime data from some data source that provides a large blob of characters. This could potentially cause a crash via a stack overflow. This patch prevents large sets of data from being read from an ARA backend or from an Asterisk conf file. (issue ASTERISK-20658) Reported by: wdoekes Tested by: wdoekes, mmichelson patches: * issueA20658_dont_process_overlong_config_lines.patch uploaded by wdoekes (license 5674) * issueA20658_func_realtime_limit.patch uploaded by wdoekes (license 5674) ........ Merged revisions 378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 378376 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378384 | mjordan | 2013-01-02 16:19:32 -0600 (Wed, 02 Jan 2013) | 11 lines Clean up app_mysql's application entry points to properly parse arguments When parsing arguments, application entry points should not attempt to directly modify the parameters to the function. This patch properly duplicates the passed in parameters before attempting to parse them. (issue ASTERISK-20658) Reported by: wdoekes patches: issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license 5674) ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378385 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- addons/app_mysql.c | 54 +++++++------ funcs/func_realtime.c | 17 +++++ include/asterisk/channel.h | 15 +++- main/config.c | 11 +++ main/features.c | 5 ++ main/manager.c | 153 +++++++++++++++++++++++++------------ 6 files changed, 177 insertions(+), 78 deletions(-) diff --git a/addons/app_mysql.c b/addons/app_mysql.c index dda45243bf..2e1b4f4dcf 100644 --- a/addons/app_mysql.c +++ b/addons/app_mysql.c @@ -292,16 +292,17 @@ static int safe_scan_int(char **data, char *delim, int def) return res; } -static int aMYSQL_set(struct ast_channel *chan, char *data) +static int aMYSQL_set(struct ast_channel *chan, const char *data) { - char *var, *tmp; + char *var, *tmp, *parse; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(set); AST_APP_ARG(variable); AST_APP_ARG(value); ); - AST_NONSTANDARD_APP_ARGS(args, data, ' '); + parse = ast_strdupa(data); + AST_NONSTANDARD_APP_ARGS(args, parse, ' '); if (args.argc == 3) { var = ast_alloca(6 + strlen(args.variable) + 1); @@ -317,7 +318,7 @@ static int aMYSQL_set(struct ast_channel *chan, char *data) } /* MYSQL operations */ -static int aMYSQL_connect(struct ast_channel *chan, char *data) +static int aMYSQL_connect(struct ast_channel *chan, const char *data) { AST_DECLARE_APP_ARGS(args, AST_APP_ARG(connect); @@ -333,8 +334,9 @@ static int aMYSQL_connect(struct ast_channel *chan, char *data) const char *ctimeout; unsigned int port = 0; char *port_str; - - AST_NONSTANDARD_APP_ARGS(args, data, ' '); + char *parse = ast_strdupa(data); + + AST_NONSTANDARD_APP_ARGS(args, parse, ' '); if (args.argc < 6) { ast_log(LOG_WARNING, "MYSQL_connect is missing some arguments\n"); @@ -385,7 +387,7 @@ static int aMYSQL_connect(struct ast_channel *chan, char *data) return 0; } -static int aMYSQL_query(struct ast_channel *chan, char *data) +static int aMYSQL_query(struct ast_channel *chan, const char *data) { AST_DECLARE_APP_ARGS(args, AST_APP_ARG(query); @@ -397,8 +399,9 @@ static int aMYSQL_query(struct ast_channel *chan, char *data) MYSQL_RES *mysqlres; int connid; int mysql_query_res; + char *parse = ast_strdupa(data); - AST_NONSTANDARD_APP_ARGS(args, data, ' '); + AST_NONSTANDARD_APP_ARGS(args, parse, ' '); if (args.argc != 4 || (connid = atoi(args.connid)) == 0) { ast_log(LOG_WARNING, "missing some arguments\n"); @@ -426,7 +429,7 @@ static int aMYSQL_query(struct ast_channel *chan, char *data) return -1; } -static int aMYSQL_nextresult(struct ast_channel *chan, char *data) +static int aMYSQL_nextresult(struct ast_channel *chan, const char *data) { MYSQL *mysql; MYSQL_RES *mysqlres; @@ -436,8 +439,9 @@ static int aMYSQL_nextresult(struct ast_channel *chan, char *data) AST_APP_ARG(connid); ); int connid = -1; + char *parse = ast_strdupa(data); - AST_NONSTANDARD_APP_ARGS(args, data, ' '); + AST_NONSTANDARD_APP_ARGS(args, parse, ' '); sscanf(args.connid, "%30d", &connid); if (args.argc != 3 || connid <= 0) { @@ -466,7 +470,7 @@ static int aMYSQL_nextresult(struct ast_channel *chan, char *data) } -static int aMYSQL_fetch(struct ast_channel *chan, char *data) +static int aMYSQL_fetch(struct ast_channel *chan, const char *data) { MYSQL_RES *mysqlres; MYSQL_ROW mysqlrow; @@ -518,13 +522,14 @@ static int aMYSQL_fetch(struct ast_channel *chan, char *data) return -1; } -static int aMYSQL_clear(struct ast_channel *chan, char *data) +static int aMYSQL_clear(struct ast_channel *chan, const char *data) { MYSQL_RES *mysqlres; int id; - strsep(&data, " "); /* eat the first token, we already know it :P */ - id = safe_scan_int(&data, " \n", -1); + char *parse = ast_strdupa(data); + strsep(&parse, " "); /* eat the first token, we already know it :P */ + id = safe_scan_int(&parse, " \n", -1); if ((mysqlres = find_identifier(id, AST_MYSQL_ID_RESID)) == NULL) { ast_log(LOG_WARNING, "Invalid result identifier %d passed in aMYSQL_clear\n", id); } else { @@ -535,13 +540,14 @@ static int aMYSQL_clear(struct ast_channel *chan, char *data) return 0; } -static int aMYSQL_disconnect(struct ast_channel *chan, char *data) +static int aMYSQL_disconnect(struct ast_channel *chan, const char *data) { MYSQL *mysql; int id; - strsep(&data, " "); /* eat the first token, we already know it :P */ + char *parse = ast_strdupa(data); + strsep(&parse, " "); /* eat the first token, we already know it :P */ - id = safe_scan_int(&data, " \n", -1); + id = safe_scan_int(&parse, " \n", -1); if ((mysql = find_identifier(id, AST_MYSQL_ID_CONNID)) == NULL) { ast_log(LOG_WARNING, "Invalid connection identifier %d passed in aMYSQL_disconnect\n", id); } else { @@ -584,19 +590,19 @@ static int MYSQL_exec(struct ast_channel *chan, const char *data) ast_mutex_lock(&_mysql_mutex); if (strncasecmp("connect", data, strlen("connect")) == 0) { - result = aMYSQL_connect(chan, ast_strdupa(data)); + result = aMYSQL_connect(chan, data); } else if (strncasecmp("query", data, strlen("query")) == 0) { - result = aMYSQL_query(chan, ast_strdupa(data)); + result = aMYSQL_query(chan, data); } else if (strncasecmp("nextresult", data, strlen("nextresult")) == 0) { - result = aMYSQL_nextresult(chan, ast_strdupa(data)); + result = aMYSQL_nextresult(chan, data); } else if (strncasecmp("fetch", data, strlen("fetch")) == 0) { - result = aMYSQL_fetch(chan, ast_strdupa(data)); + result = aMYSQL_fetch(chan, data); } else if (strncasecmp("clear", data, strlen("clear")) == 0) { - result = aMYSQL_clear(chan, ast_strdupa(data)); + result = aMYSQL_clear(chan, data); } else if (strncasecmp("disconnect", data, strlen("disconnect")) == 0) { - result = aMYSQL_disconnect(chan, ast_strdupa(data)); + result = aMYSQL_disconnect(chan, data); } else if (strncasecmp("set", data, 3) == 0) { - result = aMYSQL_set(chan, ast_strdupa(data)); + result = aMYSQL_set(chan, data); } else { ast_log(LOG_WARNING, "Unknown argument to MYSQL application : %s\n", data); result = -1; diff --git a/funcs/func_realtime.c b/funcs/func_realtime.c index bd4b37dfe0..886b5b4566 100644 --- a/funcs/func_realtime.c +++ b/funcs/func_realtime.c @@ -219,6 +219,13 @@ static int function_realtime_read(struct ast_channel *chan, const char *cmd, cha /* add space for delimiters and final '\0' */ resultslen += n * (strlen(args.delim1) + strlen(args.delim2)) + 1; + if (resultslen > len) { + ast_log(LOG_WARNING, "Failed to fetch. Realtime data is too large: need %zu, have %zu.\n", resultslen, len); + return -1; + } + + /* len is going to be sensible, so we don't need to check for stack + * overflows here. */ out = ast_str_alloca(resultslen); for (var = head; var; var = var->next) ast_str_append(&out, 0, "%s%s%s%s", var->name, args.delim2, var->value, args.delim1); @@ -439,6 +446,16 @@ static int function_realtime_readdestroy(struct ast_channel *chan, const char *c /* add space for delimiters and final '\0' */ resultslen += n * (strlen(args.delim1) + strlen(args.delim2)) + 1; + if (resultslen > len) { + /* Unfortunately this does mean that we cannot destroy the row + * anymore. But OTOH, we're not destroying someones data without + * giving him the chance to look at it. */ + ast_log(LOG_WARNING, "Failed to fetch/destroy. Realtime data is too large: need %zu, have %zu.\n", resultslen, len); + return -1; + } + + /* len is going to be sensible, so we don't need to check for stack + * overflows here. */ out = ast_str_alloca(resultslen); for (var = head; var; var = var->next) { ast_str_append(&out, 0, "%s%s%s%s", var->name, args.delim2, var->value, args.delim1); diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 9b408660bc..858657ab05 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -903,12 +903,19 @@ enum { * some non-traditional dialplans (like AGI) to continue to function. */ AST_FLAG_DISABLE_WORKAROUNDS = (1 << 20), - /*! Disable device state event caching. This allows allows channel - * drivers to selectively prevent device state events from being cached - * by certain channels such as anonymous calls which have no persistent - * represenatation that can be tracked. + /*! + * Disable device state event caching. This allows channel + * drivers to selectively prevent device state events from being + * cached by certain channels such as anonymous calls which have + * no persistent represenatation that can be tracked. */ AST_FLAG_DISABLE_DEVSTATE_CACHE = (1 << 21), + /*! + * This flag indicates that a dual channel redirect is in + * progress. The bridge needs to wait until the flag is cleared + * to continue. + */ + AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT = (1 << 22), }; /*! \brief ast_bridge_config flags */ diff --git a/main/config.c b/main/config.c index f56421ee04..cf2b84c72b 100644 --- a/main/config.c +++ b/main/config.c @@ -1646,6 +1646,17 @@ static struct ast_config *config_text_file_load(const char *database, const char while (!feof(f)) { lineno++; if (fgets(buf, sizeof(buf), f)) { + /* Skip lines that are too long */ + if (strlen(buf) == sizeof(buf) - 1 && buf[sizeof(buf) - 1] != '\n') { + ast_log(LOG_WARNING, "Line %d too long, skipping. It begins with: %.32s...\n", lineno, buf); + while (fgets(buf, sizeof(buf), f)) { + if (strlen(buf) != sizeof(buf) - 1 || buf[sizeof(buf) - 1] == '\n') { + break; + } + } + continue; + } + if (ast_test_flag(&flags, CONFIG_FLAG_WITHCOMMENTS) && lline_buffer && ast_str_strlen(lline_buffer)) { CB_ADD(&comment_buffer, ast_str_buffer(lline_buffer)); /* add the current lline buffer to the comment buffer */ ast_str_reset(lline_buffer); /* erase the lline buffer */ diff --git a/main/features.c b/main/features.c index 44f140e16c..2f2716eb7c 100644 --- a/main/features.c +++ b/main/features.c @@ -4772,6 +4772,11 @@ before_you_go: silgen = NULL; } + /* Wait for any dual redirect to complete. */ + while (ast_test_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT)) { + sched_yield(); + } + if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT)) { ast_clear_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT); /* its job is done */ if (bridge_cdr) { diff --git a/main/manager.c b/main/manager.c index ba5beb42e8..99d03fbcf7 100644 --- a/main/manager.c +++ b/main/manager.c @@ -3709,6 +3709,7 @@ static int action_sendtext(struct mansession *s, const struct message *m) /*! \brief action_redirect: The redirect manager command */ static int action_redirect(struct mansession *s, const struct message *m) { + char buf[256]; const char *name = astman_get_header(m, "Channel"); const char *name2 = astman_get_header(m, "ExtraChannel"); const char *exten = astman_get_header(m, "Exten"); @@ -3717,8 +3718,10 @@ static int action_redirect(struct mansession *s, const struct message *m) const char *context2 = astman_get_header(m, "ExtraContext"); const char *priority = astman_get_header(m, "Priority"); const char *priority2 = astman_get_header(m, "ExtraPriority"); - struct ast_channel *chan, *chan2 = NULL; - int pi, pi2 = 0; + struct ast_channel *chan; + struct ast_channel *chan2; + int pi = 0; + int pi2 = 0; int res; if (ast_strlen_zero(name)) { @@ -3726,84 +3729,134 @@ static int action_redirect(struct mansession *s, const struct message *m) return 0; } - if (!ast_strlen_zero(priority) && (sscanf(priority, "%30d", &pi) != 1)) { - if ((pi = ast_findlabel_extension(NULL, context, exten, priority, NULL)) < 1) { - astman_send_error(s, m, "Invalid priority"); + if (ast_strlen_zero(context)) { + astman_send_error(s, m, "Context not specified"); + return 0; + } + if (ast_strlen_zero(exten)) { + astman_send_error(s, m, "Exten not specified"); + return 0; + } + if (ast_strlen_zero(priority)) { + astman_send_error(s, m, "Priority not specified"); + return 0; + } + if (sscanf(priority, "%30d", &pi) != 1) { + pi = ast_findlabel_extension(NULL, context, exten, priority, NULL); + } + if (pi < 1) { + astman_send_error(s, m, "Priority is invalid"); + return 0; + } + + if (!ast_strlen_zero(name2) && !ast_strlen_zero(context2)) { + /* We have an ExtraChannel and an ExtraContext */ + if (ast_strlen_zero(exten2)) { + astman_send_error(s, m, "ExtraExten not specified"); + return 0; + } + if (ast_strlen_zero(priority2)) { + astman_send_error(s, m, "ExtraPriority not specified"); + return 0; + } + if (sscanf(priority2, "%30d", &pi2) != 1) { + pi2 = ast_findlabel_extension(NULL, context2, exten2, priority2, NULL); + } + if (pi2 < 1) { + astman_send_error(s, m, "ExtraPriority is invalid"); return 0; } } - if (!ast_strlen_zero(priority2) && (sscanf(priority2, "%30d", &pi2) != 1)) { - if ((pi2 = ast_findlabel_extension(NULL, context2, exten2, priority2, NULL)) < 1) { - astman_send_error(s, m, "Invalid ExtraPriority"); - return 0; - } - } - - if (!(chan = ast_channel_get_by_name(name))) { - char buf[256]; + chan = ast_channel_get_by_name(name); + if (!chan) { snprintf(buf, sizeof(buf), "Channel does not exist: %s", name); astman_send_error(s, m, buf); return 0; } - if (ast_check_hangup_locked(chan)) { astman_send_error(s, m, "Redirect failed, channel not up."); chan = ast_channel_unref(chan); return 0; } - if (!ast_strlen_zero(name2)) { - chan2 = ast_channel_get_by_name(name2); - } - - if (chan2 && ast_check_hangup_locked(chan2)) { - astman_send_error(s, m, "Redirect failed, extra channel not up."); + if (ast_strlen_zero(name2)) { + /* Single channel redirect in progress. */ + if (ast_channel_pbx(chan)) { + ast_channel_lock(chan); + /* don't let the after-bridge code run the h-exten */ + ast_set_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT); + ast_channel_unlock(chan); + } + res = ast_async_goto(chan, context, exten, pi); + if (!res) { + astman_send_ack(s, m, "Redirect successful"); + } else { + astman_send_error(s, m, "Redirect failed"); + } chan = ast_channel_unref(chan); - chan2 = ast_channel_unref(chan2); return 0; } - if (ast_channel_pbx(chan)) { - ast_channel_lock(chan); - ast_set_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */ - ast_channel_unlock(chan); + chan2 = ast_channel_get_by_name(name2); + if (!chan2) { + snprintf(buf, sizeof(buf), "ExtraChannel does not exist: %s", name2); + astman_send_error(s, m, buf); + chan = ast_channel_unref(chan); + return 0; + } + if (ast_check_hangup_locked(chan2)) { + astman_send_error(s, m, "Redirect failed, extra channel not up."); + chan2 = ast_channel_unref(chan2); + chan = ast_channel_unref(chan); + return 0; } + /* Dual channel redirect in progress. */ + if (ast_channel_pbx(chan)) { + ast_channel_lock(chan); + /* don't let the after-bridge code run the h-exten */ + ast_set_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT + | AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT); + ast_channel_unlock(chan); + } + if (ast_channel_pbx(chan2)) { + ast_channel_lock(chan2); + /* don't let the after-bridge code run the h-exten */ + ast_set_flag(ast_channel_flags(chan2), AST_FLAG_BRIDGE_HANGUP_DONT + | AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT); + ast_channel_unlock(chan2); + } res = ast_async_goto(chan, context, exten, pi); if (!res) { - if (!ast_strlen_zero(name2)) { - if (chan2) { - if (ast_channel_pbx(chan2)) { - ast_channel_lock(chan2); - ast_set_flag(ast_channel_flags(chan2), AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */ - ast_channel_unlock(chan2); - } - if (!ast_strlen_zero(context2)) { - res = ast_async_goto(chan2, context2, exten2, pi2); - } else { - res = ast_async_goto(chan2, context, exten, pi); - } - } else { - res = -1; - } - if (!res) { - astman_send_ack(s, m, "Dual Redirect successful"); - } else { - astman_send_error(s, m, "Secondary redirect failed"); - } + if (!ast_strlen_zero(context2)) { + res = ast_async_goto(chan2, context2, exten2, pi2); } else { - astman_send_ack(s, m, "Redirect successful"); + res = ast_async_goto(chan2, context, exten, pi); + } + if (!res) { + astman_send_ack(s, m, "Dual Redirect successful"); + } else { + astman_send_error(s, m, "Secondary redirect failed"); } } else { astman_send_error(s, m, "Redirect failed"); } - chan = ast_channel_unref(chan); - if (chan2) { - chan2 = ast_channel_unref(chan2); + /* Release the bridge wait. */ + if (ast_channel_pbx(chan)) { + ast_channel_lock(chan); + ast_clear_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT); + ast_channel_unlock(chan); + } + if (ast_channel_pbx(chan2)) { + ast_channel_lock(chan2); + ast_clear_flag(ast_channel_flags(chan2), AST_FLAG_BRIDGE_DUAL_REDIRECT_WAIT); + ast_channel_unlock(chan2); } + chan2 = ast_channel_unref(chan2); + chan = ast_channel_unref(chan); return 0; } From 01250e2585afc0feac2ed41eddc9646c875adb96 Mon Sep 17 00:00:00 2001 From: Automerge script Date: Thu, 3 Jan 2013 16:19:40 +0000 Subject: [PATCH 144/186] Merged revisions 378410,378412,378414 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r378410 | mjordan | 2013-01-03 09:37:31 -0600 (Thu, 03 Jan 2013) | 13 lines Prevent crashes in res_xmpp when receiving large messages Similar to r378287, res_xmpp was marshaling data read from an external source onto the stack. For a sufficiently large message, this could cause a stack overflow. This patch modifies res_xmpp in a similar fashion to res_jabber by removing the stack allocation, as it was unnecessary. (issue ASTERISK-20658) Reported by: wdoekes ........ Merged revisions 378409 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378412 | file | 2013-01-03 09:40:21 -0600 (Thu, 03 Jan 2013) | 11 lines Prevent exhaustion of system resources through exploitation of event cache This patch changes res_xmpp to no longer cache events under certain circumstances. (issue ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore ........ Merged revisions 378411 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ r378414 | tilghman | 2013-01-03 10:04:11 -0600 (Thu, 03 Jan 2013) | 11 lines Add aliases to the Directory. This is an interesting feature that allows additional strings to be used to search the Directory, primarily intended to be used with nicknames, but could be used with affiliations and the like. Because the name field is used in more than one place (such as email notifications), it is important that these additional strings not be placed in the name field, but be specified separately. Review: https://reviewboard.asterisk.org/r/2244/ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378422 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_directory.c | 82 +++++++++++++++++++++++----- configs/voicemail.conf.sample | 4 ++ contrib/realtime/mysql/voicemail.sql | 2 + res/res_xmpp.c | 51 +++++++++++++---- 4 files changed, 113 insertions(+), 26 deletions(-) diff --git a/apps/app_directory.c b/apps/app_directory.c index ce01bc83b8..b26a09cd97 100644 --- a/apps/app_directory.c +++ b/apps/app_directory.c @@ -87,6 +87,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") argument will be used for the number of characters the user should enter. +