You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

206 lines
7.7 KiB

  1. # ===========================================================================
  2. # http://www.gnu.org/software/autoconf-archive/ax_cflags_aix_option.html
  3. # ===========================================================================
  4. #
  5. # SYNOPSIS
  6. #
  7. # AX_CFLAGS_AIX_OPTION (optionflag [,[shellvar][,[A][,[NA]]])
  8. #
  9. # DESCRIPTION
  10. #
  11. # AX_CFLAGS_AIX_OPTION(-qubicle) would show a message as like "checking
  12. # CFLAGS for aix/cc -qubicle ... yes" and adds the optionflag to CFLAGS if
  13. # it is understood. You can override the shellvar-default of CFLAGS of
  14. # course. The order of arguments stems from the explicit macros like
  15. # AX_CFLAGS_WARN_ALL.
  16. #
  17. # The cousin AX_CXXFLAGS_AIX_OPTION would check for an option to add to
  18. # CXXFLAGS - and it uses the autoconf setup for C++ instead of C (since it
  19. # is possible to use different compilers for C and C++).
  20. #
  21. # The macro is a lot simpler than any special AX_CFLAGS_* macro (or
  22. # ax_cxx_rtti.m4 macro) but allows to check for arbitrary options.
  23. # However, if you use this macro in a few places, it would be great if you
  24. # would make up a new function-macro and submit it to the ac-archive.
  25. #
  26. # - $1 option-to-check-for : required ("-option" as non-value)
  27. # - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case)
  28. # - $3 action-if-found : add value to shellvariable
  29. # - $4 action-if-not-found : nothing
  30. #
  31. # note: in earlier versions, $1-$2 were swapped. We try to detect the
  32. # situation and accept a $2=~/-/ as being the old option-to-check-for.
  33. #
  34. # see also: AX_CFLAGS_GCC_OPTION for the widely used original variant.
  35. #
  36. # LICENSE
  37. #
  38. # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
  39. #
  40. # This program is free software; you can redistribute it and/or modify it
  41. # under the terms of the GNU General Public License as published by the
  42. # Free Software Foundation; either version 2 of the License, or (at your
  43. # option) any later version.
  44. #
  45. # This program is distributed in the hope that it will be useful, but
  46. # WITHOUT ANY WARRANTY; without even the implied warranty of
  47. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
  48. # Public License for more details.
  49. #
  50. # You should have received a copy of the GNU General Public License along
  51. # with this program. If not, see <http://www.gnu.org/licenses/>.
  52. #
  53. # As a special exception, the respective Autoconf Macro's copyright owner
  54. # gives unlimited permission to copy, distribute and modify the configure
  55. # scripts that are the output of Autoconf when processing the Macro. You
  56. # need not follow the terms of the GNU General Public License when using
  57. # or distributing such scripts, even though portions of the text of the
  58. # Macro appear in them. The GNU General Public License (GPL) does govern
  59. # all other use of the material that constitutes the Autoconf Macro.
  60. #
  61. # This special exception to the GPL applies to versions of the Autoconf
  62. # Macro released by the Autoconf Archive. When you make and distribute a
  63. # modified version of the Autoconf Macro, you may extend this special
  64. # exception to the GPL to apply to your modified version as well.
  65. #serial 7
  66. AC_DEFUN([AX_CFLAGS_AIX_OPTION_OLD], [dnl
  67. AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
  68. AS_VAR_PUSHDEF([VAR],[ax_cv_cflags_aix_option_$2])dnl
  69. AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for aix/cc m4_ifval($2,$2,-option)],
  70. VAR,[VAR="no, unknown"
  71. AC_LANG_SAVE
  72. AC_LANG_C
  73. ac_save_[]FLAGS="$[]FLAGS"
  74. for ac_arg dnl
  75. in "-qlanglvl=ansi -qsrcmsg % m4_ifval($2,$2,-option)" dnl AIX
  76. #
  77. do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
  78. AC_TRY_COMPILE([],[return 0;],
  79. [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
  80. done
  81. FLAGS="$ac_save_[]FLAGS"
  82. AC_LANG_RESTORE
  83. ])
  84. case ".$VAR" in
  85. .ok|.ok,*) m4_ifvaln($3,$3) ;;
  86. .|.no|.no,*) m4_ifvaln($4,$4) ;;
  87. *) m4_ifvaln($3,$3,[
  88. if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
  89. then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
  90. else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
  91. m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
  92. fi ]) ;;
  93. esac
  94. AS_VAR_POPDEF([VAR])dnl
  95. AS_VAR_POPDEF([FLAGS])dnl
  96. ])
  97. dnl the only difference - the LANG selection... and the default FLAGS
  98. AC_DEFUN([AX_CXXFLAGS_AIX_OPTION_OLD], [dnl
  99. AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
  100. AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_aix_option_$2])dnl
  101. AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for aix/cc m4_ifval($2,$2,-option)],
  102. VAR,[VAR="no, unknown"
  103. AC_LANG_SAVE
  104. AC_LANG_CPLUSPLUS
  105. ac_save_[]FLAGS="$[]FLAGS"
  106. for ac_arg dnl
  107. in "-qlanglvl=ansi -qsrcmsg % m4_ifval($2,$2,-option)" dnl AIX
  108. #
  109. do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
  110. AC_TRY_COMPILE([],[return 0;],
  111. [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
  112. done
  113. FLAGS="$ac_save_[]FLAGS"
  114. AC_LANG_RESTORE
  115. ])
  116. case ".$VAR" in
  117. .ok|.ok,*) m4_ifvaln($3,$3) ;;
  118. .|.no|.no,*) m4_ifvaln($4,$4) ;;
  119. *) m4_ifvaln($3,$3,[
  120. if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
  121. then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
  122. else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
  123. m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
  124. fi ]) ;;
  125. esac
  126. AS_VAR_POPDEF([VAR])dnl
  127. AS_VAR_POPDEF([FLAGS])dnl
  128. ])
  129. dnl ------------------------------------------------------------------------
  130. AC_DEFUN([AX_CFLAGS_AIX_OPTION_NEW], [dnl
  131. AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
  132. AS_VAR_PUSHDEF([VAR],[ax_cv_cflags_aix_option_$1])dnl
  133. AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for aix/cc m4_ifval($1,$1,-option)],
  134. VAR,[VAR="no, unknown"
  135. AC_LANG_SAVE
  136. AC_LANG_C
  137. ac_save_[]FLAGS="$[]FLAGS"
  138. for ac_arg dnl
  139. in "-qlanglvl=ansi -qsrcmsg % m4_ifval($1,$1,-option)" dnl AIX
  140. #
  141. do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
  142. AC_TRY_COMPILE([],[return 0;],
  143. [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
  144. done
  145. FLAGS="$ac_save_[]FLAGS"
  146. AC_LANG_RESTORE
  147. ])
  148. case ".$VAR" in
  149. .ok|.ok,*) m4_ifvaln($3,$3) ;;
  150. .|.no|.no,*) m4_ifvaln($4,$4) ;;
  151. *) m4_ifvaln($3,$3,[
  152. if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
  153. then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
  154. else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
  155. m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
  156. fi ]) ;;
  157. esac
  158. AS_VAR_POPDEF([VAR])dnl
  159. AS_VAR_POPDEF([FLAGS])dnl
  160. ])
  161. dnl the only difference - the LANG selection... and the default FLAGS
  162. AC_DEFUN([AX_CXXFLAGS_AIX_OPTION_NEW], [dnl
  163. AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
  164. AS_VAR_PUSHDEF([VAR],[ax_cv_cxxflags_aix_option_$1])dnl
  165. AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for aix/cc m4_ifval($1,$1,-option)],
  166. VAR,[VAR="no, unknown"
  167. AC_LANG_SAVE
  168. AC_LANG_CPLUSPLUS
  169. ac_save_[]FLAGS="$[]FLAGS"
  170. for ac_arg dnl
  171. in "-qlanglvl=ansi -qsrcmsg % m4_ifval($1,$1,-option)" dnl AIX
  172. #
  173. do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
  174. AC_TRY_COMPILE([],[return 0;],
  175. [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
  176. done
  177. FLAGS="$ac_save_[]FLAGS"
  178. AC_LANG_RESTORE
  179. ])
  180. case ".$VAR" in
  181. .ok|.ok,*) m4_ifvaln($3,$3) ;;
  182. .|.no|.no,*) m4_ifvaln($4,$4) ;;
  183. *) m4_ifvaln($3,$3,[
  184. if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
  185. then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
  186. else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
  187. m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
  188. fi ]) ;;
  189. esac
  190. AS_VAR_POPDEF([VAR])dnl
  191. AS_VAR_POPDEF([FLAGS])dnl
  192. ])
  193. AC_DEFUN([AX_CFLAGS_AIX_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
  194. [AX_CFLAGS_AIX_OPTION_NEW($@)],[AX_CFLAGS_AIX_OPTION_OLD($@)])])
  195. AC_DEFUN([AX_CXXFLAGS_AIX_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
  196. [AX_CXXFLAGS_AIX_OPTION_NEW($@)],[AX_CXXFLAGS_AIX_OPTION_OLD($@)])])