help.m4 revision 953:a757bcc8bbe4
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: freetype, 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 esac 56 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]) 62 63cygwin_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 if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then 79 HELP_MSG="To install freetype, run: 80wget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe 81chmod +x /tmp/freetype-setup.exe 82/tmp/freetype-setup.exe 83Follow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\". 84After installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll." 85 else 86 HELP_MSG="You need to build a 64-bit version of freetype. 87This is not readily available. 88You can find source code and build instructions on 89http://www.freetype.org/ 90If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically." 91 fi 92 ;; 93 esac 94} 95 96msys_help() { 97 PKGHANDLER_COMMAND="" 98} 99 100apt_help() { 101 case $1 in 102 devkit) 103 PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;; 104 openjdk) 105 PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;; 106 alsa) 107 PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;; 108 cups) 109 PKGHANDLER_COMMAND="sudo apt-get install libcups2-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} 120 121yum_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 freetype) 132 PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;; 133 pulse) 134 PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;; 135 x11) 136 PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;; 137 ccache) 138 PKGHANDLER_COMMAND="sudo yum install ccache" ;; 139 esac 140} 141 142port_help() { 143 PKGHANDLER_COMMAND="" 144} 145 146pkgutil_help() { 147 PKGHANDLER_COMMAND="" 148} 149 150pkgadd_help() { 151 PKGHANDLER_COMMAND="" 152} 153 154AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], 155[ 156 # Finally output some useful information to the user 157 158 printf "\n" 159 printf "====================================================\n" 160 printf "A new configuration has been successfully created in\n" 161 printf "$OUTPUT_ROOT\n" 162 if test "x$CONFIGURE_COMMAND_LINE" != x; then 163 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n" 164 else 165 printf "using default settings.\n" 166 fi 167 168 printf "\n" 169 printf "Configuration summary:\n" 170 printf "* Debug level: $DEBUG_LEVEL\n" 171 printf "* JDK variant: $JDK_VARIANT\n" 172 printf "* JVM variants: $with_jvm_variants\n" 173 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" 174 175 printf "\n" 176 printf "Tools summary:\n" 177 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then 178 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n" 179 fi 180 printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n" 181 printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n" 182 printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n" 183 184 printf "\n" 185 printf "Build performance summary:\n" 186 printf "* Cores to use: $JOBS\n" 187 printf "* Memory limit: $MEMORY_SIZE MB\n" 188 if test "x$CCACHE_STATUS" != "x"; then 189 printf "* ccache status: $CCACHE_STATUS\n" 190 fi 191 printf "\n" 192 193 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then 194 printf "NOTE: You have requested to build more than one version of the JVM, which\n" 195 printf "will result in longer build times.\n" 196 printf "\n" 197 fi 198 199 if test "x$FOUND_ALT_VARIABLES" != "x"; then 200 printf "WARNING: You have old-style ALT_ environment variables set.\n" 201 printf "These are not respected, and will be ignored. It is recommended\n" 202 printf "that you clean your environment. The following variables are set:\n" 203 printf "$FOUND_ALT_VARIABLES\n" 204 printf "\n" 205 fi 206 207 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then 208 printf "WARNING: Your build output directory is not on a local disk.\n" 209 printf "This will severely degrade build performance!\n" 210 printf "It is recommended that you create an output directory on a local disk,\n" 211 printf "and run the configure script again from that directory.\n" 212 printf "\n" 213 fi 214 215 if test "x$IS_RECONFIGURE" = "xyes"; then 216 printf "WARNING: The result of this configuration has overridden an older\n" 217 printf "configuration. You *should* run 'make clean' to make sure you get a\n" 218 printf "proper build. Failure to do so might result in strange build problems.\n" 219 printf "\n" 220 fi 221]) 222