Tue, 03 Jul 2012 16:11:12 -0700
7181504: Update of latest build-infra Makefiles
Reviewed-by: ohair
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 #
26 AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
27 [
28 AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
29 ])
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=
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
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 ])
58 apt_help() {
59 case $1 in
60 devkit)
61 PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
62 openjdk)
63 PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
64 alsa)
65 PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
66 cups)
67 PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
68 freetype2)
69 PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
70 pulse)
71 PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
72 x11)
73 PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev" ;;
74 ccache)
75 PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
76 * )
77 break ;;
78 esac
79 }
81 yum_help() {
82 case $1 in
83 devkit)
84 PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
85 openjdk)
86 PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
87 alsa)
88 PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
89 cups)
90 PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
91 freetype2)
92 PKGHANDLER_COMMAND="sudo yum install freetype2-devel" ;;
93 pulse)
94 PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
95 x11)
96 PKGHANDLER_COMMAND="sudo yum install libXtst-devel" ;;
97 ccache)
98 PKGHANDLER_COMMAND="sudo yum install ccache" ;;
99 * )
100 break ;;
101 esac
102 }
104 port_help() {
105 PKGHANDLER_COMMAND=""
106 }
108 pkgutil_help() {
109 PKGHANDLER_COMMAND=""
110 }
112 pkgadd_help() {
113 PKGHANDLER_COMMAND=""
114 }
116 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
117 [
118 # Finally output some useful information to the user
120 if test "x$CCACHE_FOUND" != x; then
121 if test "x$HAS_GOOD_CCACHE" = x; then
122 CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
123 CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
124 else
125 CCACHE_STATUS="installed and in use"
126 fi
127 else
128 if test "x$GCC" = xyes; then
129 CCACHE_STATUS="not installed (consider installing)"
130 CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
131 else
132 CCACHE_STATUS="not available for your system"
133 fi
134 fi
136 printf "\n"
137 printf "====================================================\n"
138 printf "A new configuration has been successfully created in\n"
139 printf "$OUTPUT_ROOT\n"
140 if test "x$CONFIGURE_COMMAND_LINE" != x; then
141 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
142 else
143 printf "using default settings.\n"
144 fi
146 printf "\n"
147 printf "Configuration summary:\n"
148 printf "* Debug level: $DEBUG_LEVEL\n"
149 printf "* JDK variant: $JDK_VARIANT\n"
150 printf "* JVM variants: $with_jvm_variants\n"
151 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
152 printf "* Boot JDK: $BOOT_JDK\n"
154 printf "\n"
155 printf "Build performance summary:\n"
156 printf "* Cores to use: $NUM_CORES\n"
157 printf "* Memory limit: $MEMORY_SIZE MB\n"
158 printf "* ccache status: $CCACHE_STATUS\n"
159 printf "\n"
161 if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
162 printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
163 printf "$CCACHE_HELP_MSG\n"
164 HELP_MSG_MISSING_DEPENDENCY([ccache])
165 printf "$HELP_MSG\n"
166 printf "\n"
167 fi
169 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
170 printf "NOTE: You have requested to build more than one version of the JVM, which\n"
171 printf "will result in longer build times.\n"
172 printf "\n"
173 fi
175 if test "x$FOUND_ALT_VARIABLES" != "x"; then
176 printf "WARNING: You have old-style ALT_ environment variables set.\n"
177 printf "These are not respected, and will be ignored. It is recommended\n"
178 printf "that you clean your environment. The following variables are set:\n"
179 printf "$FOUND_ALT_VARIABLES\n"
180 printf "\n"
181 fi
183 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
184 printf "WARNING: Your build output directory is not on a local disk.\n"
185 printf "This will severely degrade build performance!\n"
186 printf "It is recommended that you create an output directory on a local disk,\n"
187 printf "and run the configure script again from that directory.\n"
188 printf "\n"
189 fi
191 if test "x$IS_RECONFIGURE" = "xyes"; then
192 printf "WARNING: The result of this configuration has overridden an older\n"
193 printf "configuration. You *should* run 'make clean' to make sure you get a\n"
194 printf "proper build. Failure to do so might result in strange build problems.\n"
195 printf "\n"
196 fi
197 ])