Mercurial > hg > CbC > CbC_gcc
annotate config/no-executables.m4 @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
rev | line source |
---|---|
0 | 1 # GCC_NO_EXECUTABLES |
2 # ----------------- | |
3 # FIXME: The GCC team has specific needs which the current Autoconf | |
4 # framework cannot solve elegantly. This macro implements a dirty | |
5 # hack until Autoconf is able to provide the services its users | |
6 # need. | |
7 # | |
8 # Several of the support libraries that are often built with GCC can't | |
9 # assume the tool-chain is already capable of linking a program: the | |
10 # compiler often expects to be able to link with some of such | |
11 # libraries. | |
12 # | |
13 # In several of these libraries, workarounds have been introduced to | |
14 # avoid the AC_PROG_CC_WORKS test, that would just abort their | |
15 # configuration. The introduction of AC_EXEEXT, enabled either by | |
16 # libtool or by CVS autoconf, have just made matters worse. | |
17 # | |
18 # Unlike the previous AC_NO_EXECUTABLES, this test does not | |
19 # disable link tests at autoconf time, but at configure time. | |
20 # This allows AC_NO_EXECUTABLES to be invoked conditionally. | |
21 AC_DEFUN_ONCE([GCC_NO_EXECUTABLES], | |
22 [m4_divert_push([KILL]) | |
23 | |
24 AC_BEFORE([$0], [_AC_COMPILER_EXEEXT]) | |
25 AC_BEFORE([$0], [AC_LINK_IFELSE]) | |
26 | |
27 m4_define([_AC_COMPILER_EXEEXT], | |
145 | 28 [AC_LANG_CONFTEST([AC_LANG_PROGRAM( |
29 [#include <stdio.h>], | |
30 [printf ("hello world\n");])]) | |
0 | 31 # FIXME: Cleanup? |
32 AS_IF([AC_TRY_EVAL(ac_link)], [gcc_no_link=no], [gcc_no_link=yes]) | |
33 if test x$gcc_no_link = xyes; then | |
34 # Setting cross_compile will disable run tests; it will | |
35 # also disable AC_CHECK_FILE but that's generally | |
36 # correct if we can't link. | |
37 cross_compiling=yes | |
38 EXEEXT= | |
39 else | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
40 ]m4_defn([_AC_COMPILER_EXEEXT])dnl |
0 | 41 fi |
42 ) | |
43 | |
44 m4_define([AC_LINK_IFELSE], | |
45 if test x$gcc_no_link = xyes; then | |
46 AC_MSG_ERROR([Link tests are not allowed after [[$0]].]) | |
47 fi | |
48 m4_defn([AC_LINK_IFELSE])) | |
49 | |
50 dnl This is a shame. We have to provide a default for some link tests, | |
51 dnl similar to the default for run tests. | |
52 m4_define([AC_FUNC_MMAP], | |
53 if test x$gcc_no_link = xyes; then | |
54 if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then | |
55 ac_cv_func_mmap_fixed_mapped=no | |
56 fi | |
57 fi | |
58 if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then | |
59 m4_defn([AC_FUNC_MMAP]) | |
60 fi) | |
61 | |
62 m4_divert_pop()dnl | |
63 ])# GCC_NO_EXECUTABLES | |
64 | |
65 # Use the strongest available test out of AC_TRY_COMPILE and AC_TRY_LINK. | |
66 AC_DEFUN([GCC_TRY_COMPILE_OR_LINK], | |
67 [if test x$gcc_no_link = xyes; then | |
68 AC_TRY_COMPILE([$1], [$2], [$3], [$4]) | |
69 else | |
70 AC_TRY_LINK([$1], [$2], [$3], [$4]) | |
71 fi]) |