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" != x; then 134 CCACHE_STATUS="installed and in use" 135 else 136 if test "x$GCC" = xyes; then 137 CCACHE_STATUS="not installed (consider installing)" 138 CCACHE_HELP_MSG="You do not have ccache installed. Try installing it." 139 else 140 CCACHE_STATUS="not available for your system" 141 fi 142 fi 143 144 printf "\n" 145 printf "====================================================\n" 146 printf "A new configuration has been successfully created in\n" 147 printf "$OUTPUT_ROOT\n" 148 if test "x$CONFIGURE_COMMAND_LINE" != x; then 149 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n" 150 else 151 printf "using default settings.\n" 152 fi 153 154 printf "\n" 155 printf "Configuration summary:\n" 156 printf "* Debug level: $DEBUG_LEVEL\n" 157 printf "* JDK variant: $JDK_VARIANT\n" 158 printf "* JVM variants: $with_jvm_variants\n" 159 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" 160 161 printf "\n" 162 printf "Tools summary:\n" 163 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then 164 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n" 165 fi 166 printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n" 167 printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n" 168 printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n" 169 170 printf "\n" 171 printf "Build performance summary:\n" 172 printf "* Cores to use: $JOBS\n" 173 printf "* Memory limit: $MEMORY_SIZE MB\n" 174 printf "* ccache status: $CCACHE_STATUS\n" 175 printf "\n" 176 177 if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then 178 printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n" 179 printf "$CCACHE_HELP_MSG\n" 180 HELP_MSG_MISSING_DEPENDENCY([ccache]) 181 printf "$HELP_MSG\n" 182 printf "\n" 183 fi 184 185 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then 186 printf "NOTE: You have requested to build more than one version of the JVM, which\n" 187 printf "will result in longer build times.\n" 188 printf "\n" 189 fi 190 191 if test "x$FOUND_ALT_VARIABLES" != "x"; then 192 printf "WARNING: You have old-style ALT_ environment variables set.\n" 193 printf "These are not respected, and will be ignored. It is recommended\n" 194 printf "that you clean your environment. The following variables are set:\n" 195 printf "$FOUND_ALT_VARIABLES\n" 196 printf "\n" 197 fi 198 199 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then 200 printf "WARNING: Your build output directory is not on a local disk.\n" 201 printf "This will severely degrade build performance!\n" 202 printf "It is recommended that you create an output directory on a local disk,\n" 203 printf "and run the configure script again from that directory.\n" 204 printf "\n" 205 fi 206 207 if test "x$IS_RECONFIGURE" = "xyes"; then 208 printf "WARNING: The result of this configuration has overridden an older\n" 209 printf "configuration. You *should* run 'make clean' to make sure you get a\n" 210 printf "proper build. Failure to do so might result in strange build problems.\n" 211 printf "\n" 212 fi 213 ])