From 9fca378b36918aaf8c697bd4138260f68b968c03 Mon Sep 17 00:00:00 2001
From: "David M. Lee" <dlee@respoke.io>
Date: Tue, 2 Jun 2015 15:07:08 -0500
Subject: [PATCH] Fixes for OS X

 * Add some type casting so tv_usec can really be a long, instead of
   some strange platform specific type.

 * Add some .dylib style files to .gitignore.

 * Switch from using -Xlinker to -Wl,. For [reasons unknown][], newer
   versions of GCC, when compiling the Homebrew formula for Asterisk,
   are not properly passing the -Xlinker options to the linker. Given
   that -Wl, does exactly the [same thing][], and does it properly, this
   patch changes the -Xlinker options to use -Wl, instead.

 [reasons unknown]: http://bit.ly/1SUbEYx
 [same thing]: https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html

Change-Id: Id5e6b3c6cc86282ea5fca630dc3991137c5bf4dd
---
 Makefile                      | 4 ++--
 codecs/gsm/Makefile           | 2 +-
 main/.gitignore               | 1 +
 main/Makefile                 | 2 +-
 res/res_pjsip/pjsip_options.c | 2 +-
 utils/.gitignore              | 1 +
 6 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 7157107b53..f6a3d1ff9e 100644
--- a/Makefile
+++ b/Makefile
@@ -260,10 +260,10 @@ MOD_SUBDIRS_MENUSELECT_TREE:=$(MOD_SUBDIRS:%=%-menuselect-tree)
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   _ASTCFLAGS+=-D__Darwin__ -mmacosx-version-min=10.6
-  _SOLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup
+  _SOLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup
   _SOLINK+=/usr/lib/bundle1.o
   SOLINK=-bundle $(_SOLINK)
-  DYLINK=-Xlinker -dylib $(_SOLINK)
+  DYLINK=-Wl,-dylib $(_SOLINK)
   _ASTLDFLAGS+=-L/usr/local/lib
 else
 # These are used for all but Darwin
diff --git a/codecs/gsm/Makefile b/codecs/gsm/Makefile
index a072e6d2dd..06f0829839 100644
--- a/codecs/gsm/Makefile
+++ b/codecs/gsm/Makefile
@@ -315,7 +315,7 @@ install:	toastinstall gsminstall
 # The basic API: libgsm
 
 $(LIBGSMSO):	$(LIB) $(GSM_OBJECTS)
-		$(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc
+		$(LD) -o $@.1.0.10 -shared -Wl,-soname,libgsm.so.1 $(GSM_OBJECTS) -lc
 		ln -fs libgsm.so.1.0.10 lib/libgsm.so.1
 		ln -fs libgsm.so.1.0.10 lib/libgsm.so
 
diff --git a/main/.gitignore b/main/.gitignore
index 23f5c58bef..3ff4656798 100644
--- a/main/.gitignore
+++ b/main/.gitignore
@@ -1,3 +1,4 @@
 asterisk
 libasteriskssl.so.1
+libasteriskssl.dylib
 version.c
diff --git a/main/Makefile b/main/Makefile
index 08496e6188..bfdfb463de 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -60,7 +60,7 @@ endif
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   AST_LIBS+=-lresolv
-  ASTLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup -force_flat_namespace
+  ASTLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup -force_flat_namespace
   ASTLINK+=/usr/lib/bundle1.o
 else
 # These are used for all but Darwin
diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c
index e3e8f18082..df374964c5 100644
--- a/res/res_pjsip/pjsip_options.c
+++ b/res/res_pjsip/pjsip_options.c
@@ -974,7 +974,7 @@ static int rtt_start_to_str(const void *obj, const intptr_t *args, char **buf)
 {
 	const struct ast_sip_contact_status *status = obj;
 
-	if (ast_asprintf(buf, "%ld.%06ld", status->rtt_start.tv_sec, status->rtt_start.tv_usec) == -1) {
+	if (ast_asprintf(buf, "%ld.%06ld", (long)status->rtt_start.tv_sec, (long)status->rtt_start.tv_usec) == -1) {
 		return -1;
 	}
 
diff --git a/utils/.gitignore b/utils/.gitignore
index ed37a064c8..8e95c8df8f 100644
--- a/utils/.gitignore
+++ b/utils/.gitignore
@@ -9,6 +9,7 @@ astdb2bdb
 astdb2sqlite3
 check_expr
 check_expr2
+check_expr2.dSYM/
 conf2ael
 db1-ast/libdb1.a
 hashtab.c
-- 
GitLab