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 26 AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP], 27 [ 28 AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd) 29 ]) 30 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= 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 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 } 70 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 } 93 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 } 116 117 port_help() { 118 PKGHANDLER_COMMAND="" 119 } 120 121 pkgutil_help() { 122 PKGHANDLER_COMMAND="" 123 } 124 125 pkgadd_help() { 126 PKGHANDLER_COMMAND="" 127 } 128 129 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], 130 [ 131 # Finally output some useful information to the user 132 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 148 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 158 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" 165 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" 174 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" 181 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 189 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 195 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 203 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 211 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 ])