@@ -48,12 +48,16 @@ AC_DEFINE(__have_longlong64, 1, [Required for AmigaOS to correctly define PRI?64]) AC_SUBST(NOIXEMUL, -noixemul) AC_SUBST(OBJFW_RT_AMIGA_LIB, objfw_rt.library) - AC_SUBST(OBJFW_RT_INLINE_H, ObjFW_RT_inline.h) AC_SUBST(SFDC_TARGET, m68k-amigaos) + dnl For 68000, GCC emits calls to helper functions that + dnl do not work properly in a library. + AC_SUBST(AMIGA_LIB_CFLAGS, "-mcpu=68020 -fbaserel") + AC_SUBST(AMIGA_LIB_LDFLAGS, + "-mcpu=68020 -fbaserel -resident -nostartfiles") AC_SUBST(LINKLIB, linklib) ;; powerpc-*-amigaos*) enable_shared="no" enable_threads="no" @@ -68,12 +72,14 @@ LDFLAGS="$LDFLAGS -noixemul" enable_files="yes" # Required for reading ENV: AC_SUBST(NOIXEMUL, -noixemul) AC_SUBST(OBJFW_RT_AMIGA_LIB, objfw_rt.library) - AC_SUBST(OBJFW_RT_INLINE_H, ObjFW_RT_inline.h) AC_SUBST(SFDC_TARGET, ppc-morphos) + AC_SUBST(AMIGA_LIB_CFLAGS, "-mresident32 -fno-builtin") + AC_SUBST(AMIGA_LIB_LDFLAGS, + "-mresident32 -nostartfiles -nodefaultlibs -lc") AC_SUBST(LINKLIB, linklib) ]) enable_shared="no" enable_threads="no" @@ -839,11 +845,13 @@ ]) ]) AC_CHECK_FUNCS(arc4random random, break) -AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl") +AS_IF([test x"$host_os" != x"morphos"], [ + AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl") +]) AC_CHECK_HEADERS_ONCE(dlfcn.h) case "$host_os" in netbsd*) dnl dladdr exists on NetBSD, but it is completely broken. dnl When using it with code that uses __thread, it freezes the