help.m4 revision 633:907a926d3c96
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# 25 26AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP], 27[ 28 AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd) 29]) 30 31AC_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= 37 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 52 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]) 57 58cygwin_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} 70 71apt_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} 93 94yum_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} 116 117port_help() { 118 PKGHANDLER_COMMAND="" 119} 120 121pkgutil_help() { 122 PKGHANDLER_COMMAND="" 123} 124 125pkgadd_help() { 126 PKGHANDLER_COMMAND="" 127} 128 129AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], 130[ 131# Finally output some useful information to the user 132 133if 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 140else 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 147fi 148 149printf "\n" 150printf "====================================================\n" 151printf "A new configuration has been successfully created in\n" 152printf "$OUTPUT_ROOT\n" 153if test "x$CONFIGURE_COMMAND_LINE" != x; then 154 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n" 155else 156 printf "using default settings.\n" 157fi 158 159printf "\n" 160printf "Configuration summary:\n" 161printf "* Debug level: $DEBUG_LEVEL\n" 162printf "* JDK variant: $JDK_VARIANT\n" 163printf "* JVM variants: $with_jvm_variants\n" 164printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" 165 166printf "\n" 167printf "Tools summary:\n" 168if test "x$OPENJDK_BUILD_OS" = "xwindows"; then 169 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n" 170fi 171printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n" 172printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n" 173printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n" 174 175printf "\n" 176printf "Build performance summary:\n" 177printf "* Cores to use: $JOBS\n" 178printf "* Memory limit: $MEMORY_SIZE MB\n" 179printf "* ccache status: $CCACHE_STATUS\n" 180printf "\n" 181 182if 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" 188fi 189 190if 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" 194fi 195 196if 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" 202fi 203 204if 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" 210fi 211 212if 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" 217fi 218]) 219