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