Thu, 10 Oct 2013 14:58:19 +0200
8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
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([SRCDIRS_SETUP_TOPDIRS],
27 [
28 # Where are the sources. Any of these can be overridden
29 # using --with-override-corba and the likes.
30 LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
31 CORBA_TOPDIR="$SRC_ROOT/corba"
32 JAXP_TOPDIR="$SRC_ROOT/jaxp"
33 JAXWS_TOPDIR="$SRC_ROOT/jaxws"
34 HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
35 NASHORN_TOPDIR="$SRC_ROOT/nashorn"
36 JDK_TOPDIR="$SRC_ROOT/jdk"
37 AC_SUBST(LANGTOOLS_TOPDIR)
38 AC_SUBST(CORBA_TOPDIR)
39 AC_SUBST(JAXP_TOPDIR)
40 AC_SUBST(JAXWS_TOPDIR)
41 AC_SUBST(HOTSPOT_TOPDIR)
42 AC_SUBST(NASHORN_TOPDIR)
43 AC_SUBST(JDK_TOPDIR)
44 ])
47 AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS],
48 [
50 ###############################################################################
51 #
52 # Pickup additional source for a component from outside of the source root
53 # or override source for a component.
54 #
55 AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
56 [for each and every source directory, look in this additional source root for
57 the same directory; if it exists and have files in it, include it in the build])])
59 AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
60 [for each and every source directory, look in this override source root for
61 the same directory; if it exists, use that directory instead and
62 ignore the directory in the original source root])])
64 AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
65 [use the subdirs 'adds' and 'overrides' in the specified directory as
66 add-source-root and override-source-root])])
68 if test "x$with_adds_and_overrides" != x; then
69 with_add_source_root="$with_adds_and_overrides/adds"
70 with_override_source_root="$with_adds_and_overrides/overrides"
71 fi
73 if test "x$with_add_source_root" != x; then
74 if ! test -d $with_add_source_root; then
75 AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
76 fi
77 CURDIR="$PWD"
78 cd "$with_add_source_root"
79 ADD_SRC_ROOT="`pwd`"
80 cd "$CURDIR"
81 # Verify that the addon source root does not have any root makefiles.
82 # If it does, then it is usually an error, prevent this.
83 if test -f $with_add_source_root/langtools/makefiles/Makefile || \
84 test -f $with_add_source_root/langtools/make/Makefile; then
85 AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
86 fi
87 if test -f $with_add_source_root/corba/makefiles/Makefile || \
88 test -f $with_add_source_root/corba/make/Makefile; then
89 AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
90 fi
91 if test -f $with_add_source_root/jaxp/makefiles/Makefile || \
92 test -f $with_add_source_root/jaxp/make/Makefile; then
93 AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
94 fi
95 if test -f $with_add_source_root/jaxws/makefiles/Makefile || \
96 test -f $with_add_source_root/jaxws/make/Makefile; then
97 AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
98 fi
99 if test -f $with_add_source_root/hotspot/makefiles/Makefile || \
100 test -f $with_add_source_root/hotspot/make/Makefile; then
101 AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
102 fi
103 if test -f $with_add_source_root/nashorn/makefiles/Makefile || \
104 test -f $with_add_source_root/nashorn/make/Makefile; then
105 AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.])
106 fi
107 if test -f $with_add_source_root/jdk/makefiles/Makefile || \
108 test -f $with_add_source_root/jdk/make/Makefile; then
109 AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
110 fi
111 fi
112 AC_SUBST(ADD_SRC_ROOT)
114 if test "x$with_override_source_root" != x; then
115 if ! test -d $with_override_source_root; then
116 AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
117 fi
118 CURDIR="$PWD"
119 cd "$with_override_source_root"
120 OVERRIDE_SRC_ROOT="`pwd`"
121 cd "$CURDIR"
122 if test -f $with_override_source_root/langtools/makefiles/Makefile || \
123 test -f $with_override_source_root/langtools/make/Makefile; then
124 AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
125 fi
126 if test -f $with_override_source_root/corba/makefiles/Makefile || \
127 test -f $with_override_source_root/corba/make/Makefile; then
128 AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
129 fi
130 if test -f $with_override_source_root/jaxp/makefiles/Makefile || \
131 test -f $with_override_source_root/jaxp/make/Makefile; then
132 AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
133 fi
134 if test -f $with_override_source_root/jaxws/makefiles/Makefile || \
135 test -f $with_override_source_root/jaxws/make/Makefile; then
136 AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
137 fi
138 if test -f $with_override_source_root/hotspot/makefiles/Makefile || \
139 test -f $with_override_source_root/hotspot/make/Makefile; then
140 AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
141 fi
142 if test -f $with_override_source_root/nashorn/makefiles/Makefile || \
143 test -f $with_override_source_root/nashorn/make/Makefile; then
144 AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.])
145 fi
146 if test -f $with_override_source_root/jdk/makefiles/Makefile || \
147 test -f $with_override_source_root/jdk/make/Makefile; then
148 AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
149 fi
150 fi
151 AC_SUBST(OVERRIDE_SRC_ROOT)
153 ###############################################################################
154 #
155 # Override a repo completely, this is used for example when you have 3 small
156 # development sandboxes of the langtools sources and want to avoid having 3 full
157 # OpenJDK sources checked out on disk.
158 #
159 # Assuming that the 3 langtools sandboxes are located here:
160 # /home/fredrik/sandbox1/langtools
161 # /home/fredrik/sandbox2/langtools
162 # /home/fredrik/sandbox3/langtools
163 #
164 # From the source root you create build subdirs manually:
165 # mkdir -p build1 build2 build3
166 # in each build directory run:
167 # (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
168 # (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
169 # (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
170 #
172 AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
173 [use this langtools dir for the build])])
175 AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
176 [use this corba dir for the build])])
178 AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
179 [use this jaxp dir for the build])])
181 AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
182 [use this jaxws dir for the build])])
184 AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
185 [use this hotspot dir for the build])])
187 AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn],
188 [use this nashorn dir for the build])])
190 AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
191 [use this jdk dir for the build])])
193 if test "x$with_override_langtools" != x; then
194 CURDIR="$PWD"
195 cd "$with_override_langtools"
196 LANGTOOLS_TOPDIR="`pwd`"
197 cd "$CURDIR"
198 if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then
199 AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
200 fi
201 AC_MSG_CHECKING([if langtools should be overridden])
202 AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR])
203 fi
204 if test "x$with_override_corba" != x; then
205 CURDIR="$PWD"
206 cd "$with_override_corba"
207 CORBA_TOPDIR="`pwd`"
208 cd "$CURDIR"
209 if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then
210 AC_MSG_ERROR([You have to override corba with a full corba repo!])
211 fi
212 AC_MSG_CHECKING([if corba should be overridden])
213 AC_MSG_RESULT([yes with $CORBA_TOPDIR])
214 fi
215 if test "x$with_override_jaxp" != x; then
216 CURDIR="$PWD"
217 cd "$with_override_jaxp"
218 JAXP_TOPDIR="`pwd`"
219 cd "$CURDIR"
220 if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then
221 AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
222 fi
223 AC_MSG_CHECKING([if jaxp should be overridden])
224 AC_MSG_RESULT([yes with $JAXP_TOPDIR])
225 fi
226 if test "x$with_override_jaxws" != x; then
227 CURDIR="$PWD"
228 cd "$with_override_jaxws"
229 JAXWS_TOPDIR="`pwd`"
230 cd "$CURDIR"
231 if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then
232 AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
233 fi
234 AC_MSG_CHECKING([if jaxws should be overridden])
235 AC_MSG_RESULT([yes with $JAXWS_TOPDIR])
236 fi
237 if test "x$with_override_hotspot" != x; then
238 CURDIR="$PWD"
239 cd "$with_override_hotspot"
240 HOTSPOT_TOPDIR="`pwd`"
241 cd "$CURDIR"
242 if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \
243 ! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
244 AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
245 fi
246 AC_MSG_CHECKING([if hotspot should be overridden])
247 AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR])
248 fi
249 if test "x$with_override_nashorn" != x; then
250 CURDIR="$PWD"
251 cd "$with_override_nashorn"
252 NASHORN_TOPDIR="`pwd`"
253 cd "$CURDIR"
254 if ! test -f $NASHORN_TOPDIR/makefiles/Makefile; then
255 AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!])
256 fi
257 AC_MSG_CHECKING([if nashorn should be overridden])
258 AC_MSG_RESULT([yes with $NASHORN_TOPDIR])
259 fi
260 if test "x$with_override_jdk" != x; then
261 CURDIR="$PWD"
262 cd "$with_override_jdk"
263 JDK_TOPDIR="`pwd`"
264 cd "$CURDIR"
265 if ! test -f $JDK_TOPDIR/makefiles/Makefile; then
266 AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
267 fi
268 AC_MSG_CHECKING([if JDK should be overridden])
269 AC_MSG_RESULT([yes with $JDK_TOPDIR])
270 fi
271 ])
273 AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS],
274 [
275 BUILD_OUTPUT="$OUTPUT_ROOT"
276 AC_SUBST(BUILD_OUTPUT)
278 HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
279 BUILD_HOTSPOT=true
280 AC_SUBST(HOTSPOT_DIST)
281 AC_SUBST(BUILD_HOTSPOT)
282 AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot],
283 [import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])])
284 if test "x$with_import_hotspot" != x; then
285 CURDIR="$PWD"
286 cd "$with_import_hotspot"
287 HOTSPOT_DIST="`pwd`"
288 cd "$CURDIR"
289 if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then
290 AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!])
291 fi
292 AC_MSG_CHECKING([if hotspot should be imported])
293 AC_MSG_RESULT([yes from $HOTSPOT_DIST])
294 BUILD_HOTSPOT=false
295 fi
297 JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
298 ])