Files
RedBear-OS/recipes/tools/gnu-binutils/source/config/weakref.m4
T
vasilito ff4ff35918 feat: track all source trees in git — full fork offline-first model
Red Bear OS is a full fork. All sources must be available from git clone
with zero network access. Removed gitignore rules that excluded fetched
source trees under recipes/*/source/, local/recipes/kde/*/source/,
local/recipes/qt/*/source/, and vendor source trees.

Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded.

127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt
frameworks, mesa, wayland, DRM drivers, and every other recipe source.
2026-05-14 10:55:53 +01:00

48 lines
1.7 KiB
Plaintext

dnl Check if the target supports weak.
AC_DEFUN([GCC_CHECK_ATTRIBUTE_WEAK], [
AC_CACHE_CHECK([whether the target supports weak],
ac_cv_have_attribute_weak, [
weakref_m4_saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_TRY_COMPILE([void __attribute__((weak)) foo(void) { }],
[], ac_cv_have_attribute_weak=yes,
ac_cv_have_attribute_weak=no)
CFLAGS="$weakref_m4_saved_CFLAGS"])
if test x"$ac_cv_have_attribute_weak" = xyes; then
AC_DEFINE(HAVE_ATTRIBUTE_WEAK, 1,
[Define to 1 if the target supports __attribute__((weak)).])
fi])
dnl Check whether weak refs work like the ELF ones.
dnl This means that the weak reference works without having to satify
dnl linkage for the item.
dnl There are targets (at least Darwin) where we have fully functional
dnl weakrefs at runtime, but must supply the referenced item at link time.
AC_DEFUN([GCC_CHECK_ELF_STYLE_WEAKREF], [
AC_CACHE_CHECK([whether weak refs work like ELF],
ac_cv_have_elf_style_weakref, [
weakref_m4_saved_CFLAGS="$CFLAGS"
case "${host}" in
*-apple-darwin*) CFLAGS="$CFLAGS -Wl,-undefined,dynamic_lookup" ;;
*) ;;
esac
AC_RUN_IFELSE([AC_LANG_SOURCE([[
extern void fNotToBeFound(void) __attribute__((weak));
int main ()
{
if (fNotToBeFound)
return 1;
else
return 0;
}
]])], ac_cv_have_elf_style_weakref=yes, ac_cv_have_elf_style_weakref=no, [
case "${host}" in
*-apple-darwin[[89]]*) ac_cv_have_elf_style_weakref=no ;;
*) ac_cv_have_elf_style_weakref=yes;;
esac])CFLAGS="$weakref_m4_saved_CFLAGS"])
if test x"$ac_cv_have_elf_style_weakref" = xyes; then
AC_DEFINE(HAVE_ELF_STYLE_WEAKREF, 1, [Define to 1 if target has a weakref that works like the ELF one.])
fi])