< prev index next >

make/autoconf/flags.m4

Print this page
rev 52912 : 8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation
Reviewed-by: ihse, andrew


 399   FLAGS_SETUP_QUALITY_CHECKS
 400   FLAGS_SETUP_OPTIMIZATION
 401 
 402   FLAGS_SETUP_CFLAGS
 403   FLAGS_SETUP_LDFLAGS
 404 
 405   FLAGS_SETUP_ARFLAGS
 406   FLAGS_SETUP_STRIPFLAGS
 407   FLAGS_SETUP_RCFLAGS
 408 
 409   FLAGS_SETUP_ASFLAGS
 410   FLAGS_SETUP_ASFLAGS_CPU_DEP([TARGET])
 411   FLAGS_SETUP_ASFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
 412 ])
 413 
 414 # FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 415 #                                  IF_FALSE: [RUN-IF-FALSE])
 416 # ------------------------------------------------------------
 417 # Check that the C compiler supports an argument
 418 BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
 419     [*ARGUMENT IF_TRUE IF_FALSE], [$@],
 420 [
 421   AC_MSG_CHECKING([if the C compiler supports "ARG_ARGUMENT"])
 422   supports=yes
 423 
 424   saved_cflags="$CFLAGS"

 425   CFLAGS="$CFLAGS ARG_ARGUMENT"

 426   AC_LANG_PUSH([C])
 427   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
 428       [supports=no])
 429   AC_LANG_POP([C])

 430   CFLAGS="$saved_cflags"
 431 
 432   AC_MSG_RESULT([$supports])
 433   if test "x$supports" = "xyes" ; then
 434     :
 435     ARG_IF_TRUE
 436   else
 437     :
 438     ARG_IF_FALSE
 439   fi
 440 ])
 441 
 442 # FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 443 #                                    IF_FALSE: [RUN-IF-FALSE])
 444 # ------------------------------------------------------------
 445 # Check that the C++ compiler supports an argument
 446 BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
 447     [*ARGUMENT IF_TRUE IF_FALSE], [$@],
 448 [
 449   AC_MSG_CHECKING([if the C++ compiler supports "ARG_ARGUMENT"])
 450   supports=yes
 451 
 452   saved_cxxflags="$CXXFLAGS"

 453   CXXFLAGS="$CXXFLAG ARG_ARGUMENT"

 454   AC_LANG_PUSH([C++])
 455   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
 456       [supports=no])
 457   AC_LANG_POP([C++])

 458   CXXFLAGS="$saved_cxxflags"
 459 
 460   AC_MSG_RESULT([$supports])
 461   if test "x$supports" = "xyes" ; then
 462     :
 463     ARG_IF_TRUE
 464   else
 465     :
 466     ARG_IF_FALSE
 467   fi
 468 ])
 469 
 470 # FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 471 #                                IF_FALSE: [RUN-IF-FALSE])
 472 # ------------------------------------------------------------
 473 # Check that the C and C++ compilers support an argument
 474 BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
 475     [*ARGUMENT IF_TRUE IF_FALSE], [$@],
 476 [
 477   FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
 478                                              IF_TRUE: [C_COMP_SUPPORTS="yes"],
 479                                              IF_FALSE: [C_COMP_SUPPORTS="no"])

 480   FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
 481                                                IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
 482                                                IF_FALSE: [CXX_COMP_SUPPORTS="no"])

 483 
 484   AC_MSG_CHECKING([if both compilers support "ARG_ARGUMENT"])
 485   supports=no
 486   if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi


 487 
 488   AC_MSG_RESULT([$supports])
 489   if test "x$supports" = "xyes" ; then
 490     :
 491     ARG_IF_TRUE
 492   else
 493     :
 494     ARG_IF_FALSE
 495   fi
 496 ])
 497 
 498 # FLAGS_LINKER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 499 #                                   IF_FALSE: [RUN-IF-FALSE])
 500 # ------------------------------------------------------------
 501 # Check that the linker support an argument
 502 BASIC_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
 503     [*ARGUMENT IF_TRUE IF_FALSE], [$@],
 504 [
 505   AC_MSG_CHECKING([if linker supports "ARG_ARGUMENT"])
 506   supports=yes


 399   FLAGS_SETUP_QUALITY_CHECKS
 400   FLAGS_SETUP_OPTIMIZATION
 401 
 402   FLAGS_SETUP_CFLAGS
 403   FLAGS_SETUP_LDFLAGS
 404 
 405   FLAGS_SETUP_ARFLAGS
 406   FLAGS_SETUP_STRIPFLAGS
 407   FLAGS_SETUP_RCFLAGS
 408 
 409   FLAGS_SETUP_ASFLAGS
 410   FLAGS_SETUP_ASFLAGS_CPU_DEP([TARGET])
 411   FLAGS_SETUP_ASFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
 412 ])
 413 
 414 # FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 415 #                                  IF_FALSE: [RUN-IF-FALSE])
 416 # ------------------------------------------------------------
 417 # Check that the C compiler supports an argument
 418 BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
 419     [*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
 420 [
 421   AC_MSG_CHECKING([if ARG_PREFIX[CC] supports "ARG_ARGUMENT"])
 422   supports=yes
 423 
 424   saved_cflags="$CFLAGS"
 425   saved_cc="$CC"
 426   CFLAGS="$CFLAGS ARG_ARGUMENT"
 427   CC="$ARG_PREFIX[CC]"
 428   AC_LANG_PUSH([C])
 429   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
 430       [supports=no])
 431   AC_LANG_POP([C])
 432   CC="$saved_cc"
 433   CFLAGS="$saved_cflags"
 434 
 435   AC_MSG_RESULT([$supports])
 436   if test "x$supports" = "xyes" ; then
 437     :
 438     ARG_IF_TRUE
 439   else
 440     :
 441     ARG_IF_FALSE
 442   fi
 443 ])
 444 
 445 # FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 446 #                                    IF_FALSE: [RUN-IF-FALSE])
 447 # ------------------------------------------------------------
 448 # Check that the C++ compiler supports an argument
 449 BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
 450     [*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
 451 [
 452   AC_MSG_CHECKING([if ARG_PREFIX[CXX] supports "ARG_ARGUMENT"])
 453   supports=yes
 454 
 455   saved_cxxflags="$CXXFLAGS"
 456   saved_cxx="$CXX"
 457   CXXFLAGS="$CXXFLAG ARG_ARGUMENT"
 458   CXX="$ARG_PREFIX[CXX]"
 459   AC_LANG_PUSH([C++])
 460   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
 461       [supports=no])
 462   AC_LANG_POP([C++])
 463   CXX="$saved_cxx"
 464   CXXFLAGS="$saved_cxxflags"
 465 
 466   AC_MSG_RESULT([$supports])
 467   if test "x$supports" = "xyes" ; then
 468     :
 469     ARG_IF_TRUE
 470   else
 471     :
 472     ARG_IF_FALSE
 473   fi
 474 ])
 475 
 476 # FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 477 #                                IF_FALSE: [RUN-IF-FALSE])
 478 # ------------------------------------------------------------
 479 # Check that the C and C++ compilers support an argument
 480 BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
 481     [*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
 482 [
 483   FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
 484       IF_TRUE: [C_COMP_SUPPORTS="yes"],
 485       IF_FALSE: [C_COMP_SUPPORTS="no"],
 486       PREFIX: [ARG_PREFIX])
 487   FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
 488       IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
 489       IF_FALSE: [CXX_COMP_SUPPORTS="no"],
 490       PREFIX: [ARG_PREFIX])
 491 
 492   AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
 493   supports=no
 494   if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then
 495     supports=yes;
 496   fi
 497 
 498   AC_MSG_RESULT([$supports])
 499   if test "x$supports" = "xyes" ; then
 500     :
 501     ARG_IF_TRUE
 502   else
 503     :
 504     ARG_IF_FALSE
 505   fi
 506 ])
 507 
 508 # FLAGS_LINKER_CHECK_ARGUMENTS(ARGUMENT: [ARGUMENT], IF_TRUE: [RUN-IF-TRUE],
 509 #                                   IF_FALSE: [RUN-IF-FALSE])
 510 # ------------------------------------------------------------
 511 # Check that the linker support an argument
 512 BASIC_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
 513     [*ARGUMENT IF_TRUE IF_FALSE], [$@],
 514 [
 515   AC_MSG_CHECKING([if linker supports "ARG_ARGUMENT"])
 516   supports=yes
< prev index next >