Ensure we are UsingTheRightCompiler (https://trac.macports.org/wiki/UsingTheRightCompiler). Ensure we always use -m32/-m64 and -arch for all architectures. --- mono/mini/aot-compiler.c.orig 2019-01-17 00:45:20.000000000 -0700 +++ mono/mini/aot-compiler.c 2019-02-18 05:59:15.000000000 -0700 @@ -11876,6 +11876,8 @@ #define AS_OPTIONS "-xarch=v9" #elif defined(TARGET_X86) && defined(TARGET_MACH) #define AS_OPTIONS "-arch i386" +#elif defined(TARGET_AMD64) && defined(TARGET_MACH) +#define AS_OPTIONS "-arch x86_64" #elif defined(TARGET_X86) && !defined(TARGET_MACH) #define AS_OPTIONS "--32" #else @@ -11883,7 +11885,7 @@ #endif #if defined(TARGET_OSX) -#define AS_NAME "clang" +#define AS_NAME "__MACPORTS_CC__" #elif defined(TARGET_WIN32_MSVC) #define AS_NAME "clang.exe" #else @@ -11900,11 +11902,14 @@ #define LD_NAME "ld" #define LD_OPTIONS "-shared -G" #elif defined(__ppc__) && defined(TARGET_MACH) -#define LD_NAME "gcc" -#define LD_OPTIONS "-dynamiclib" +#define LD_NAME "__MACPORTS_CC__" +#define LD_OPTIONS "-m32 -dynamiclib" +#elif defined(__ppc64__) && defined(TARGET_MACH) +#define LD_NAME "__MACPORTS_CC__" +#define LD_OPTIONS "-m64 -dynamiclib" #elif defined(TARGET_AMD64) && defined(TARGET_MACH) -#define LD_NAME "clang" -#define LD_OPTIONS "--shared" +#define LD_NAME "__MACPORTS_CC__" +#define LD_OPTIONS "-m64 --shared" #elif defined(TARGET_WIN32_MSVC) #define LD_NAME "link.exe" #define LD_OPTIONS "/DLL /MACHINE:X64 /NOLOGO /INCREMENTAL:NO" @@ -11913,7 +11918,7 @@ #define LD_NAME "gcc" #define LD_OPTIONS "-shared" #elif defined(TARGET_X86) && defined(TARGET_MACH) -#define LD_NAME "clang" +#define LD_NAME "__MACPORTS_CC__" #define LD_OPTIONS "-m32 -dynamiclib" #elif defined(TARGET_X86) && !defined(TARGET_MACH) #define LD_OPTIONS "-m elf_i386"