source-dirs.m4 revision 910:a667caba1e84
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 26AC_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]) 45 46 47AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS], 48[ 49 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])]) 58 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])]) 63 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])]) 67 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 72 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/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/make/Makefile; then 87 AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.]) 88 fi 89 if test -f $with_add_source_root/jaxp/make/Makefile; then 90 AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.]) 91 fi 92 if test -f $with_add_source_root/jaxws/make/Makefile; then 93 AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.]) 94 fi 95 if test -f $with_add_source_root/hotspot/make/Makefile; then 96 AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.]) 97 fi 98 if test -f $with_add_source_root/nashorn/make/Makefile; then 99 AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.]) 100 fi 101 if test -f $with_add_source_root/jdk/make/Makefile; then 102 AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.]) 103 fi 104 fi 105 AC_SUBST(ADD_SRC_ROOT) 106 107 if test "x$with_override_source_root" != x; then 108 if ! test -d $with_override_source_root; then 109 AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root]) 110 fi 111 CURDIR="$PWD" 112 cd "$with_override_source_root" 113 OVERRIDE_SRC_ROOT="`pwd`" 114 cd "$CURDIR" 115 if test -f $with_override_source_root/langtools/make/Makefile; then 116 AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.]) 117 fi 118 if test -f $with_override_source_root/corba/make/Makefile; then 119 AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.]) 120 fi 121 if test -f $with_override_source_root/jaxp/make/Makefile; then 122 AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.]) 123 fi 124 if test -f $with_override_source_root/jaxws/make/Makefile; then 125 AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.]) 126 fi 127 if test -f $with_override_source_root/hotspot/make/Makefile; then 128 AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.]) 129 fi 130 if test -f $with_override_source_root/nashorn/make/Makefile; then 131 AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.]) 132 fi 133 if test -f $with_override_source_root/jdk/make/Makefile; then 134 AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.]) 135 fi 136 fi 137 AC_SUBST(OVERRIDE_SRC_ROOT) 138 139 ############################################################################### 140 # 141 # Override a repo completely, this is used for example when you have 3 small 142 # development sandboxes of the langtools sources and want to avoid having 3 full 143 # OpenJDK sources checked out on disk. 144 # 145 # Assuming that the 3 langtools sandboxes are located here: 146 # /home/fredrik/sandbox1/langtools 147 # /home/fredrik/sandbox2/langtools 148 # /home/fredrik/sandbox3/langtools 149 # 150 # From the source root you create build subdirs manually: 151 # mkdir -p build1 build2 build3 152 # in each build directory run: 153 # (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make) 154 # (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make) 155 # (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make) 156 # 157 158 AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools], 159 [use this langtools dir for the build])]) 160 161 AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba], 162 [use this corba dir for the build])]) 163 164 AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp], 165 [use this jaxp dir for the build])]) 166 167 AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws], 168 [use this jaxws dir for the build])]) 169 170 AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot], 171 [use this hotspot dir for the build])]) 172 173 AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn], 174 [use this nashorn dir for the build])]) 175 176 AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk], 177 [use this jdk dir for the build])]) 178 179 if test "x$with_override_langtools" != x; then 180 CURDIR="$PWD" 181 cd "$with_override_langtools" 182 LANGTOOLS_TOPDIR="`pwd`" 183 cd "$CURDIR" 184 if ! test -f $LANGTOOLS_TOPDIR/make/Makefile; then 185 AC_MSG_ERROR([You have to override langtools with a full langtools repo!]) 186 fi 187 AC_MSG_CHECKING([if langtools should be overridden]) 188 AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR]) 189 fi 190 if test "x$with_override_corba" != x; then 191 CURDIR="$PWD" 192 cd "$with_override_corba" 193 CORBA_TOPDIR="`pwd`" 194 cd "$CURDIR" 195 if ! test -f $CORBA_TOPDIR/make/Makefile; then 196 AC_MSG_ERROR([You have to override corba with a full corba repo!]) 197 fi 198 AC_MSG_CHECKING([if corba should be overridden]) 199 AC_MSG_RESULT([yes with $CORBA_TOPDIR]) 200 fi 201 if test "x$with_override_jaxp" != x; then 202 CURDIR="$PWD" 203 cd "$with_override_jaxp" 204 JAXP_TOPDIR="`pwd`" 205 cd "$CURDIR" 206 if ! test -f $JAXP_TOPDIR/make/Makefile; then 207 AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!]) 208 fi 209 AC_MSG_CHECKING([if jaxp should be overridden]) 210 AC_MSG_RESULT([yes with $JAXP_TOPDIR]) 211 fi 212 if test "x$with_override_jaxws" != x; then 213 CURDIR="$PWD" 214 cd "$with_override_jaxws" 215 JAXWS_TOPDIR="`pwd`" 216 cd "$CURDIR" 217 if ! test -f $JAXWS_TOPDIR/make/Makefile; then 218 AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!]) 219 fi 220 AC_MSG_CHECKING([if jaxws should be overridden]) 221 AC_MSG_RESULT([yes with $JAXWS_TOPDIR]) 222 fi 223 if test "x$with_override_hotspot" != x; then 224 CURDIR="$PWD" 225 cd "$with_override_hotspot" 226 HOTSPOT_TOPDIR="`pwd`" 227 cd "$CURDIR" 228 if ! test -f $HOTSPOT_TOPDIR/make/Makefile; then 229 AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!]) 230 fi 231 AC_MSG_CHECKING([if hotspot should be overridden]) 232 AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR]) 233 fi 234 if test "x$with_override_nashorn" != x; then 235 CURDIR="$PWD" 236 cd "$with_override_nashorn" 237 NASHORN_TOPDIR="`pwd`" 238 cd "$CURDIR" 239 if ! test -f $NASHORN_TOPDIR/make/Makefile; then 240 AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!]) 241 fi 242 AC_MSG_CHECKING([if nashorn should be overridden]) 243 AC_MSG_RESULT([yes with $NASHORN_TOPDIR]) 244 fi 245 if test "x$with_override_jdk" != x; then 246 CURDIR="$PWD" 247 cd "$with_override_jdk" 248 JDK_TOPDIR="`pwd`" 249 cd "$CURDIR" 250 if ! test -f $JDK_TOPDIR/make/Makefile; then 251 AC_MSG_ERROR([You have to override JDK with a full JDK repo!]) 252 fi 253 AC_MSG_CHECKING([if JDK should be overridden]) 254 AC_MSG_RESULT([yes with $JDK_TOPDIR]) 255 fi 256]) 257 258AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS], 259[ 260 BUILD_OUTPUT="$OUTPUT_ROOT" 261 AC_SUBST(BUILD_OUTPUT) 262 263 HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist" 264 BUILD_HOTSPOT=true 265 AC_SUBST(HOTSPOT_DIST) 266 AC_SUBST(BUILD_HOTSPOT) 267 AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot], 268 [import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])]) 269 if test "x$with_import_hotspot" != x; then 270 CURDIR="$PWD" 271 cd "$with_import_hotspot" 272 HOTSPOT_DIST="`pwd`" 273 cd "$CURDIR" 274 if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then 275 AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!]) 276 fi 277 AC_MSG_CHECKING([if hotspot should be imported]) 278 AC_MSG_RESULT([yes from $HOTSPOT_DIST]) 279 BUILD_HOTSPOT=false 280 fi 281 282 JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk" 283]) 284