common/autoconf/help.m4

Mon, 04 Mar 2013 16:45:07 +0100

author
erikj
date
Mon, 04 Mar 2013 16:45:07 +0100
changeset 635
907a926d3c96
parent 494
e64f2cb57d05
child 782
21198f51bc7e
permissions
-rw-r--r--

8004352: build-infra: Limit JOBS on large machines
Reviewed-by: mduigou

     1 #
     2 # Copyright (c) 2011, 2012, 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: freetyp2, cups, pulse, alsa etc
    35     MISSING_DEPENDENCY=$1
    36     PKGHANDLER_COMMAND=
    38     case $PKGHANDLER in
    39 	apt-get)
    40                 apt_help     $MISSING_DEPENDENCY ;;
    41     yum)
    42                 yum_help     $MISSING_DEPENDENCY ;;
    43 	port)
    44                 port_help    $MISSING_DEPENDENCY ;;
    45 	pkgutil)
    46                 pkgutil_help $MISSING_DEPENDENCY ;;
    47 	pkgadd)
    48                 pkgadd_help  $MISSING_DEPENDENCY ;;
    49     * )
    50       break ;;
    51     esac
    53     if test "x$PKGHANDLER_COMMAND" != x; then
    54         HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
    55     fi
    56 ])
    58 cygwin_help() {
    59     case $1 in
    60     unzip)
    61         PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
    62     zip)
    63         PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
    64     make)
    65         PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
    66     * )
    67        break ;;
    68     esac
    69 }
    71 apt_help() {
    72     case $1 in
    73     devkit)
    74         PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
    75     openjdk)
    76         PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
    77     alsa)
    78         PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
    79     cups)
    80         PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
    81     freetype2)
    82         PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
    83     pulse)
    84         PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
    85     x11)
    86         PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev" ;;
    87     ccache)
    88         PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
    89     * )
    90        break ;;
    91     esac
    92 }
    94 yum_help() {
    95     case $1 in
    96     devkit)
    97         PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
    98     openjdk)
    99         PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
   100     alsa)
   101         PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
   102     cups)
   103         PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
   104     freetype2)
   105         PKGHANDLER_COMMAND="sudo yum install freetype2-devel" ;;
   106     pulse)
   107         PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
   108     x11)
   109         PKGHANDLER_COMMAND="sudo yum install libXtst-devel" ;;
   110     ccache)
   111         PKGHANDLER_COMMAND="sudo yum install ccache" ;;
   112     * )
   113        break ;;
   114     esac
   115 }
   117 port_help() {
   118     PKGHANDLER_COMMAND=""
   119 }
   121 pkgutil_help() {
   122     PKGHANDLER_COMMAND=""
   123 }
   125 pkgadd_help() {
   126     PKGHANDLER_COMMAND=""
   127 }
   129 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
   130 [
   131 # Finally output some useful information to the user
   133 if test "x$CCACHE_FOUND" != x; then
   134 	if  test "x$HAS_GOOD_CCACHE" = x; then
   135 		CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
   136 		CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
   137 	else
   138 		CCACHE_STATUS="installed and in use"
   139 	fi
   140 else
   141 	if test "x$GCC" = xyes; then
   142 		CCACHE_STATUS="not installed (consider installing)"
   143 		CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
   144 	else
   145 		CCACHE_STATUS="not available for your system"
   146 	fi
   147 fi
   149 printf "\n"
   150 printf "====================================================\n"
   151 printf "A new configuration has been successfully created in\n"
   152 printf "$OUTPUT_ROOT\n"
   153 if test "x$CONFIGURE_COMMAND_LINE" != x; then
   154 	printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
   155 else
   156 	printf "using default settings.\n"
   157 fi
   159 printf "\n"
   160 printf "Configuration summary:\n"
   161 printf "* Debug level:    $DEBUG_LEVEL\n"
   162 printf "* JDK variant:    $JDK_VARIANT\n"
   163 printf "* JVM variants:   $with_jvm_variants\n"
   164 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
   166 printf "\n"
   167 printf "Tools summary:\n"
   168 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
   169   printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
   170 fi
   171 printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
   172 printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
   173 printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
   175 printf "\n"
   176 printf "Build performance summary:\n"
   177 printf "* Cores to use:   $JOBS\n"
   178 printf "* Memory limit:   $MEMORY_SIZE MB\n"
   179 printf "* ccache status:  $CCACHE_STATUS\n"
   180 printf "\n"
   182 if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
   183 	printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
   184 	printf "$CCACHE_HELP_MSG\n"
   185 	HELP_MSG_MISSING_DEPENDENCY([ccache])
   186 	printf "$HELP_MSG\n"
   187 	printf "\n"
   188 fi
   190 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
   191 	printf "NOTE: You have requested to build more than one version of the JVM, which\n"
   192 	printf "will result in longer build times.\n"
   193 	printf "\n"
   194 fi
   196 if test "x$FOUND_ALT_VARIABLES" != "x"; then
   197 	printf "WARNING: You have old-style ALT_ environment variables set.\n"
   198 	printf "These are not respected, and will be ignored. It is recommended\n"
   199 	printf "that you clean your environment. The following variables are set:\n"
   200 	printf "$FOUND_ALT_VARIABLES\n"
   201 	printf "\n"
   202 fi
   204 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
   205 	printf "WARNING: Your build output directory is not on a local disk.\n"
   206 	printf "This will severely degrade build performance!\n"
   207 	printf "It is recommended that you create an output directory on a local disk,\n"
   208 	printf "and run the configure script again from that directory.\n"
   209 	printf "\n"
   210 fi
   212 if test "x$IS_RECONFIGURE" = "xyes"; then
   213 	printf "WARNING: The result of this configuration has overridden an older\n"
   214 	printf "configuration. You *should* run 'make clean' to make sure you get a\n"
   215 	printf "proper build. Failure to do so might result in strange build problems.\n"
   216 	printf "\n"
   217 fi
   218 ])

mercurial