|
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 ]) |