< prev index next >

make/autoconf/basic_tools.m4

Print this page
rev 59383 : [mq]: final


 253       FIND_DELETE="-exec $RM \{\} \+"
 254     fi
 255     AC_MSG_RESULT([no])
 256   else
 257     AC_MSG_RESULT([yes])
 258   fi
 259   $RMDIR $DELETEDIR
 260   AC_SUBST(FIND_DELETE)
 261 ])
 262 
 263 ###############################################################################
 264 AC_DEFUN([BASIC_CHECK_TAR],
 265 [
 266   # Test which kind of tar was found
 267   if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
 268     TAR_TYPE="gnu"
 269   elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
 270     TAR_TYPE="bsd"
 271   elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
 272     TAR_TYPE="bsd"
 273   elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
 274     TAR_TYPE="solaris"
 275   elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
 276     TAR_TYPE="aix"
 277   fi
 278   AC_MSG_CHECKING([what type of tar was found])
 279   AC_MSG_RESULT([$TAR_TYPE])
 280 
 281   TAR_CREATE_FILE_PARAM=""
 282 
 283   if test "x$TAR_TYPE" = "xgnu"; then
 284     TAR_INCLUDE_PARAM="T"
 285     TAR_SUPPORTS_TRANSFORM="true"
 286     if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
 287       # When using gnu tar for Solaris targets, need to use compatibility mode
 288       TAR_CREATE_EXTRA_PARAM="--format=ustar"
 289     fi
 290   elif test "x$TAR_TYPE" = "aix"; then
 291     # -L InputList of aix tar: name of file listing the files and directories
 292     # that need to be   archived or extracted
 293     TAR_INCLUDE_PARAM="L"
 294     TAR_SUPPORTS_TRANSFORM="false"
 295   else
 296     TAR_INCLUDE_PARAM="I"
 297     TAR_SUPPORTS_TRANSFORM="false"
 298   fi
 299   AC_SUBST(TAR_TYPE)
 300   AC_SUBST(TAR_CREATE_EXTRA_PARAM)
 301   AC_SUBST(TAR_INCLUDE_PARAM)
 302   AC_SUBST(TAR_SUPPORTS_TRANSFORM)
 303 ])
 304 
 305 ###############################################################################
 306 AC_DEFUN([BASIC_CHECK_GREP],
 307 [
 308   # Test that grep supports -Fx with a list of pattern which includes null pattern.
 309   # This is a problem for the grep resident on AIX.
 310   AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
 311   # Multiple subsequent spaces..
 312   STACK_SPACES='aaa   bbb   ccc'
 313   # ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
 314   # patterns in it.
 315   STACK_LIST=${STACK_SPACES// /$'\n'}
 316   NEEDLE_SPACES='ccc bbb aaa'
 317   NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
 318   RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
 319   if test "x$RESULT" == "x"; then
 320     AC_MSG_RESULT([yes])


 342   # Since zip uses "ZIP" as a environment variable for passing options, we need
 343   # to name our variable differently, hence ZIPEXE.
 344   UTIL_REQUIRE_PROGS(ZIPEXE, zip)
 345 
 346   # Non-required basic tools
 347 
 348   UTIL_PATH_PROGS(LDD, ldd)
 349   if test "x$LDD" = "x"; then
 350     # List shared lib dependencies is used for
 351     # debug output and checking for forbidden dependencies.
 352     # We can build without it.
 353     LDD="true"
 354   fi
 355   UTIL_PATH_PROGS(READELF, [greadelf readelf])
 356   UTIL_PATH_PROGS(DOT, dot)
 357   UTIL_PATH_PROGS(HG, hg)
 358   UTIL_PATH_PROGS(GIT, git)
 359   UTIL_PATH_PROGS(STAT, stat)
 360   UTIL_PATH_PROGS(TIME, time)
 361   UTIL_PATH_PROGS(FLOCK, flock)
 362   # Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
 363   # be in the user path.
 364   UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
 365   UTIL_PATH_PROGS(PATCH, [gpatch patch])
 366   # Check if it's GNU time
 367   IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
 368   if test "x$IS_GNU_TIME" != x; then
 369     IS_GNU_TIME=yes
 370   else
 371     IS_GNU_TIME=no
 372   fi
 373   AC_SUBST(IS_GNU_TIME)
 374 
 375   if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
 376     UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
 377     UTIL_REQUIRE_PROGS(MIG, mig)
 378     UTIL_REQUIRE_PROGS(XATTR, xattr)
 379     UTIL_PATH_PROGS(CODESIGN, codesign)
 380 
 381     if test "x$CODESIGN" != "x"; then
 382       # Check for user provided code signing identity.


 398       $RM codesign-testfile
 399       if test "x$CODESIGN" = x; then
 400         AC_MSG_RESULT([no])
 401       else
 402         AC_MSG_RESULT([yes])
 403         # Verify that the codesign has --option runtime
 404         AC_MSG_CHECKING([if codesign has --option runtime])
 405         $RM codesign-testfile
 406         $TOUCH codesign-testfile
 407         $CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
 408             2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
 409         $RM codesign-testfile
 410         if test "x$CODESIGN" = x; then
 411           AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
 412         else
 413           AC_MSG_RESULT([yes])
 414         fi
 415       fi
 416     fi
 417     UTIL_REQUIRE_PROGS(SETFILE, SetFile)
 418   elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
 419     UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
 420   fi
 421   if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
 422     UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
 423   fi
 424 ])
 425 
 426 ###############################################################################
 427 # Check for support for specific options in bash
 428 AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
 429 [
 430   # Check bash version
 431   # Extra [ ] to stop m4 mangling
 432   [ BASH_VER=`$BASH --version | $SED -n  -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
 433   AC_MSG_CHECKING([bash version])
 434   AC_MSG_RESULT([$BASH_VER])
 435 
 436   BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
 437   BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
 438   if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
 439     AC_MSG_ERROR([bash version 3.2 or better is required])




 253       FIND_DELETE="-exec $RM \{\} \+"
 254     fi
 255     AC_MSG_RESULT([no])
 256   else
 257     AC_MSG_RESULT([yes])
 258   fi
 259   $RMDIR $DELETEDIR
 260   AC_SUBST(FIND_DELETE)
 261 ])
 262 
 263 ###############################################################################
 264 AC_DEFUN([BASIC_CHECK_TAR],
 265 [
 266   # Test which kind of tar was found
 267   if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
 268     TAR_TYPE="gnu"
 269   elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
 270     TAR_TYPE="bsd"
 271   elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
 272     TAR_TYPE="bsd"


 273   elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
 274     TAR_TYPE="aix"
 275   fi
 276   AC_MSG_CHECKING([what type of tar was found])
 277   AC_MSG_RESULT([$TAR_TYPE])
 278 


 279   if test "x$TAR_TYPE" = "xgnu"; then
 280     TAR_INCLUDE_PARAM="T"
 281     TAR_SUPPORTS_TRANSFORM="true"




 282   elif test "x$TAR_TYPE" = "aix"; then
 283     # -L InputList of aix tar: name of file listing the files and directories
 284     # that need to be   archived or extracted
 285     TAR_INCLUDE_PARAM="L"
 286     TAR_SUPPORTS_TRANSFORM="false"
 287   else
 288     TAR_INCLUDE_PARAM="I"
 289     TAR_SUPPORTS_TRANSFORM="false"
 290   fi
 291   AC_SUBST(TAR_TYPE)

 292   AC_SUBST(TAR_INCLUDE_PARAM)
 293   AC_SUBST(TAR_SUPPORTS_TRANSFORM)
 294 ])
 295 
 296 ###############################################################################
 297 AC_DEFUN([BASIC_CHECK_GREP],
 298 [
 299   # Test that grep supports -Fx with a list of pattern which includes null pattern.
 300   # This is a problem for the grep resident on AIX.
 301   AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
 302   # Multiple subsequent spaces..
 303   STACK_SPACES='aaa   bbb   ccc'
 304   # ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
 305   # patterns in it.
 306   STACK_LIST=${STACK_SPACES// /$'\n'}
 307   NEEDLE_SPACES='ccc bbb aaa'
 308   NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
 309   RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
 310   if test "x$RESULT" == "x"; then
 311     AC_MSG_RESULT([yes])


 333   # Since zip uses "ZIP" as a environment variable for passing options, we need
 334   # to name our variable differently, hence ZIPEXE.
 335   UTIL_REQUIRE_PROGS(ZIPEXE, zip)
 336 
 337   # Non-required basic tools
 338 
 339   UTIL_PATH_PROGS(LDD, ldd)
 340   if test "x$LDD" = "x"; then
 341     # List shared lib dependencies is used for
 342     # debug output and checking for forbidden dependencies.
 343     # We can build without it.
 344     LDD="true"
 345   fi
 346   UTIL_PATH_PROGS(READELF, [greadelf readelf])
 347   UTIL_PATH_PROGS(DOT, dot)
 348   UTIL_PATH_PROGS(HG, hg)
 349   UTIL_PATH_PROGS(GIT, git)
 350   UTIL_PATH_PROGS(STAT, stat)
 351   UTIL_PATH_PROGS(TIME, time)
 352   UTIL_PATH_PROGS(FLOCK, flock)
 353   # Dtrace is usually found in /usr/sbin, but that directory may not
 354   # be in the user path.
 355   UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
 356   UTIL_PATH_PROGS(PATCH, [gpatch patch])
 357   # Check if it's GNU time
 358   IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
 359   if test "x$IS_GNU_TIME" != x; then
 360     IS_GNU_TIME=yes
 361   else
 362     IS_GNU_TIME=no
 363   fi
 364   AC_SUBST(IS_GNU_TIME)
 365 
 366   if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
 367     UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
 368     UTIL_REQUIRE_PROGS(MIG, mig)
 369     UTIL_REQUIRE_PROGS(XATTR, xattr)
 370     UTIL_PATH_PROGS(CODESIGN, codesign)
 371 
 372     if test "x$CODESIGN" != "x"; then
 373       # Check for user provided code signing identity.


 389       $RM codesign-testfile
 390       if test "x$CODESIGN" = x; then
 391         AC_MSG_RESULT([no])
 392       else
 393         AC_MSG_RESULT([yes])
 394         # Verify that the codesign has --option runtime
 395         AC_MSG_CHECKING([if codesign has --option runtime])
 396         $RM codesign-testfile
 397         $TOUCH codesign-testfile
 398         $CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
 399             2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
 400         $RM codesign-testfile
 401         if test "x$CODESIGN" = x; then
 402           AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
 403         else
 404           AC_MSG_RESULT([yes])
 405         fi
 406       fi
 407     fi
 408     UTIL_REQUIRE_PROGS(SETFILE, SetFile)


 409   fi
 410   if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
 411     UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
 412   fi
 413 ])
 414 
 415 ###############################################################################
 416 # Check for support for specific options in bash
 417 AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
 418 [
 419   # Check bash version
 420   # Extra [ ] to stop m4 mangling
 421   [ BASH_VER=`$BASH --version | $SED -n  -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
 422   AC_MSG_CHECKING([bash version])
 423   AC_MSG_RESULT([$BASH_VER])
 424 
 425   BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
 426   BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
 427   if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
 428     AC_MSG_ERROR([bash version 3.2 or better is required])


< prev index next >