help.m4 revision 860:dffe654ab24c
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 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= 43 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 * ) 56 break ;; 57 esac 58 59 if test "x$PKGHANDLER_COMMAND" != x; then 60 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 61 fi 62 fi 63]) 64 65cygwin_help() { 66 case $1 in 67 unzip) 68 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )" 69 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 70 ;; 71 zip) 72 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )" 73 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 74 ;; 75 make) 76 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )" 77 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 78 ;; 79 freetype2) 80 if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then 81 HELP_MSG="To install freetype, run: 82wget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe 83chmod +x /tmp/freetype-setup.exe 84/tmp/freetype-setup.exe 85Follow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\". 86After installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll." 87 else 88 HELP_MSG="You need to build a 64-bit version of freetype. 89This is not readily available. 90You can find source code and build instructions on 91http://www.freetype.org/ 92If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically." 93 fi 94 ;; 95 * ) 96 break ;; 97 esac 98} 99 100msys_help() { 101 PKGHANDLER_COMMAND="" 102} 103 104apt_help() { 105 case $1 in 106 devkit) 107 PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;; 108 openjdk) 109 PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;; 110 alsa) 111 PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;; 112 cups) 113 PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;; 114 freetype2) 115 PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;; 116 pulse) 117 PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;; 118 x11) 119 PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;; 120 ccache) 121 PKGHANDLER_COMMAND="sudo apt-get install ccache" ;; 122 * ) 123 break ;; 124 esac 125} 126 127yum_help() { 128 case $1 in 129 devkit) 130 PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;; 131 openjdk) 132 PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;; 133 alsa) 134 PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;; 135 cups) 136 PKGHANDLER_COMMAND="sudo yum install cups-devel" ;; 137 freetype2) 138 PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;; 139 pulse) 140 PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;; 141 x11) 142 PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;; 143 ccache) 144 PKGHANDLER_COMMAND="sudo yum install ccache" ;; 145 * ) 146 break ;; 147 esac 148} 149 150port_help() { 151 PKGHANDLER_COMMAND="" 152} 153 154pkgutil_help() { 155 PKGHANDLER_COMMAND="" 156} 157 158pkgadd_help() { 159 PKGHANDLER_COMMAND="" 160} 161 162AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], 163[ 164 # Finally output some useful information to the user 165 166 if test "x$CCACHE_FOUND" != x; then 167 if test "x$HAS_GOOD_CCACHE" = x; then 168 CCACHE_STATUS="installed, but disabled (version older than 3.1.4)" 169 CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading." 170 else 171 CCACHE_STATUS="installed and in use" 172 fi 173 else 174 if test "x$GCC" = xyes; then 175 CCACHE_STATUS="not installed (consider installing)" 176 CCACHE_HELP_MSG="You do not have ccache installed. Try installing it." 177 else 178 CCACHE_STATUS="not available for your system" 179 fi 180 fi 181 182 printf "\n" 183 printf "====================================================\n" 184 printf "A new configuration has been successfully created in\n" 185 printf "$OUTPUT_ROOT\n" 186 if test "x$CONFIGURE_COMMAND_LINE" != x; then 187 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n" 188 else 189 printf "using default settings.\n" 190 fi 191 192 printf "\n" 193 printf "Configuration summary:\n" 194 printf "* Debug level: $DEBUG_LEVEL\n" 195 printf "* JDK variant: $JDK_VARIANT\n" 196 printf "* JVM variants: $with_jvm_variants\n" 197 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" 198 199 printf "\n" 200 printf "Tools summary:\n" 201 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then 202 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n" 203 fi 204 printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n" 205 printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n" 206 printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n" 207 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 printf "* ccache status: $CCACHE_STATUS\n" 213 printf "\n" 214 215 if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then 216 printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n" 217 printf "$CCACHE_HELP_MSG\n" 218 HELP_MSG_MISSING_DEPENDENCY([ccache]) 219 printf "$HELP_MSG\n" 220 printf "\n" 221 fi 222 223 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then 224 printf "NOTE: You have requested to build more than one version of the JVM, which\n" 225 printf "will result in longer build times.\n" 226 printf "\n" 227 fi 228 229 if test "x$FOUND_ALT_VARIABLES" != "x"; then 230 printf "WARNING: You have old-style ALT_ environment variables set.\n" 231 printf "These are not respected, and will be ignored. It is recommended\n" 232 printf "that you clean your environment. The following variables are set:\n" 233 printf "$FOUND_ALT_VARIABLES\n" 234 printf "\n" 235 fi 236 237 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then 238 printf "WARNING: Your build output directory is not on a local disk.\n" 239 printf "This will severely degrade build performance!\n" 240 printf "It is recommended that you create an output directory on a local disk,\n" 241 printf "and run the configure script again from that directory.\n" 242 printf "\n" 243 fi 244 245 if test "x$IS_RECONFIGURE" = "xyes"; then 246 printf "WARNING: The result of this configuration has overridden an older\n" 247 printf "configuration. You *should* run 'make clean' to make sure you get a\n" 248 printf "proper build. Failure to do so might result in strange build problems.\n" 249 printf "\n" 250 fi 251]) 252