help.m4 revision 975:b18872ff5379
1226031Sstas# 2226031Sstas# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. 3226031Sstas# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4226031Sstas# 5226031Sstas# This code is free software; you can redistribute it and/or modify it 6226031Sstas# under the terms of the GNU General Public License version 2 only, as 7226031Sstas# published by the Free Software Foundation. Oracle designates this 8226031Sstas# particular file as subject to the "Classpath" exception as provided 9226031Sstas# by Oracle in the LICENSE file that accompanied this code. 10226031Sstas# 11226031Sstas# This code is distributed in the hope that it will be useful, but WITHOUT 12226031Sstas# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13226031Sstas# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14226031Sstas# version 2 for more details (a copy is included in the LICENSE file that 15226031Sstas# accompanied this code). 16226031Sstas# 17226031Sstas# You should have received a copy of the GNU General Public License version 18226031Sstas# 2 along with this work; if not, write to the Free Software Foundation, 19226031Sstas# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20226031Sstas# 21226031Sstas# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22226031Sstas# or visit www.oracle.com if you need additional information or have any 23226031Sstas# questions. 24226031Sstas# 25226031Sstas 26226031SstasAC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP], 27226031Sstas[ 28226031Sstas AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd) 29226031Sstas]) 30226031Sstas 31226031SstasAC_DEFUN([HELP_MSG_MISSING_DEPENDENCY], 32226031Sstas[ 33226031Sstas # Print a helpful message on how to acquire the necessary build dependency. 34226031Sstas # $1 is the help tag: freetype, cups, pulse, alsa etc 35226031Sstas MISSING_DEPENDENCY=$1 36226031Sstas 37226031Sstas if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then 38226031Sstas cygwin_help $MISSING_DEPENDENCY 39226031Sstas elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then 40226031Sstas msys_help $MISSING_DEPENDENCY 41226031Sstas else 42226031Sstas PKGHANDLER_COMMAND= 43226031Sstas 44226031Sstas case $PKGHANDLER in 45226031Sstas apt-get) 46226031Sstas apt_help $MISSING_DEPENDENCY ;; 47226031Sstas yum) 48226031Sstas yum_help $MISSING_DEPENDENCY ;; 49226031Sstas port) 50226031Sstas port_help $MISSING_DEPENDENCY ;; 51226031Sstas pkgutil) 52226031Sstas pkgutil_help $MISSING_DEPENDENCY ;; 53226031Sstas pkgadd) 54226031Sstas pkgadd_help $MISSING_DEPENDENCY ;; 55226031Sstas esac 56226031Sstas 57226031Sstas if test "x$PKGHANDLER_COMMAND" != x; then 58226031Sstas HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 59226031Sstas fi 60226031Sstas fi 61226031Sstas]) 62226031Sstas 63226031Sstascygwin_help() { 64226031Sstas case $1 in 65226031Sstas unzip) 66226031Sstas PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )" 67226031Sstas HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 68226031Sstas ;; 69226031Sstas zip) 70226031Sstas PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )" 71226031Sstas HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 72226031Sstas ;; 73226031Sstas make) 74226031Sstas PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )" 75226031Sstas HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'." 76226031Sstas ;; 77226031Sstas freetype) 78226031Sstas if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then 79226031Sstas HELP_MSG="To install freetype, run: 80226031Sstaswget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe 81226031Sstaschmod +x /tmp/freetype-setup.exe 82226031Sstas/tmp/freetype-setup.exe 83226031SstasFollow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\". 84226031SstasAfter installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll." 85226031Sstas 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 154# This function will check if we're called from the "configure" wrapper while 155# printing --help. If so, we will print out additional information that can 156# only be extracted within the autoconf script, and then exit. This must be 157# called at the very beginning in configure.ac. 158AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT], 159[ 160 if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then 161 $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n" 162 $PRINTF "Which are valid to use depends on the build platform.\n" 163 for toolchain in $VALID_TOOLCHAINS_all; do 164 # Use indirect variable referencing 165 toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain 166 TOOLCHAIN_DESCRIPTION=${!toolchain_var_name} 167 $PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION" 168 done 169 170 # And now exit directly 171 exit 0 172 fi 173]) 174 175AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS], 176[ 177 # Finally output some useful information to the user 178 179 printf "\n" 180 printf "====================================================\n" 181 if test "x$no_create" != "xyes"; then 182 if test "x$IS_RECONFIGURE" != "xyes"; then 183 printf "A new configuration has been successfully created in\n %s\n" "$OUTPUT_ROOT" 184 else 185 printf "The existing configuration has been successfully updated in\n %s\n" "$OUTPUT_ROOT" 186 fi 187 else 188 if test "x$IS_RECONFIGURE" != "xyes"; then 189 printf "A configuration has been successfully checked but not created\n" 190 else 191 printf "The existing configuration has been successfully checked in\n %s\n" "$OUTPUT_ROOT" 192 fi 193 fi 194 if test "x$CONFIGURE_COMMAND_LINE" != x; then 195 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n" 196 else 197 printf "using default settings.\n" 198 fi 199 200 printf "\n" 201 printf "Configuration summary:\n" 202 printf "* Debug level: $DEBUG_LEVEL\n" 203 printf "* JDK variant: $JDK_VARIANT\n" 204 printf "* JVM variants: $with_jvm_variants\n" 205 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n" 206 207 printf "\n" 208 printf "Tools summary:\n" 209 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then 210 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n" 211 fi 212 printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n" 213 printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n" 214 printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n" 215 printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n" 216 217 printf "\n" 218 printf "Build performance summary:\n" 219 printf "* Cores to use: $JOBS\n" 220 printf "* Memory limit: $MEMORY_SIZE MB\n" 221 if test "x$CCACHE_STATUS" != "x"; then 222 printf "* ccache status: $CCACHE_STATUS\n" 223 fi 224 printf "\n" 225 226 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then 227 printf "NOTE: You have requested to build more than one version of the JVM, which\n" 228 printf "will result in longer build times.\n" 229 printf "\n" 230 fi 231 232 if test "x$FOUND_ALT_VARIABLES" != "x"; then 233 printf "WARNING: You have old-style ALT_ environment variables set.\n" 234 printf "These are not respected, and will be ignored. It is recommended\n" 235 printf "that you clean your environment. The following variables are set:\n" 236 printf "$FOUND_ALT_VARIABLES\n" 237 printf "\n" 238 fi 239 240 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then 241 printf "WARNING: Your build output directory is not on a local disk.\n" 242 printf "This will severely degrade build performance!\n" 243 printf "It is recommended that you create an output directory on a local disk,\n" 244 printf "and run the configure script again from that directory.\n" 245 printf "\n" 246 fi 247 248 if test "x$IS_RECONFIGURE" = "xyes" && test "x$no_create" != "xyes"; then 249 printf "WARNING: The result of this configuration has overridden an older\n" 250 printf "configuration. You *should* run 'make clean' to make sure you get a\n" 251 printf "proper build. Failure to do so might result in strange build problems.\n" 252 printf "\n" 253 fi 254 255 if test "x$IS_RECONFIGURE" != "xyes" && test "x$no_create" = "xyes"; then 256 printf "WARNING: The result of this configuration was not saved.\n" 257 printf "You should run without '--no-create | -n' to create the configuration.\n" 258 printf "\n" 259 fi 260]) 261