help.m4 7.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

26 27
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
[
28
    AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
29 30 31 32
])

AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
[
33 34 35 36 37 38 39 40
    # Print a helpful message on how to acquire the necessary build dependency.
    # $1 is the help tag: freetyp2, cups, pulse, alsa etc
    MISSING_DEPENDENCY=$1
    PKGHANDLER_COMMAND=

    case $PKGHANDLER in
	apt-get)
                apt_help     $MISSING_DEPENDENCY ;;
41
    yum)
42 43 44 45 46 47 48 49 50 51 52 53
                yum_help     $MISSING_DEPENDENCY ;;
	port)
                port_help    $MISSING_DEPENDENCY ;;
	pkgutil)
                pkgutil_help $MISSING_DEPENDENCY ;;
	pkgadd)
                pkgadd_help  $MISSING_DEPENDENCY ;;
    * )
      break ;;
    esac

    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

O
ohair 已提交
58 59 60 61 62 63 64 65 66 67 68 69 70
cygwin_help() {
    case $1 in
    unzip)
        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
    zip)
        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
    make)
        PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
    * )
       break ;;
    esac
}

71
apt_help() {
72 73 74 75 76 77 78 79 80 81 82 83 84 85
    case $1 in
    devkit)
        PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
    openjdk)
        PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
    alsa)
        PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
    cups)
        PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
    freetype2)
        PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
    pulse)
        PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
    x11)
86
        PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
87 88 89 90 91 92 93
    ccache)
        PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
    * )
       break ;;
    esac
}

94
yum_help() {
95 96 97 98 99 100 101 102 103 104
    case $1 in
    devkit)
        PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
    openjdk)
        PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
    alsa)
        PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
    cups)
        PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
    freetype2)
105
        PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
106 107 108
    pulse)
        PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
    x11)
109
        PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
110 111 112 113 114 115 116
    ccache)
        PKGHANDLER_COMMAND="sudo yum install ccache" ;;
    * )
       break ;;
    esac
}

117
port_help() {
118 119 120
    PKGHANDLER_COMMAND=""
}

121
pkgutil_help() {
122 123 124
    PKGHANDLER_COMMAND=""
}

125
pkgadd_help() {
126 127
    PKGHANDLER_COMMAND=""
}
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164

AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
[
# Finally output some useful information to the user

if test "x$CCACHE_FOUND" != x; then
	if  test "x$HAS_GOOD_CCACHE" = x; then
		CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
		CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
	else
		CCACHE_STATUS="installed and in use"
	fi
else
	if test "x$GCC" = xyes; then
		CCACHE_STATUS="not installed (consider installing)"
		CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
	else
		CCACHE_STATUS="not available for your system"
	fi
fi

printf "\n"
printf "====================================================\n"
printf "A new configuration has been successfully created in\n"
printf "$OUTPUT_ROOT\n"
if test "x$CONFIGURE_COMMAND_LINE" != x; then
	printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
	printf "using default settings.\n"
fi

printf "\n"
printf "Configuration summary:\n"
printf "* Debug level:    $DEBUG_LEVEL\n"
printf "* JDK variant:    $JDK_VARIANT\n"
printf "* JVM variants:   $with_jvm_variants\n"
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
O
ohair 已提交
165 166 167 168 169 170 171 172 173

printf "\n"
printf "Tools summary:\n"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
  printf "* Environment:    $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK:       $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* C Compiler:     $CC_VENDOR version $CC_VERSION (at $CC)\n"
printf "* C++ Compiler:   $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
174 175 176

printf "\n"
printf "Build performance summary:\n"
177
printf "* Cores to use:   $JOBS\n"
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
printf "* Memory limit:   $MEMORY_SIZE MB\n"
printf "* ccache status:  $CCACHE_STATUS\n"
printf "\n"

if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
	printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
	printf "$CCACHE_HELP_MSG\n"
	HELP_MSG_MISSING_DEPENDENCY([ccache])
	printf "$HELP_MSG\n"
	printf "\n"
fi

if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
	printf "NOTE: You have requested to build more than one version of the JVM, which\n"
	printf "will result in longer build times.\n"
	printf "\n"
fi

if test "x$FOUND_ALT_VARIABLES" != "x"; then
	printf "WARNING: You have old-style ALT_ environment variables set.\n"
	printf "These are not respected, and will be ignored. It is recommended\n"
	printf "that you clean your environment. The following variables are set:\n"
	printf "$FOUND_ALT_VARIABLES\n"
	printf "\n"
fi

if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
	printf "WARNING: Your build output directory is not on a local disk.\n"
	printf "This will severely degrade build performance!\n"
	printf "It is recommended that you create an output directory on a local disk,\n"
	printf "and run the configure script again from that directory.\n"
	printf "\n"
fi

if test "x$IS_RECONFIGURE" = "xyes"; then
	printf "WARNING: The result of this configuration has overridden an older\n"
	printf "configuration. You *should* run 'make clean' to make sure you get a\n"
	printf "proper build. Failure to do so might result in strange build problems.\n"
	printf "\n"
fi
])