Merge remote-tracking branch 'origin/nasm-2.12.xx'
[nasm.git] / aclocal.m4
blob6ef19e1da08f5c85eaa67926692d2dbe5af84a8c
1 dnl --------------------------------------------------------------------------
2 dnl PA_ADD_CFLAGS()
3 dnl
4 dnl Attempt to add the given option to CFLAGS, if it doesn't break compilation
5 dnl --------------------------------------------------------------------------
6 AC_DEFUN(PA_ADD_CFLAGS,
7 [AC_MSG_CHECKING([if $CC accepts $1])
8  pa_add_cflags__old_cflags="$CFLAGS"
9  CFLAGS="$CFLAGS $1"
10  AC_TRY_LINK([#include <stdio.h>],
11  [printf("Hello, World!\n");],
12  AC_MSG_RESULT([yes])
13  CFLAGS="$pa_add_cflags__old_cflags ifelse([$2],[],[$1],[$2])",
14  AC_MSG_RESULT([no])
15  CFLAGS="$pa_add_cflags__old_cflags")])
17 dnl --------------------------------------------------------------------------
18 dnl PA_HAVE_FUNC
19 dnl
20 dnl Look for a function with the specified arguments which could be
21 dnl a builtin/intrinsic function.
22 dnl --------------------------------------------------------------------------
23 AC_DEFUN(PA_HAVE_FUNC,
24 [AC_MSG_CHECKING([for $1])
25 AC_TRY_LINK([], [(void)$1$2;],
26 AC_MSG_RESULT([yes])
27 AC_DEFINE(m4_toupper([HAVE_$1]), [1],
28   [Define to 1 if you have the `$1' intrinsic function.]),
29 AC_MSG_RESULT([no]))])
31 dnl --------------------------------------------------------------------------
32 dnl PA_REPLACE_FUNC
33 dnl
34 dnl Look for a function and possible alternatives, unlike AC_REPLACE_FUNCS
35 dnl this will only add *one* replacement to LIBOBJS if no alternative is
36 dnl found.
37 dnl --------------------------------------------------------------------------
38 AC_DEFUN(PA_REPLACE_FUNC_WITH,
39 [pa_replace_func__$2_missing=true
40 AC_CHECK_FUNCS([$1], [pa_replace_func__$2_missing=false], [])
41 if $pa_replace_func__$2_missing; then
42   AC_LIBOBJ([$2])
43 fi])
45 AC_DEFUN(PA_REPLACE_FUNC,
46 [PA_REPLACE_FUNC_WITH([$1], m4_car(m4_unquote(m4_split(m4_normalize[$1]))))])