erikj@459: # erikj@459: # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. erikj@459: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. erikj@459: # erikj@459: # This code is free software; you can redistribute it and/or modify it erikj@459: # under the terms of the GNU General Public License version 2 only, as erikj@459: # published by the Free Software Foundation. Oracle designates this erikj@459: # particular file as subject to the "Classpath" exception as provided erikj@459: # by Oracle in the LICENSE file that accompanied this code. erikj@459: # erikj@459: # This code is distributed in the hope that it will be useful, but WITHOUT erikj@459: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or erikj@459: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License erikj@459: # version 2 for more details (a copy is included in the LICENSE file that erikj@459: # accompanied this code). erikj@459: # erikj@459: # You should have received a copy of the GNU General Public License version erikj@459: # 2 along with this work; if not, write to the Free Software Foundation, erikj@459: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. erikj@459: # erikj@459: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA erikj@459: # or visit www.oracle.com if you need additional information or have any erikj@459: # questions. erikj@459: # erikj@459: erikj@459: AC_DEFUN_ONCE([SRCDIRS_SETUP_TOPDIRS], erikj@459: [ ihse@839: # Where are the sources. Any of these can be overridden ihse@839: # using --with-override-corba and the likes. ihse@839: LANGTOOLS_TOPDIR="$SRC_ROOT/langtools" ihse@839: CORBA_TOPDIR="$SRC_ROOT/corba" ihse@839: JAXP_TOPDIR="$SRC_ROOT/jaxp" ihse@839: JAXWS_TOPDIR="$SRC_ROOT/jaxws" ihse@839: HOTSPOT_TOPDIR="$SRC_ROOT/hotspot" ihse@839: NASHORN_TOPDIR="$SRC_ROOT/nashorn" ihse@839: JDK_TOPDIR="$SRC_ROOT/jdk" ihse@839: AC_SUBST(LANGTOOLS_TOPDIR) ihse@839: AC_SUBST(CORBA_TOPDIR) ihse@839: AC_SUBST(JAXP_TOPDIR) ihse@839: AC_SUBST(JAXWS_TOPDIR) ihse@839: AC_SUBST(HOTSPOT_TOPDIR) ihse@839: AC_SUBST(NASHORN_TOPDIR) ihse@839: AC_SUBST(JDK_TOPDIR) erikj@459: ]) erikj@459: erikj@459: erikj@459: AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS], erikj@459: [ erikj@459: ihse@839: ############################################################################### ihse@839: # ihse@839: # Pickup additional source for a component from outside of the source root ihse@839: # or override source for a component. ihse@839: # ihse@839: AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root], ihse@839: [for each and every source directory, look in this additional source root for ihse@839: the same directory; if it exists and have files in it, include it in the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root], ihse@839: [for each and every source directory, look in this override source root for ihse@839: the same directory; if it exists, use that directory instead and ihse@839: ignore the directory in the original source root])]) erikj@459: ihse@839: AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides], ihse@839: [use the subdirs 'adds' and 'overrides' in the specified directory as ihse@839: add-source-root and override-source-root])]) ihse@839: ihse@839: if test "x$with_adds_and_overrides" != x; then erikj@459: with_add_source_root="$with_adds_and_overrides/adds" erikj@459: with_override_source_root="$with_adds_and_overrides/overrides" ihse@839: fi erikj@459: ihse@839: if test "x$with_add_source_root" != x; then erikj@459: if ! test -d $with_add_source_root; then ihse@839: AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root]) erikj@459: fi erikj@459: CURDIR="$PWD" erikj@459: cd "$with_add_source_root" erikj@459: ADD_SRC_ROOT="`pwd`" erikj@459: cd "$CURDIR" erikj@459: # Verify that the addon source root does not have any root makefiles. erikj@459: # If it does, then it is usually an error, prevent this. ihse@912: if test -f $with_add_source_root/langtools/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@912: if test -f $with_add_source_root/corba/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@912: if test -f $with_add_source_root/jaxp/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@912: if test -f $with_add_source_root/jaxws/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@912: if test -f $with_add_source_root/hotspot/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@912: if test -f $with_add_source_root/nashorn/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.]) ihse@795: fi ihse@912: if test -f $with_add_source_root/jdk/make/Makefile; then ihse@839: AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.]) erikj@459: fi ihse@839: fi ihse@839: AC_SUBST(ADD_SRC_ROOT) erikj@459: ihse@839: if test "x$with_override_source_root" != x; then erikj@459: if ! test -d $with_override_source_root; then ihse@839: AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root]) erikj@459: fi erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_source_root" erikj@459: OVERRIDE_SRC_ROOT="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if test -f $with_override_source_root/langtools/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@912: if test -f $with_override_source_root/corba/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@912: if test -f $with_override_source_root/jaxp/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@912: if test -f $with_override_source_root/jaxws/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@912: if test -f $with_override_source_root/hotspot/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@912: if test -f $with_override_source_root/nashorn/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.]) ihse@795: fi ihse@912: if test -f $with_override_source_root/jdk/make/Makefile; then ihse@839: AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.]) erikj@459: fi ihse@839: fi ihse@839: AC_SUBST(OVERRIDE_SRC_ROOT) erikj@459: ihse@839: ############################################################################### ihse@839: # ihse@839: # Override a repo completely, this is used for example when you have 3 small ihse@839: # development sandboxes of the langtools sources and want to avoid having 3 full ihse@839: # OpenJDK sources checked out on disk. ihse@839: # ihse@839: # Assuming that the 3 langtools sandboxes are located here: ihse@839: # /home/fredrik/sandbox1/langtools ihse@839: # /home/fredrik/sandbox2/langtools ihse@839: # /home/fredrik/sandbox3/langtools ihse@839: # ihse@839: # From the source root you create build subdirs manually: ihse@839: # mkdir -p build1 build2 build3 ihse@839: # in each build directory run: ihse@839: # (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make) ihse@839: # (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make) ihse@839: # (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make) ihse@839: # erikj@459: ihse@839: AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools], ihse@839: [use this langtools dir for the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba], ihse@839: [use this corba dir for the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp], ihse@839: [use this jaxp dir for the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws], ihse@839: [use this jaxws dir for the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot], ihse@839: [use this hotspot dir for the build])]) erikj@459: ihse@839: AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn], ihse@839: [use this nashorn dir for the build])]) ihse@795: ihse@839: AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk], ihse@839: [use this jdk dir for the build])]) erikj@459: ihse@839: if test "x$with_override_langtools" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_langtools" erikj@459: LANGTOOLS_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $LANGTOOLS_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override langtools with a full langtools repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if langtools should be overridden]) erikj@459: AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_corba" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_corba" erikj@459: CORBA_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $CORBA_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override corba with a full corba repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if corba should be overridden]) erikj@459: AC_MSG_RESULT([yes with $CORBA_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_jaxp" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_jaxp" erikj@459: JAXP_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $JAXP_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if jaxp should be overridden]) erikj@459: AC_MSG_RESULT([yes with $JAXP_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_jaxws" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_jaxws" erikj@459: JAXWS_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $JAXWS_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if jaxws should be overridden]) erikj@459: AC_MSG_RESULT([yes with $JAXWS_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_hotspot" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_hotspot" erikj@459: HOTSPOT_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $HOTSPOT_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if hotspot should be overridden]) erikj@459: AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_nashorn" != x; then jjg@645: CURDIR="$PWD" jjg@645: cd "$with_override_nashorn" jjg@645: NASHORN_TOPDIR="`pwd`" jjg@645: cd "$CURDIR" ihse@912: if ! test -f $NASHORN_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!]) jjg@645: fi jjg@645: AC_MSG_CHECKING([if nashorn should be overridden]) jjg@645: AC_MSG_RESULT([yes with $NASHORN_TOPDIR]) ihse@839: fi ihse@839: if test "x$with_override_jdk" != x; then erikj@459: CURDIR="$PWD" erikj@459: cd "$with_override_jdk" erikj@459: JDK_TOPDIR="`pwd`" erikj@459: cd "$CURDIR" ihse@912: if ! test -f $JDK_TOPDIR/make/Makefile; then ihse@839: AC_MSG_ERROR([You have to override JDK with a full JDK repo!]) erikj@459: fi erikj@459: AC_MSG_CHECKING([if JDK should be overridden]) erikj@459: AC_MSG_RESULT([yes with $JDK_TOPDIR]) ihse@839: fi erikj@459: ]) erikj@459: erikj@459: AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS], erikj@459: [ ihse@839: BUILD_OUTPUT="$OUTPUT_ROOT" ihse@839: AC_SUBST(BUILD_OUTPUT) ohair@478: ihse@839: HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist" ihse@839: BUILD_HOTSPOT=true ihse@839: AC_SUBST(HOTSPOT_DIST) ihse@839: AC_SUBST(BUILD_HOTSPOT) ihse@839: AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot], ihse@839: [import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])]) ihse@839: if test "x$with_import_hotspot" != x; then tbell@506: CURDIR="$PWD" tbell@506: cd "$with_import_hotspot" tbell@506: HOTSPOT_DIST="`pwd`" tbell@506: cd "$CURDIR" tbell@506: if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then ihse@839: AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!]) tbell@506: fi tbell@506: AC_MSG_CHECKING([if hotspot should be imported]) tbell@506: AC_MSG_RESULT([yes from $HOTSPOT_DIST]) tbell@506: BUILD_HOTSPOT=false ihse@839: fi tbell@506: ihse@839: JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk" erikj@459: ])