diff --git a/ChangeLog b/ChangeLog index b00225a0c087516d2c00dbf33d132728c6dbc423..7cc6d3073a47d428ea0eb07521b640d6ae3e4057 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2005-11-07 Kevin P. Fleming <kpfleming@digium.com> + * many files: more Cygwin compatibility, and proper getloadavg() prototype/macro (issue #5569) + * include/asterisk/lock.h (__ast_pthread_mutex_lock): correct build with DETECT_DEADLOCKS defined (issue #5570) 2005-11-07 Russell Bryant <russell@digium.com> diff --git a/asterisk.c b/asterisk.c index 04602d96439d42698fe88e8062a10e53d725f029..f2f7ace53927638622ba8d5a3114a5ffc3fd2a04 100755 --- a/asterisk.c +++ b/asterisk.c @@ -107,6 +107,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/version.h" #include "asterisk/linkedlists.h" #include "asterisk/devicestate.h" +#include "asterisk/compat.h" #include "asterisk/doxyref.h" /* Doxygen documentation */ diff --git a/codecs/Makefile b/codecs/Makefile index edf0292198de367a5137ef1a482d75c4842a9758..d1feb8a54678d48612645e6792e96cb03f9633d3 100755 --- a/codecs/Makefile +++ b/codecs/Makefile @@ -14,6 +14,8 @@ ifeq (${OSARCH},CYGWIN) CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols CYGSOLIB=-L.. -L. -lasterisk.dll +else +CFLAGS+=-fPIC endif ifneq ($(wildcard g723.1/coder.c),) @@ -57,7 +59,6 @@ ifneq ($(wildcard ilbc/iLBC_decode.h),) LIBILBC=ilbc/libilbc.a endif -CFLAGS+=-fPIC LIBGSM=gsm/lib/libgsm.a LIBGSMT=gsm/lib/libgsm.a diff --git a/codecs/ilbc/Makefile b/codecs/ilbc/Makefile index 8bccc4a9aecdc7527ed3c0990e6d3998e7bdc03f..1540c140fc2814606c8778850cde3e83e563c206 100755 --- a/codecs/ilbc/Makefile +++ b/codecs/ilbc/Makefile @@ -1,5 +1,8 @@ ARCH=$(PROC) -CFLAGS+=-Wall -fPIC -O3 -funroll-loops +CFLAGS+=-Wall -O3 -funroll-loops +ifneq (${OSARCH},CYGWIN) +CFLAGS += -fPIC +endif LIB=libilbc.a OBJS= anaFilter.o iCBSearch.o packing.o \ diff --git a/codecs/lpc10/Makefile b/codecs/lpc10/Makefile index 01f7a7b8136c8d3c9155d281e4f7e3cfa3763c35..b56a59ba4e8612c0c7a9847a08d876dacad18138 100755 --- a/codecs/lpc10/Makefile +++ b/codecs/lpc10/Makefile @@ -22,7 +22,10 @@ LIB_TARGET_DIR = . # WARNINGS = -Wall -Wno-comment -Wno-error -CFLAGS += $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) -fPIC +CFLAGS += $(OPTIMIZE) -I$(LIB_TARGET_DIR) $(WARNINGS) +ifneq (${OSARCH},CYGWIN) +CFLAGS += -fPIC +endif #CFLAGS+= $(shell if uname -m | grep -q 86; then echo "-mpentium" ; fi) #fix for PPC processors and ALPHA, And UltraSparc too diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h index fb6a5d59fa974821ebed713a227c9dbb853b691f..139f4f81b987e65fed3e3f527fee7bfa0749133e 100755 --- a/include/asterisk/compat.h +++ b/include/asterisk/compat.h @@ -74,6 +74,10 @@ int unsetenv(const char *name); #define HAVE_VASPRINTF #define HAVE_STRTOQ +#ifdef _BSD_SOURCE +#define HAVE_GETLOADAVG +#endif + #ifdef __linux__ #define HAVE_STRCASESTR #define HAVE_STRNDUP diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 8eed095f0b4ae03f6ef33b74d094d6d6708b1683..b6b85df4e8cfae62ae88ce3eecc6beb4b6063713 100755 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -231,4 +231,8 @@ int ast_pthread_create_stack(pthread_t *thread, pthread_attr_t *attr, void *(*st */ char *ast_process_quotes_and_slashes(char *start, char find, char replace_with); +#ifndef HAVE_GETLOADAVG +int getloadavg(double *list, int nelem); +#endif + #endif /* _ASTERISK_UTILS_H */ diff --git a/pbx.c b/pbx.c index 29a1d893a635702c48d9c365bf1ab132b3c0b4f7..40285bb31b740d02401bdc5a84336278ac12bff8 100755 --- a/pbx.c +++ b/pbx.c @@ -56,6 +56,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/musiconhold.h" #include "asterisk/app.h" #include "asterisk/devicestate.h" +#include "asterisk/compat.h" /*! * \note I M P O R T A N T : diff --git a/stdtime/localtime.c b/stdtime/localtime.c index 67dc71d2c6735f3d834cb3945f7734ad464bb6a3..db125d9e6991716cc5b986f5660c67364a35e88c 100755 --- a/stdtime/localtime.c +++ b/stdtime/localtime.c @@ -77,6 +77,12 @@ static const char elsieid[] = "@(#)localtime.c 7.57"; #define OPEN_MODE O_RDONLY #endif /* !defined O_BINARY */ +#ifdef SOLARIS +#undef TM_ZONE +#undef TM_GMTOFF +#endif + +#ifdef TM_ZONE #ifndef WILDABBR /*! \note * Someone might make incorrect use of a time zone abbreviation: @@ -101,6 +107,7 @@ static const char elsieid[] = "@(#)localtime.c 7.57"; #endif /* !defined WILDABBR */ static char wildabbr[] = "WILDABBR"; +#endif /* TM_ZONE */ /*! \brief FreeBSD defines 'zone' in 'struct tm' as non-const, so don't declare this string as const. */ @@ -130,12 +137,6 @@ struct lsinfo { #define MY_TZNAME_MAX 255 #endif /* !defined TZNAME_MAX */ -#ifdef SOLARIS -#undef TM_ZONE -#undef TM_GMTOFF -#endif - - struct state { char name[TZ_STRLEN_MAX + 1]; int leapcnt; diff --git a/utils.c b/utils.c index 9dffe253a599930c6004e0ea759e42622fd77432..89fc262117d209f3687f6a815c92126ae0243b38 100755 --- a/utils.c +++ b/utils.c @@ -842,7 +842,7 @@ uint64_t strtoq(const char *nptr, char **endptr, int base) } #endif /* !HAVE_STRTOQ */ -#if (!defined(_BSD_SOURCE)) +#ifndef HAVE_GETLOADAVG #ifdef linux /* Alternative method of getting load avg on Linux only */ int getloadavg(double *list, int nelem)