1dnl GP_CHECK_LDFLAG(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
2dnl Checks whether the linker understands FLAG
3AC_DEFUN([GP_CHECK_LDFLAG],
4[
5    gp_check_ldflag_LDFLAGS="$LDFLAGS"
6    LDFLAGS="$1"
7    AC_MSG_CHECKING([whether the linker understands $LDFLAGS])
8    AC_LANG_PUSH(C)
9    AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
10                   [AC_MSG_RESULT([yes])
11                    $2],
12                   [AC_MSG_RESULT([no])
13                    $3])
14    AC_LANG_POP(C)
15    LDFLAGS="$gp_check_ldflag_LDFLAGS"
16])
17
18dnl GP_CHECK_LDFLAGS
19dnl Checks for default Geany-Plugins LDFLAGS and defines GP_LDFLAGS
20AC_DEFUN([GP_CHECK_LDFLAGS],
21[
22    AC_ARG_ENABLE([extra-ld-flags],
23                  AS_HELP_STRING([--disable-extra-ld-flags],
24                                 [Disable extra linker flags]),
25                  [enable_extra_ld_flags=$enableval],
26                  [enable_extra_ld_flags=yes])
27
28    GP_LDFLAGS=
29    AS_IF([test "x$enable_extra_ld_flags" != xno],
30    [
31        enable_extra_ld_flags=yes
32        for flag in -Wl,-z,defs # do not allow undefined symbols in object files
33        do
34            GP_CHECK_LDFLAG([$flag], [GP_LDFLAGS="${GP_LDFLAGS} $flag"])
35        done
36    ])
37    AC_SUBST([GP_LDFLAGS])
38    GP_STATUS_BUILD_FEATURE_ADD([Extra linker options],
39                                [$enable_extra_c_warnings])
40])
41