diff --git a/configure.ac b/configure.ac index f55b6d3f4cefae206434e2c93307a6ba027987e6..1d46bd98c3e7a41c9c5c07eb649e743bf8f85cee 100644 --- a/configure.ac +++ b/configure.ac @@ -145,6 +145,11 @@ AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") AM_CONDITIONAL(HAVE_OSX, test "${HAVE_OSX}" = "1") AM_CONDITIONAL(HAVE_IOS, test "${HAVE_IOS}" = "1") +AS_IF([test "${HAVE_OSX}" = "1"], + [DAEMONCFLAGS+=" -arch $ARCH" + DAEMONCXXFLAGS+=" -arch $ARCH"] + []) + AC_DEFINE([MSGPACK_DISABLE_LEGACY_NIL], [1], [msgpack]) dnl FIXME this should be deduced automatically @@ -664,6 +669,9 @@ AC_CONFIG_FILES([Makefile \ dnl Transfer the Automake variables set here to Makefile.in. echo DAEMONCPPFLAGS=$DAEMONCPPFLAGS +CXXFLAGS="$DAEMONCXXFLAGS" +OBJCXX="$CXX $DAEMONCXXFLAGS" +OBJCXXFLAG="$CXX $DAEMONCXXFLAGS" AC_SUBST([AM_CPPFLAGS], [$DAEMONCPPFLAGS]) AC_SUBST([AM_CFLAGS], [$DAEMONCFLAGS]) AC_SUBST([AM_CXXFLAGS], [$DAEMONCXXFLAGS]) diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak index f15e82e8b6f27a9d56652752466a81f13b4c0afc..7fbab1491e23e1490d94bf6548fb0f2540721b23 100644 --- a/contrib/src/ffmpeg/rules.mak +++ b/contrib/src/ffmpeg/rules.mak @@ -281,6 +281,9 @@ FFMPEGCONF += \ --enable-encoder=h264_videotoolbox \ --enable-encoder=hevc_videotoolbox \ --disable-securetransport +ifdef HAVE_CROSS_COMPILE +FFMPEGCONF += --enable-cross-compile +endif endif ifdef HAVE_IOS @@ -299,11 +302,13 @@ endif ifndef HAVE_IOS ifndef HAVE_ANDROID +ifndef HAVE_MACOSX ifdef HAVE_CROSS_COMPILE FFMPEGCONF += --cross-prefix=$(HOST)- endif endif endif +endif # x86 stuff ifeq ($(ARCH),i386) diff --git a/contrib/src/main.mak b/contrib/src/main.mak index 70261aaf217927cf71c6e4114f6e8974a66f1e98..a5ef36e898543354d66758c33f45cc64aa0c51c0 100644 --- a/contrib/src/main.mak +++ b/contrib/src/main.mak @@ -141,9 +141,9 @@ AR=xcrun ar LD=xcrun ld STRIP=xcrun strip RANLIB=xcrun ranlib -EXTRA_COMMON := -isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MIN_OSX_VERSION) -DMACOSX_DEPLOYMENT_TARGET=$(MIN_OSX_VERSION) -EXTRA_CXXFLAGS += -stdlib=libc++ -EXTRA_LDFLAGS += -Wl,-syslibroot,$(MACOSX_SDK) +EXTRA_COMMON := -arch $(ARCH) -isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MIN_OSX_VERSION) -DMACOSX_DEPLOYMENT_TARGET=$(MIN_OSX_VERSION) +EXTRA_CXXFLAGS += -arch $(ARCH) -stdlib=libc++ +EXTRA_LDFLAGS += -arch $(ARCH) -Wl,-syslibroot,$(MACOSX_SDK) EXTRA_COMMON += -m64 XCODE_FLAGS = -sdk macosx$(OSX_VERSION) -arch $(ARCH) endif @@ -308,6 +308,10 @@ ifdef HAVE_IOS HOSTCONF += --enable-static --disable-shared endif +ifdef HAVE_MACOSX +HOSTCONF += --enable-static --disable-shared +endif + ifdef HAVE_WIN32 HOSTCONF += --enable-static --disable-shared --without-pic PIC := diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak index 88e718ea814c6203a0b1d283a7013605a9926ce6..4806a7b5a2c58a44d5a939de9799da16a773ac78 100644 --- a/contrib/src/pjproject/rules.mak +++ b/contrib/src/pjproject/rules.mak @@ -59,6 +59,8 @@ endif .pjproject: pjproject ifdef HAVE_IOS cd $< && ARCH="-arch $(ARCH)" IPHONESDK=$(IOS_SDK) $(HOSTVARS) EXCLUDE_APP=1 ./configure-iphone $(HOSTCONF) $(PJPROJECT_OPTIONS) +else ifdef HAVE_MACOSX + cd $< && ARCH="-arch $(ARCH)" $(HOSTVARS) EXCLUDE_APP=1 ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS) else cd $< && $(HOSTVARS) EXCLUDE_APP=1 ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS) endif diff --git a/contrib/src/secp256k1/rules.mak b/contrib/src/secp256k1/rules.mak index 115afb78a65841211967150f38cb6975f83fb871..2b16ced7324798c6c3184b9f06dbd1f4c588d994 100644 --- a/contrib/src/secp256k1/rules.mak +++ b/contrib/src/secp256k1/rules.mak @@ -21,8 +21,16 @@ secp256k1: secp256k1-$(SECP256K1_VERSION).tar.gz ifdef HAVE_IOS SECP256K1_CFLAGS := -USECP256K1_BUILD $(CFLAGS) else +ifdef HAVE_MACOSX +ifeq ($(ARCH),arm64) +SECP256K1_CFLAGS := -USECP256K1_BUILD $(CFLAGS) +else +SECP256K1_CFLAGS := -USECP256K1_BUILD +endif +else SECP256K1_CFLAGS := -USECP256K1_BUILD endif +endif .secp256k1: secp256k1 .sum-secp256k1 $(RECONF) diff --git a/contrib/src/x264/rules.mak b/contrib/src/x264/rules.mak index 3d8f80edd1c142e055892827a332f01779a53416..e207a000325fc6484111aa49c8399b3448239926 100644 --- a/contrib/src/x264/rules.mak +++ b/contrib/src/x264/rules.mak @@ -22,11 +22,13 @@ X264CONF += --enable-win32thread endif ifndef HAVE_IOS ifndef HAVE_ANDROID +ifndef HAVE_MACOSX ifdef HAVE_CROSS_COMPILE X264CONF += --cross-prefix="$(CROSS_COMPILE)" endif endif endif +endif # android x86_64 has reloc errors related to assembly optimizations ifdef HAVE_ANDROID diff --git a/src/Makefile.am b/src/Makefile.am index 8d322d8443e2c660a88c52b88df015943b7e2439..ada230cc7ebfc6bc89e8e6617d761f8618243478 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,9 +1,5 @@ include $(top_srcdir)/globals.mk -if HAVE_OSX -AM_OBJCXXFLAGS=-std=c++17 -endif - noinst_LTLIBRARIES= noinst_HEADERS= nobase_include_HEADERS= @@ -47,6 +43,7 @@ libjami_la_LIBADD += \ $(LIBSSL_LIBS) \ $(LIBCRYPTO_LIBS) \ $(ARCHIVE_LIBS) \ + $(ARCHIVE_LIBS) \ $(ZLIB_LIBS) if ENABLE_PLUGIN diff --git a/src/media/audio/coreaudio/Makefile.am b/src/media/audio/coreaudio/Makefile.am index e959e903ef6b437f1888421704337d711c2d4b7b..b8cd92cfd2efc5a3bba7b76a8db161fa0b644ce4 100644 --- a/src/media/audio/coreaudio/Makefile.am +++ b/src/media/audio/coreaudio/Makefile.am @@ -20,6 +20,4 @@ libcoreaudiolayer_la_CXXFLAGS = \ -I$(top_srcdir)/src \ $(AM_CXXFLAGS) -libcoreaudiolayer_la_OBJCXXFLAGS = -std=c++17 - libaudio_la_LIBADD += libcoreaudiolayer.la