common/autoconf/help.m4

Mon, 14 Sep 2020 16:42:03 +0100

author
andrew
date
Mon, 14 Sep 2020 16:42:03 +0100
changeset 2554
7f60c2d9823e
parent 2400
9da665f87c4b
child 2408
2e38e8d106de
permissions
-rw-r--r--

Added tag jdk8u272-b08 for changeset 34c6baf21464

     1 #
     2 # Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Oracle designates this
     8 # particular file as subject to the "Classpath" exception as provided
     9 # by Oracle in the LICENSE file that accompanied this code.
    10 #
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14 # version 2 for more details (a copy is included in the LICENSE file that
    15 # accompanied this code).
    16 #
    17 # You should have received a copy of the GNU General Public License version
    18 # 2 along with this work; if not, write to the Free Software Foundation,
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20 #
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22 # or visit www.oracle.com if you need additional information or have any
    23 # questions.
    24 #
    26 AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
    27 [
    28   AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
    29 ])
    31 AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
    32 [
    33   # Print a helpful message on how to acquire the necessary build dependency.
    34   # $1 is the help tag: freetype, cups, pulse, alsa etc
    35   MISSING_DEPENDENCY=$1
    37   if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
    38     cygwin_help $MISSING_DEPENDENCY
    39   elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
    40     msys_help $MISSING_DEPENDENCY
    41   else
    42     PKGHANDLER_COMMAND=
    44     case $PKGHANDLER in
    45       apt-get)
    46         apt_help     $MISSING_DEPENDENCY ;;
    47       yum)
    48         yum_help     $MISSING_DEPENDENCY ;;
    49       port)
    50         port_help    $MISSING_DEPENDENCY ;;
    51       pkgutil)
    52         pkgutil_help $MISSING_DEPENDENCY ;;
    53       pkgadd)
    54         pkgadd_help  $MISSING_DEPENDENCY ;;
    55     esac
    57     if test "x$PKGHANDLER_COMMAND" != x; then
    58       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    59     fi
    60   fi
    61 ])
    63 cygwin_help() {
    64   case $1 in
    65     unzip)
    66       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )"
    67       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    68       ;;
    69     zip)
    70       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )"
    71       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    72       ;;
    73     make)
    74       PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
    75       HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    76       ;;
    77     freetype)
    78       HELP_MSG="
    79 The freetype library can now be build during the configure process.
    80 Download the freetype sources and unpack them into an arbitrary directory:
    82 wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
    83 tar -xzf freetype-2.5.3.tar.gz
    85 Then run configure with '--with-freetype-src=<freetype_src>'. This will
    86 automatically build the freetype library into '<freetype_src>/lib64' for 64-bit
    87 builds or into '<freetype_src>/lib32' for 32-bit builds.
    88 Afterwards you can always use '--with-freetype-include=<freetype_src>/include'
    89 and '--with-freetype-lib=<freetype_src>/lib[32|64]' for other builds."
    90       ;;
    91   esac
    92 }
    94 msys_help() {
    95   PKGHANDLER_COMMAND=""
    96 }
    98 apt_help() {
    99   case $1 in
   100     devkit)
   101       PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
   102     openjdk)
   103       PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
   104     alsa)
   105       PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
   106     cups)
   107       PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
   108     fontconfig)
   109       PKGHANDLER_COMMAND="sudo apt-get install libfontconfig1-dev" ;;
   110     freetype)
   111       PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
   112     pulse)
   113       PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
   114     x11)
   115       PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
   116     ccache)
   117       PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
   118   esac
   119 }
   121 yum_help() {
   122   case $1 in
   123     devkit)
   124       PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
   125     openjdk)
   126       PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
   127     alsa)
   128       PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
   129     cups)
   130       PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
   131     fontconfig)
   132       PKGHANDLER_COMMAND="sudo yum install fontconfig-devel" ;;
   133     freetype)
   134       PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
   135     pulse)
   136       PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
   137     x11)
   138       PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
   139     ccache)
   140       PKGHANDLER_COMMAND="sudo yum install ccache" ;;
   141   esac
   142 }
   144 port_help() {
   145   PKGHANDLER_COMMAND=""
   146 }
   148 pkgutil_help() {
   149   PKGHANDLER_COMMAND=""
   150 }
   152 pkgadd_help() {
   153   PKGHANDLER_COMMAND=""
   154 }
   156 # This function will check if we're called from the "configure" wrapper while
   157 # printing --help. If so, we will print out additional information that can
   158 # only be extracted within the autoconf script, and then exit. This must be
   159 # called at the very beginning in configure.ac.
   160 AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
   161 [
   162   if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then
   163     $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
   164     $PRINTF "Which are valid to use depends on the build platform.\n"
   165     for toolchain in $VALID_TOOLCHAINS_all; do
   166       # Use indirect variable referencing
   167       toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
   168       TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
   169       $PRINTF "  %-10s  %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
   170     done
   172     # And now exit directly
   173     exit 0
   174   fi
   175 ])
   177 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
   178 [
   179   # Finally output some useful information to the user
   181   printf "\n"
   182   printf "====================================================\n"
   183   printf "A new configuration has been successfully created in\n"
   184   printf "$OUTPUT_ROOT\n"
   185   if test "x$CONFIGURE_COMMAND_LINE" != x; then
   186     printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
   187   else
   188     printf "using default settings.\n"
   189   fi
   191   printf "\n"
   192   printf "Configuration summary:\n"
   193   printf "* Debug level:    $DEBUG_LEVEL\n"
   194   printf "* JDK variant:    $JDK_VARIANT\n"
   195   printf "* JVM variants:   $with_jvm_variants\n"
   196   printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
   198   printf "\n"
   199   printf "Tools summary:\n"
   200   if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
   201     printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
   202   fi
   203   printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
   204   printf "* Toolchain:      $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n" 
   205   printf "* C Compiler:     Version $CC_VERSION_NUMBER (at $CC)\n"
   206   printf "* C++ Compiler:   Version $CXX_VERSION_NUMBER (at $CXX)\n"
   208   printf "\n"
   209   printf "Build performance summary:\n"
   210   printf "* Cores to use:   $JOBS\n"
   211   printf "* Memory limit:   $MEMORY_SIZE MB\n"
   212   if test "x$CCACHE_STATUS" != "x"; then
   213     printf "* ccache status:  $CCACHE_STATUS\n"
   214   fi
   215   printf "\n"
   217   if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
   218     printf "NOTE: You have requested to build more than one version of the JVM, which\n"
   219     printf "will result in longer build times.\n"
   220     printf "\n"
   221   fi
   223   if test "x$FOUND_ALT_VARIABLES" != "x"; then
   224     printf "WARNING: You have old-style ALT_ environment variables set.\n"
   225     printf "These are not respected, and will be ignored. It is recommended\n"
   226     printf "that you clean your environment. The following variables are set:\n"
   227     printf "$FOUND_ALT_VARIABLES\n"
   228     printf "\n"
   229   fi
   231   if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
   232     printf "WARNING: Your build output directory is not on a local disk.\n"
   233     printf "This will severely degrade build performance!\n"
   234     printf "It is recommended that you create an output directory on a local disk,\n"
   235     printf "and run the configure script again from that directory.\n"
   236     printf "\n"
   237   fi
   239   if test "x$IS_RECONFIGURE" = "xyes"; then
   240     printf "WARNING: The result of this configuration has overridden an older\n"
   241     printf "configuration. You *should* run 'make clean' to make sure you get a\n"
   242     printf "proper build. Failure to do so might result in strange build problems.\n"
   243     printf "\n"
   244   fi
   246   if test "x$UNSUPPORTED_TOOLCHAIN_VERSION" = "xyes"; then
   247     printf "WARNING: The toolchain version used is known to have issues. Please\n"
   248     printf "consider using a supported version unless you know what you are doing.\n"
   249     printf "\n"
   250   fi
   251 ])

mercurial