common/autoconf/help.m4

changeset 0
75a576e87639
child 1133
50aaf272884f
equal deleted inserted replaced
-1:000000000000 0:75a576e87639
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: freetype, cups, pulse, alsa etc
35 MISSING_DEPENDENCY=$1
36
37 if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
38 cygwin_help $MISSING_DEPENDENCY
39 elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
40 msys_help $MISSING_DEPENDENCY
41 else
42 PKGHANDLER_COMMAND=
43
44 case $PKGHANDLER in
45 apt-get)
46 apt_help $MISSING_DEPENDENCY ;;
47 yum)
48 yum_help $MISSING_DEPENDENCY ;;
49 port)
50 port_help $MISSING_DEPENDENCY ;;
51 pkgutil)
52 pkgutil_help $MISSING_DEPENDENCY ;;
53 pkgadd)
54 pkgadd_help $MISSING_DEPENDENCY ;;
55 esac
56
57 if test "x$PKGHANDLER_COMMAND" != x; then
58 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
59 fi
60 fi
61 ])
62
63 cygwin_help() {
64 case $1 in
65 unzip)
66 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )"
67 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
68 ;;
69 zip)
70 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )"
71 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
72 ;;
73 make)
74 PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
75 HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
76 ;;
77 freetype)
78 if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
79 HELP_MSG="To install freetype, run:
80 wget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe
81 chmod +x /tmp/freetype-setup.exe
82 /tmp/freetype-setup.exe
83 Follow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\".
84 After installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll."
85 else
86 HELP_MSG="You need to build a 64-bit version of freetype.
87 This is not readily available.
88 You can find source code and build instructions on
89 http://www.freetype.org/
90 If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically."
91 fi
92 ;;
93 esac
94 }
95
96 msys_help() {
97 PKGHANDLER_COMMAND=""
98 }
99
100 apt_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
121 yum_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
142 port_help() {
143 PKGHANDLER_COMMAND=""
144 }
145
146 pkgutil_help() {
147 PKGHANDLER_COMMAND=""
148 }
149
150 pkgadd_help() {
151 PKGHANDLER_COMMAND=""
152 }
153
154 AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
155 [
156 # Finally output some useful information to the user
157
158 if test "x$CCACHE_FOUND" != x; then
159 if test "x$HAS_GOOD_CCACHE" = x; then
160 CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
161 CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
162 else
163 CCACHE_STATUS="installed and in use"
164 fi
165 else
166 if test "x$GCC" = xyes; then
167 CCACHE_STATUS="not installed (consider installing)"
168 CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
169 else
170 CCACHE_STATUS="not available for your system"
171 fi
172 fi
173
174 printf "\n"
175 printf "====================================================\n"
176 printf "A new configuration has been successfully created in\n"
177 printf "$OUTPUT_ROOT\n"
178 if test "x$CONFIGURE_COMMAND_LINE" != x; then
179 printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
180 else
181 printf "using default settings.\n"
182 fi
183
184 printf "\n"
185 printf "Configuration summary:\n"
186 printf "* Debug level: $DEBUG_LEVEL\n"
187 printf "* JDK variant: $JDK_VARIANT\n"
188 printf "* JVM variants: $with_jvm_variants\n"
189 printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
190
191 printf "\n"
192 printf "Tools summary:\n"
193 if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
194 printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
195 fi
196 printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
197 printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n"
198 printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
199
200 printf "\n"
201 printf "Build performance summary:\n"
202 printf "* Cores to use: $JOBS\n"
203 printf "* Memory limit: $MEMORY_SIZE MB\n"
204 printf "* ccache status: $CCACHE_STATUS\n"
205 printf "\n"
206
207 if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
208 printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
209 printf "$CCACHE_HELP_MSG\n"
210 HELP_MSG_MISSING_DEPENDENCY([ccache])
211 printf "$HELP_MSG\n"
212 printf "\n"
213 fi
214
215 if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
216 printf "NOTE: You have requested to build more than one version of the JVM, which\n"
217 printf "will result in longer build times.\n"
218 printf "\n"
219 fi
220
221 if test "x$FOUND_ALT_VARIABLES" != "x"; then
222 printf "WARNING: You have old-style ALT_ environment variables set.\n"
223 printf "These are not respected, and will be ignored. It is recommended\n"
224 printf "that you clean your environment. The following variables are set:\n"
225 printf "$FOUND_ALT_VARIABLES\n"
226 printf "\n"
227 fi
228
229 if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
230 printf "WARNING: Your build output directory is not on a local disk.\n"
231 printf "This will severely degrade build performance!\n"
232 printf "It is recommended that you create an output directory on a local disk,\n"
233 printf "and run the configure script again from that directory.\n"
234 printf "\n"
235 fi
236
237 if test "x$IS_RECONFIGURE" = "xyes"; then
238 printf "WARNING: The result of this configuration has overridden an older\n"
239 printf "configuration. You *should* run 'make clean' to make sure you get a\n"
240 printf "proper build. Failure to do so might result in strange build problems.\n"
241 printf "\n"
242 fi
243 ])

mercurial