提交 404c6a56 编写于 作者: D duke

Initial load

上级
^build/
^dist/
^nbproject/private/
OPENJDK ASSEMBLY EXCEPTION
The OpenJDK source code made available by Sun at openjdk.java.net and
openjdk.dev.java.net ("OpenJDK Code") is distributed under the terms of the
GNU General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
only ("GPL2"), with the following clarification and special exception.
Linking this OpenJDK Code statically or dynamically with other code
is making a combined work based on this library. Thus, the terms
and conditions of GPL2 cover the whole combination.
As a special exception, Sun gives you permission to link this
OpenJDK Code with certain code licensed by Sun as indicated at
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
("Designated Exception Modules") to produce an executable,
regardless of the license terms of the Designated Exception Modules,
and to copy and distribute the resulting executable under GPL2,
provided that the Designated Exception Modules continue to be
governed by the licenses under which they were offered by Sun.
As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
build an executable that includes those portions of necessary code that Sun
could not provide under GPL2 (or that Sun has provided under GPL2 with the
Classpath exception). If you modify or add to the OpenJDK code, that new
GPL2 code may still be combined with Designated Exception Modules if the
new code is made subject to this exception by its copyright holder.
The GNU General Public License (GPL)
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public License is intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any other program whose
authors commit to using it. (Some other Free Software Foundation software is
covered by the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not price. Our
General Public Licenses are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service if you wish),
that you receive source code or can get it if you want it, that you can change
the software or use pieces of it in new free programs; and that you know you
can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny
you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies of the
software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for
a fee, you must give the recipients all the rights that you have. You must
make sure that they, too, receive or can get the source code. And you must
show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2)
offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain that
everyone understands that there is no warranty for this free software. If the
software is modified by someone else and passed on, we want its recipients to
know that what they have is not the original, so that any problems introduced
by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We
wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program proprietary.
To prevent this, we have made it clear that any patent must be licensed for
everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice
placed by the copyright holder saying it may be distributed under the terms of
this General Public License. The "Program", below, refers to any such program
or work, and a "work based on the Program" means either the Program or any
derivative work under copyright law: that is to say, a work containing the
Program or a portion of it, either verbatim or with modifications and/or
translated into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee is addressed as
"you".
Activities other than copying, distribution and modification are not covered by
this License; they are outside its scope. The act of running the Program is
not restricted, and the output from the Program is covered only if its contents
constitute a work based on the Program (independent of having been made by
running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as
you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and
disclaimer of warranty; keep intact all the notices that refer to this License
and to the absence of any warranty; and give any other recipients of the
Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may
at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus
forming a work based on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all of
these conditions:
a) You must cause the modified files to carry prominent notices stating
that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof, to be
licensed as a whole at no charge to all third parties under the terms of
this License.
c) If the modified program normally reads commands interactively when run,
you must cause it, when started running for such interactive use in the
most ordinary way, to print or display an announcement including an
appropriate copyright notice and a notice that there is no warranty (or
else, saying that you provide a warranty) and that users may redistribute
the program under these conditions, and telling the user how to view a copy
of this License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on the Program is
not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License, and
its terms, do not apply to those sections when you distribute them as separate
works. But when you distribute the same sections as part of a whole which is a
work based on the Program, the distribution of the whole must be on the terms
of this License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based on
the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or
distribution medium does not bring the other work under the scope of this
License.
3. You may copy and distribute the Program (or a work based on it, under
Section 2) in object code or executable form under the terms of Sections 1 and
2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source
code, which must be distributed under the terms of Sections 1 and 2 above
on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to
give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections 1
and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to
distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in
object code or executable form with such an offer, in accord with
Subsection b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means all
the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and installation
of the executable. However, as a special exception, the source code
distributed need not include anything that is normally distributed (in either
source or binary form) with the major components (compiler, kernel, and so on)
of the operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the source
code from the same place counts as distribution of the source code, even though
third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as
expressly provided under this License. Any attempt otherwise to copy, modify,
sublicense or distribute the Program is void, and will automatically terminate
your rights under this License. However, parties who have received copies, or
rights, from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it.
However, nothing else grants you permission to modify or distribute the Program
or its derivative works. These actions are prohibited by law if you do not
accept this License. Therefore, by modifying or distributing the Program (or
any work based on the Program), you indicate your acceptance of this License to
do so, and all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of the
rights granted herein. You are not responsible for enforcing compliance by
third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues), conditions
are imposed on you (whether by court order, agreement or otherwise) that
contradict the conditions of this License, they do not excuse you from the
conditions of this License. If you cannot distribute so as to satisfy
simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all.
For example, if a patent license would not permit royalty-free redistribution
of the Program by all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply and
the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or
other property right claims or to contest validity of any such claims; this
section has the sole purpose of protecting the integrity of the free software
distribution system, which is implemented by public license practices. Many
people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose that
choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add an explicit
geographical distribution limitation excluding those countries, so that
distribution is permitted only in or among countries not thus excluded. In
such case, this License incorporates the limitation as if written in the body
of this License.
9. The Free Software Foundation may publish revised and/or new versions of the
General Public License from time to time. Such new versions will be similar in
spirit to the present version, but may differ in detail to address new problems
or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any later
version", you have the option of following the terms and conditions either of
that version or of any later version published by the Free Software Foundation.
If the Program does not specify a version number of this License, you may
choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs
whose distribution conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free Software Foundation,
write to the Free Software Foundation; we sometimes make exceptions for this.
Our decision will be guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the sharing and reuse of
software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach
them to the start of each source file to most effectively convey the exclusion
of warranty; and each file should have at least the "copyright" line and a
pointer to where the full notice is found.
One line to give the program's name and a brief idea of what it does.
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it
starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
software, and you are welcome to redistribute it under certain conditions;
type 'show c' for details.
The hypothetical commands 'show w' and 'show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may be
called something other than 'show w' and 'show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
'Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General Public
License instead of this License.
"CLASSPATH" EXCEPTION TO THE GPL
Certain source files distributed by Sun Microsystems, Inc. are subject to
the following clarification and special exception to the GPL, but only where
Sun has expressly included in the particular source file's header the words
"Sun designates this particular file as subject to the "Classpath" exception
as provided by Sun in the LICENSE file that accompanied this code."
Linking this library statically or dynamically with other modules is making
a combined work based on this library. Thus, the terms and conditions of
the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library. If
you modify this library, you may extend this exception to your version of
the library, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version.
#
# Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
ifndef TOPDIR
TOPDIR:=$(shell \
if [ -r ./j2se/make/Makefile -o -r ./jdk/make/Makefile ]; then \
echo "."; \
else \
echo "../.."; \
fi)
endif
ifndef CONTROL_TOPDIR
CONTROL_TOPDIR=$(TOPDIR)/control
CONTROL_TOPDIR:=$(shell \
if [ -r $(TOPDIR)/control/make/Makefile ]; then \
echo "$(TOPDIR)/control"; \
else \
echo "$(TOPDIR)"; \
fi)
endif
ifndef JDK_TOPDIR
JDK_TOPDIR=$(TOPDIR)/jdk
endif
ifndef JDK_MAKE_SHARED_DIR
JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
endif
include $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk
include ./make/Defs-internal.gmk
all::
@$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build started: `$(DATE) '+%y-%m-%d %H:%M'`
# Rules for sanity checks
include ./make/sanity-rules.gmk
dev : dev-build
dev-build:
$(MAKE) DEV_ONLY=true all
dev-sanity:
$(MAKE) DEV_ONLY=true sanity
dev-clobber:
$(MAKE) DEV_ONLY=true clobber
# Rules for various components
include ./make/hotspot-rules.gmk
include ./make/langtools-rules.gmk
include ./make/corba-rules.gmk
include ./make/jaxp-rules.gmk
include ./make/jaxws-rules.gmk
include ./make/jdk-rules.gmk
include ./make/install-rules.gmk
include ./make/sponsors-rules.gmk
include ./make/deploy-rules.gmk
all:: setup build
setup:
$(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
$(MKDIR) -p $(ABS_OUTPUTDIR)/j2sdk-image
$(MKDIR) -p $(OUTPUTDIR)-fastdebug/j2sdk-image
$(MKDIR) -p $(ABS_OUTPUTDIR)-fastdebug/j2sdk-image
build:: sanity
clobber::
ifeq ($(BUILD_LANGTOOLS), true)
build:: langtools
clobber:: langtools-clobber
endif
ifeq ($(BUILD_CORBA), true)
build:: corba
clobber:: corba-clobber
endif
ifeq ($(BUILD_JAXP), true)
build:: jaxp
clobber:: jaxp-clobber
endif
ifeq ($(BUILD_JAXWS), true)
build:: jaxws
clobber:: jaxws-clobber
endif
ifeq ($(BUILD_HOTSPOT), true)
build:: $(HOTSPOT)
clobber:: hotspot-clobber
endif
ifeq ($(BUILD_JDK), true)
build:: $(JDK_JAVA_EXE)
clobber:: jdk-clobber
endif
ifeq ($(BUILD_DEPLOY), true)
build:: $(DEPLOY)
clobber:: deploy-clobber
endif
#
# Generic debug build, fastdebug or debug. Needs special handling.
# Note that debug builds do NOT do INSTALL steps, but must be done
# after the product build and before the INSTALL step of the product build.
#
# DEBUG_NAME is fastdebug or debug
# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
# The resulting j2sdk-image is used by the install makefiles to create a
# debug install bundle jdk-*-debug-** bundle (tar or zip)
# which will install in the debug or fastdebug subdirectory of the
# normal product install area.
# The install process needs to know what the DEBUG_NAME is, so
# look for INSTALL_DEBUG_NAME in the install rules.
#
COMMON_DEBUG_FLAGS= \
DEBUG_NAME=$(DEBUG_NAME) \
ALT_OUTPUTDIR=$(_OUTPUTDIR)-$(DEBUG_NAME) \
NO_DOCS=true
product_build: setup
@$(ECHO) $@ build started: `$(DATE) '+%y-%m-%d %H:%M'`
$(MAKE) SKIP_FASTDEBUG_BUILD=true SKIP_DEBUG_BUILD=true all
@$(ECHO) $@ build finished: `$(DATE) '+%y-%m-%d %H:%M'`
generic_debug_build:
@$(ECHO) $@ build started: `$(DATE) '+%y-%m-%d %H:%M'`
$(MAKE) $(COMMON_DEBUG_FLAGS) setup build
@$(ECHO) $@ build finished: `$(DATE) '+%y-%m-%d %H:%M'`
debug_build: setup
$(MAKE) DEBUG_NAME=debug generic_debug_build
fastdebug_build: setup
$(MAKE) DEBUG_NAME=fastdebug generic_debug_build
ifeq ($(SKIP_FASTDEBUG_BUILD), false)
all:: fastdebug_build
endif
ifeq ($(SKIP_DEBUG_BUILD), false)
all:: debug_build
endif
ifeq ($(BUILD_JDK), true)
ifeq ($(BUNDLE_RULES_AVAILABLE), true)
all:: openjdk-binary-plugs-bundles
endif
endif
ifeq ($(BUILD_INSTALL), true)
all :: $(INSTALL)
clobber:: install-clobber
endif
ifeq ($(BUILD_SPONSORS), true)
all :: $(SPONSORS)
clobber:: sponsors-clobber
endif
ifneq ($(SKIP_COMPARE_IMAGES), true)
all :: compare-image
endif
ifeq ($(SKIP_OPENJDK_BUILD), false)
ifeq ($(BUILD_JDK), true)
ifeq ($(BUNDLE_RULES_AVAILABLE), true)
# If we have bundle rules, we have a chance here to do a complete cycle
# build, of closed and open build.
# FIXUP: We should create the openjdk source bundle and build that?
ABS_OPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME)
ABS_OPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/openjdk
OPENJDK_BUILD_NAME_PREFIX \
= $(J2SDK_NAME)-$(JDK_MKTG_UNDERSCORE_VERSION)-$(MILESTONE)
OPENJDK_BUILD_NAME_SUFFIX \
= $(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE)
OPENJDK_BUILD_NAME \
= $(OPENJDK_BUILD_NAME_PREFIX)-openjdk-$(OPENJDK_BUILD_NAME_SUFFIX)
OPENJDK_BUILD_BINARY_ZIP \
= $(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip
all :: openjdk-build
openjdk-build:
@$(ECHO) " "
@$(ECHO) "================================================="
@$(ECHO) "Starting openjdk build"
@$(ECHO) "================================================="
@$(ECHO) " "
$(RM) -r $(ABS_OPENJDK_OUTPUTDIR)
$(MKDIR) -p $(ABS_OPENJDK_OUTPUTDIR)
$(MAKE) OPENJDK=true \
BUILD_LANGTOOLS=$(BUILD_LANGTOOLS) \
BUILD_CORBA=$(BUILD_CORBA) \
BUILD_JAXP=$(BUILD_JAXP) \
BUILD_JAXWS=$(BUILD_JAXWS) \
BUILD_HOTSPOT=$(BUILD_HOTSPOT) \
ALT_OUTPUTDIR=$(ABS_OPENJDK_OUTPUTDIR) \
ALT_BINARY_PLUGS_PATH=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) \
ALT_BOOTDIR=$(ABS_OUTPUTDIR)/j2sdk-image \
ALT_JDK_IMPORT_PATH=$(ABS_OUTPUTDIR)/j2sdk-image \
product_build
$(RM) $(OPENJDK_BUILD_BINARY_ZIP)
( $(CD) $(ABS_OPENJDK_OUTPUTDIR)/j2sdk-image && \
$(ZIPEXE) -q -r $(OPENJDK_BUILD_BINARY_ZIP) .)
$(RM) -r $(ABS_OPENJDK_OUTPUTDIR)
endif
endif
endif
clobber::
$(RM) -r $(OUTPUTDIR)/*
$(RM) -r $(OUTPUTDIR)-debug/*
$(RM) -r $(OUTPUTDIR)-fastdebug/*
-($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE))
clean: clobber
all::
@$(ECHO) Control build finished: `$(DATE) '+%y-%m-%d %H:%M'`
#
# Quick jdk verification build
#
jdk_only:
$(MAKE) SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all
#
# Quick jdk verification fastdebug build
#
jdk_fastdebug_only:
$(MAKE) DEBUG_NAME=fastdebug BUILD_HOTSPOT=false BUILD_DEPLOY=false \
BUILD_INSTALL=false BUILD_SPONSORS=false generic_debug_build
#
# Quick deploy verification fastdebug build
#
deploy_fastdebug_only:
$(MAKE) \
DEBUG_NAME=fastdebug \
BUILD_HOTSPOT=false \
BUILD_JDK=false \
BUILD_LANGTOOLS=false \
BUILD_CORBA=false \
BUILD_JAXP=false \
BUILD_JAXWS=false \
BUILD_INSTALL=false \
BUILD_SPONSORS=false \
generic_debug_build
#
# Product build (skip debug builds)
#
product_only:
$(MAKE) SKIP_FASTDEBUG_BUILD=true all
#
# Check target
#
check: variable_check
#
# Help target
#
help: intro_help target_help variable_help notes_help examples_help
# Intro help message
intro_help:
@$(ECHO) "\
Makefile for the JDK builds (all the JDK). \n\
"
# Target help
target_help:
@$(ECHO) "\
--- Common Targets --- \n\
all -- build the core JDK (default target) \n\
help -- Print out help information \n\
check -- Check make variable values for correctness \n\
sanity -- Perform detailed sanity checks on system and settings \n\
fastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\
debug_build -- build the core JDK in 'debug' mode (-g) \n\
clean -- remove all built and imported files \n\
clobber -- same as clean \n\
"
# Variable help (only common ones used by this Makefile)
variable_help: variable_help_intro variable_list variable_help_end
variable_help_intro:
@$(ECHO) "--- Common Variables ---"
variable_help_end:
@$(ECHO) " "
# One line descriptions for the variables
OUTPUTDIR.desc = Output directory
PARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count
SLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
BOOTDIR.desc = JDK used to boot the build
JDK_IMPORT_PATH.desc = JDK used to import components of the build
COMPILER_PATH.desc = Compiler install directory
CACERTS_FILE.desc = Location of certificates file
DEVTOOLS_PATH.desc = Directory containing zip and gnumake
CUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
DXSDK_PATH.desc = Root directory of DirectX SDK
MSDEVTOOLS_PATH.desc = Root directory of VC++ tools (e.g. rc.exe)
MSVCRT_DLL_PATH.desc = Directory containing mscvrt.dll
# Make variables to print out (description and value)
VARIABLE_PRINTVAL_LIST += \
OUTPUTDIR \
PARALLEL_COMPILE_JOBS \
SLASH_JAVA \
BOOTDIR \
JDK_IMPORT_PATH \
COMPILER_PATH \
CACERTS_FILE \
DEVTOOLS_PATH
# Make variables that should refer to directories that exist
VARIABLE_CHECKDIR_LIST += \
SLASH_JAVA \
BOOTDIR \
JDK_IMPORT_PATH \
COMPILER_PATH \
DEVTOOLS_PATH
# Make variables that should refer to files that exist
VARIABLE_CHECKFIL_LIST += \
CACERTS_FILE
# Some are windows specific
ifeq ($(PLATFORM), windows)
VARIABLE_PRINTVAL_LIST += \
DXSDK_PATH \
MSDEVTOOLS_PATH \
MSVCRT_DLL_PATH
VARIABLE_CHECKDIR_LIST += \
DXSDK_PATH \
MSDEVTOOLS_PATH \
MSVCRT_DLL_PATH
endif
# For pattern rules below, so all are treated the same
DO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval)
DO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir)
DO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil)
# Complete variable check
variable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST)
variable_list: $(DO_PRINTVAL_LIST) variable_check
# Pattern rule for printing out a variable
%.printval:
@$(ECHO) " ALT_$* - $($*.desc)"
@$(ECHO) " \t $*=$($*)"
# Pattern rule for checking to see if a variable with a directory exists
%.checkdir:
@if [ ! -d $($*) ] ; then \
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
fi
# Pattern rule for checking to see if a variable with a file exists
%.checkfil:
@if [ ! -f $($*) ] ; then \
$(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
fi
# Misc notes on help
notes_help:
@$(ECHO) "\
--- Notes --- \n\
- All builds use same output directory unless overridden with \n\
\t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\
\t to use the clean target first. \n\
- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\
\t builds or previous release JDK builds will work. \n\
- The fastest builds have been when the sources and the BOOTDIR are on \n\
\t local disk. \n\
"
examples_help:
@$(ECHO) "\
--- Examples --- \n\
$(MAKE) fastdebug_build \n\
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug_build \n\
$(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
$(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\
$(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\
"
################################################################
# Source and binary plug bundling
################################################################
ifeq ($(BUNDLE_RULES_AVAILABLE), true)
include $(BUNDLE_RULES)
endif
################################################################
# Cycle build. Build the jdk, use it to build the jdk again.
################################################################
ABS_BOOTJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
boot_cycle:
$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTJDK_OUTPUTDIR) product_build
$(MAKE) ALT_BOOTDIR=$(ABS_BOOTJDK_OUTPUTDIR)/j2sdk-image product_build
################################################################
# JPRT rule to build
################################################################
include ./make/jprt.gmk
################################################################
# PHONY
################################################################
.PHONY: all build what clobber insane \
fastdebug_build debug_build product_build setup \
dev dev-build dev-sanity dev-clobber
# FIXUP: Old j2se targets
j2se_fastdebug_only: jdk_fastdebug_only
j2se_only: jdk_only
README:
This file should be located at the top of the OpenJDK Mercurial repository
forest. This top or enclosing repository will include a "make" directory,
and a Makefile at the very top of the repository.
It should also include the 6 repositories: "jdk", "hotspot", "langtools",
"corba", "jaxws" and "jaxp".
See http://openjdk.java.net/ for more information about the OpenJDK.
Simple Build Instructions:
1. Download and install a JDK 6 from
http://java.sun.com/javase/downloads/index.jsp
Set the environment variable ALT_BOOTDIR to the location of this JDK 6.
2. Download and install the Binary Plugs for the most recent JDK7 from
http://download.java.net/openjdk/jdk7/
Set the environment variable ALT_BINARY_PLUGS_PATH to the location of
these binary plugs.
3. Check the sanity of doing a build with the current machine:
gnumake sanity
See README-builds.html if you run into problems.
4. Do a complete build of the jdk:
gnumake all
The resulting JDK image should be found in build/*/j2sdk-image
where gnumake is GNU make 3.78.1 or newer, /usr/bin/make on Linux and
/usr/sfw/bin/gmake or /opt/sfw/bin/gmake on Solaris.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>OpenJDK Build README</title></head>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<center>
<h1>OpenJDK Build README</h1>
</center>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="introduction">Introduction</a></h2>
<blockquote>
<p>
This README file contains build instructions for the
<a href="http://openjdk.java.net">OpenJDK</a>.
Building the source code for the
OpenJDK
requires
a certain degree of technical expertise.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="contents">Contents</a></h2>
<blockquote>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#MBE">Minimum Build Environments</a></li>
<li><a href="#SDBE">Specific Developer Build Environments</a></li>
<li><a href="#directories">Source Directory Structure</a> </li>
<li><a href="#building">Build Information</a>
<ul type="disc">
<li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li>
<li><a href="#linux">Basic Linux System Setup</a> </li>
<li><a href="#solaris">Basic Solaris System Setup</a> </li>
<li><a href="#windows">Basic Windows System Setup</a> </li>
<li><a href="#dependencies">Build Dependencies</a> </li>
<ul type="disc">
<li><a href="#bootjdk">Bootstrap JDK</a> </li>
<li><a href="#binaryplugs">Binary Plugs</a> </li>
<li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
<li><a href="#compilers">Compilers</a>
<ul>
<li><a href="#msvc">Microsoft Visual Studio</a> </li>
<li><a href="#mssdk">Microsoft Platform SDK</a> </li>
<li><a href="#gcc">Linux gcc/binutils</a> </li>
<li><a href="#studio">Sun Studio</a> </li>
</ul>
</li>
<li>Linux and Solaris:
<ul>
<li><a href="#cups">CUPS Include files</a> </li>
</ul>
</li>
<li>Windows only:
<ul>
<li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li>
<li><a href="#dxsdk">DirectX 9.0 SDK</a> </li>
</ul>
</li>
</ul>
</ul>
</li>
<li><a href="#creating">Creating the Build</a> </li>
<li><a href="#testing">Testing the Build</a> </li>
<li><a href="#variables">Environment/Make Variables</a></li>
<li><a href="#troubleshooting">Troubleshooting</a></li>
</ul>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="MBE">Minimum Build Environments</a></h2>
<blockquote>
<p>
This file often describes specific requirements for what we call the
"minimum build environments" (MBE) for the JDK.
Building with the MBE will generate the most compatible
bits that install on, and run correctly on, the most variations
of the same base OS and hardware architecture.
These usually represent what is often called the
least common denominator platforms.
It is understood that most developers will NOT be using these
specific platforms, and in fact creating these specific platforms
may be difficult due to the age of some of this software.
<p>
<p>
The minimum OS and C/C++ compiler versions needed for building the
OpenJDK:
<p>
<center>
<table border="1">
<thead>
<tr>
<th>Base OS and Architecture</th>
<th>OS</th>
<th>Compiler</th>
</tr>
</thead>
<tbody>
<tr>
<td>Linux X86 (32bit)</td>
<td>Red Hat Enterprise Linux 4 </td>
<td>gcc 4 </td>
</tr>
<tr>
<td>Linux X64 (64bit)</td>
<td>Red Hat Enterprise Linux 4 </td>
<td>gcc 4 </td>
</tr>
<tr>
<td>Solaris SPARC (32bit)</td>
<td>Solaris 10 + patches
<br>
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
</td>
<td>Sun Studio 11 </td>
</tr>
<tr>
<td>Solaris SPARCV9 (64bit)</td>
<td>Solaris 10 + patches
<br>
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
</td>
<td>Sun Studio 11</td>
</tr>
<tr>
<td>Solaris X86 (32bit)</td>
<td>Solaris 10 + patches
<br>
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
</td>
<td>Sun Studio 11</td>
</tr>
<tr>
<td>Solaris X64 (64bit)</td>
<td>Solaris 10 + patches
<br>
See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
</td>
<td>Sun Studio 11</td>
</tr>
<tr>
<td>Windows X86 (32bit)</td>
<td>Windows XP</td>
<td>Microsoft Visual Studio .NET 2003 Professional</td>
</tr>
<tr>
<td>Windows X64 (64bit)</td>
<td>Windows Server 2003 - Enterprise x64 Edition</td>
<td>Microsoft Platform SDK - April 2005</td>
</tr>
</tbody>
</table>
</center>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="SDBE">Specific Developer Build Environments</a></h2>
<blockquote>
<p>
We won't be listing all the possible environments, but
we will try to provide what information we have available to us.
</blockquote>
<h3><a name="fedora">Fedora</a></h3>
<blockquote>
TBD
</blockquote>
<h3><a name="debian">Debian</a></h3>
<blockquote>
TBD
</blockquote>
<h3><a name="ubuntu">Ubuntu</a></h3>
<blockquote>
<p>
In addition to needing the Bootstrap JDK and the Binary Plugs,
when building on Ubuntu you will need to
make sure certain packages are installed.
In particular, certain X11 packages, make, m4, gawk, gcc 4,
binutils, cups, freetype
and alsa.
<h4>Ubuntu 6.06</h4>
<p>
The following list of packages for Ubuntu 6.06 is a working set that
does appear to work.
<p>
<b>Note that it's quite possible that some of these
packages are not required, so anyone discovering that some of the
packages listed below are NOT required,
please let the
OpenJDK
team know.</b>
<p>
All the packages below can be installed with the
Synaptic Package manager provided with the base Ubuntu 6.06 release.
<blockquote>
<ul>
<li>binutils (2.16.1cvs20060117-1ubuntu2.1)</li>
<li>cpp (4:4.0.3-1)</li>
<li>cpp-4.0 (4.0.3-1ubuntu5)</li>
<li>libfreetype6-dev</li>
<li>g++ (4:4.0.3-1)</li>
<li>g++-4.0 (4.0.3-1ubuntu5)</li>
<li>gawk (1:3.1.5-2build1)</li>
<li>gcc (4:4.0.3-1)</li>
<li>gcc-4.0 (4.0.3-1ubuntu5)</li>
<li>libasound2-dev (1.0.10-2ubuntu4)</li>
<li>libc6 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li>
<li>libc6-dev (2.3.6-0ubuntu20.4)</li>
<li>libc6-i686 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li>
<li>libcupsys2-dev (1.2.2-0ubuntu0.6.06)</li>
<li>libgcrypt11-dev (1.2.2-1)</li>
<li>libgnutls-dev (1.2.9-2ubuntu1.1)</li>
<li>libgnutls12 (1.2.9-2ubuntu1) to 1.2.9-2ubuntu1.1</li>
<li>libgpg-error-dev (1.1-4)</li>
<li>libice-dev (2:1.0.0-0ubuntu2)</li>
<li>liblockfile1 (1.06.1)</li>
<li>libopencdk8-dev (0.5.7-2)</li>
<li>libpopt-dev (1.7-5)</li>
<li>libsm-dev (2:1.0.0-0ubuntu2)</li>
<li>libstdc++6-4.0-dev (4.0.3-1ubuntu5)</li>
<li>libtasn1-2-dev (0.2.17-1ubuntu1)</li>
<li>libx11-dev (2:1.0.0-0ubuntu9)</li>
<li>libxau-dev (1:1.0.0-0ubuntu4)</li>
<li>libxaw-headers (2:1.0.1-0ubuntu3)</li>
<li>libxaw7-dev (2:1.0.1-0ubuntu3)</li>
<li>libxdmcp-dev (1:1.0.0-0ubuntu2)</li>
<li>libxext-dev (2:1.0.0-0ubuntu4)</li>
<li>libxi-dev (2:1.0.0-0ubuntu3) </li>
<li>libxmu-dev (2:1.0.0-0ubuntu3)</li>
<li>libxmu-headers (2:1.0.0-0ubuntu3)</li>
<li>libxmuu-dev (2:1.0.0-0ubuntu3)</li>
<li>libxp-dev (6.8.2-11ubuntu2)</li>
<li>libxpm-dev (1:3.5.4.2-0ubuntu3)</li>
<li>libxrandr-dev (1:1.1.0.2-0ubuntu4)</li>
<li>libxt-dev (1:1.0.0-0ubuntu3)</li>
<li>libxtrap-dev (2:1.0.0-0ubuntu2)</li>
<li>libxtst-dev (2:1.0.1-0ubuntu2)</li>
<li>libxv-dev (2:1.0.1-0ubuntu3)</li>
<li>linux-kernel-headers (2.6.11.2-0ubuntu18)</li>
<li>m4 (1.4.4-1)</li>
<li>make (3.80+3.81.b4-1)</li>
<li>ssl-cert (1.0.13)</li>
<li>x-dev (7.0.4-0ubuntu2)</li>
<li>x11proto-core-dev (7.0.4-0ubuntu2)</li>
<li>x11proto-input-dev (1.3.2-0ubuntu2)</li>
<li>x11proto-kb-dev (1.0.2-0ubuntu2)</li>
<li>x11proto-randr-dev (1.1.2-0ubuntu2)</li>
<li>x11proto-record-dev (1.13.2-0ubuntu2)</li>
<li>x11proto-trap-dev (3.4.3-0ubuntu2)</li>
<li>x11proto-video-dev (2.2.2-0ubuntu2)</li>
<li>x11proto-xext-dev (7.0.2-0ubuntu2)</li>
<li>xlibs-dev (7.0.0-0ubuntu45)</li>
<li>zlib1g-dev (1:1.2.3-6ubuntu4)</li>
</ul>
</blockquote>
<h4>Ubuntu 7.04</h4>
<p>
Using the Synaptic Package Manager, download the following
packages (double indented packages are automatically aquired
due to package dependencies):
<blockquote>
<ul>
<li>build-essential</li>
<ul>
<li>dpkg-dev</li>
<li>g++</li>
<li>g++-4.1</li>
<li>libc6-dev</li>
<li>libstdc++6.4.1-dev</li>
<li>linux-libc-dev</li>
</ul>
<li>gawk</li>
<li>m4</li>
<li>libasound2-dev</li>
<li>libcupsys2-dev</li>
<ul>
<li>libgcrypt11-dev</li>
<li>lgnutls-dev</li>
<li>libgpg-error-dev</li>
<li>liblzo-dev</li>
<li>libopencdk8-dev</li>
<li>libpopt-dev</li>
<li>libtasn1-3-dev</li>
<li>zlib1g-dev</li>
</ul>
<li>sun-java6-jdk</li>
<ul>
<li>java-common</li>
<li>libltdl3</li>
<li>odbcinst1debian1</li>
<li>sun-java6-bin</li>
<li>sun-java6-jre</li>
<li>unixodbc</li>
</ul>
<li>xlibs-dev</li>
<ul>
<li>(many)</li>
</ul>
<li>x11proto-print-dev</li>
<li>libxaw7-dev</li>
<ul>
<li>libxaw-headers</li>
</ul>
<li>libxp-dev</li>
<li>libfreetype6-dev</li>
</ul>
</blockquote>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="directories">Source Directory Structure</a></h2>
<blockquote>
<p>
The source code for the
OpenJDK is
delivered in <i>3</i> sibling directories:
<tt>hotspot</tt>,
<tt>langtools</tt>,
<tt>corba</tt>,
<tt>jaxws</tt>,
<tt>jaxp</tt>,
<tt>jdk</tt>
and
The <tt>hotspot</tt> directory contains the source code and make
files for
building the
OpenJDK
Hotspot Virtual Machine.
The <tt>jdk</tt>
directory contains the source code and make files for
building the
OpenJDK
runtime libraries, tools and demos.
The top level Makefile is used to build the complete OpenJDK
release including building the hotspot
VM, staging the VM binaries, and building the
OpenJDK
runtime libraries,
tools and demos.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="building">Build Information</a></h2>
<blockquote>
<p>
Building the
OpenJDK
is done with a <tt><i>gmake</i></tt>
command line and various
environment or make variable settings that direct the make rules
to where various components have been installed.
Where possible the makefiles will attempt to located the various
components in the default locations or any component specific
variable settings.
When the normal defaults fail or components cannot be found,
the various
<tt>ALT_*</tt> variables (alternates)
can be used to help the makefiles locate components.
<p>
Refer to the bash/sh/ksh setup file
<tt>jdk/make/jdk_generic_profile.sh</tt>
if you need help in setting up your environment variables.
A build could be as simple as:
<blockquote>
<pre><tt>
bash
. jdk/make/jdk_generic_profile.sh
<i>gmake</i> sanity &amp;&amp; <i>gmake</i>
</tt></pre>
</blockquote>
<p>
Of course ksh or sh would work too.
But some customization will probably be necessary.
The <tt>sanity</tt> rule will make some basic checks on build
dependencies and generate appropriate warning messages
regarding missing, out of date, or newer than expected components
found on your system.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h3><a name="gmake">GNU make (<tt><i>gmake</i></tt>)</a></h3>
<blockquote>
<p>
The Makefiles in the
OpenJDK
are only valid when used with the
GNU version of the utility command <tt>make</tt>
(<tt><i>gmake</i></tt>).
A few notes about using GNU make:
<ul>
<li>
In general, you need GNU make version 3.78.1 or newer.
</li>
<li>
Place the location of the GNU make binary in the <tt>PATH</tt>.
</li>
<li>
<strong>Linux:</strong>
The <tt>/usr/bin/make</tt> command should work fine for you.
</li>
<li>
<strong>Solaris:</strong>
Do NOT use <tt>/usr/bin/make</tt> on Solaris.
If your Solaris system has the software
from the Solaris Companion CD installed,
you should use <tt>gmake</tt>
which will be located in either the <tt>/opt/sfw/bin</tt> or
<tt>/usr/sfw/bin</tt> directory.
</li>
<li>
<strong>Windows:</strong>
Make sure you start your build inside a bash/sh/ksh shell.
<br>
<b>WARNING:</b> Watch out for make version 3.81, it may
not work due to a lack of support for drive letter paths
like <tt>C:/</tt>. Use a 3.80 version, or find a newer
version that has this problem fixed.
</li>
</ul>
<p>
Information on GNU make, and access to ftp download sites, are
available on the
<a href="http://www.gnu.org/software/make/make.html">
GNU make web site
</a>.
The latest source to GNU make is available at
<a href="http://ftp.gnu.org/pub/gnu/make/">ftp.gnu.org/pub/gnu/make/</a>.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h3><a name="linux">Basic Linux System Setup</a></h3>
<blockquote>
<p>
<strong>i586 only:</strong>
The minimum recommended hardware for building the Linux version
is a Pentium class processor or better, at least 256 MB of RAM, and
approximately 1.5 GB of free disk space.
<p>
<strong>X64 only:</strong>
The minimum recommended hardware for building the Linux
version is an AMD Opteron class processor, at least 512 MB of RAM, and
approximately 4 GB of free disk space.
<p>
The build will use the tools contained in
<tt>/bin</tt> and
<tt>/usr/bin</tt>
of a standard installation of the Linux operating environment.
You should ensure that these directories are in your
<tt>PATH</tt>.
<p>
Note that some Linux systems have a habit of pre-populating
your environment variables for you, for example <tt>JAVA_HOME</tt>
might get pre-defined for you to refer to the JDK installed on
your Linux system.
You will need to unset <tt>JAVA_HOME</tt>.
It's a good idea to run <tt>env</tt> and verify the
environment variables you are getting from the default system
settings make sense for building the
OpenJDK.
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="linux_checklist">Basic Linux Check List</a></h4>
<blockquote>
<ol>
<li>
Install the
<a href="#bootjdk">Bootstrap JDK</a>, set
<tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>.
</li>
<li>
Install the
<a href="#binaryplugs">Binary Plugs</a>, set
<tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>.
</li>
<li>
Install or upgrade the <a href="#freetype">FreeType development
package</a>.
</li>
</ol>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h3><a name="solaris">Basic Solaris System Setup</a></h3>
<blockquote>
<p>
The minimum recommended hardware for building the
Solaris SPARC version is an UltraSPARC with 512 MB of RAM.
For building
the Solaris x86 version, a Pentium class processor or better and at
least 128 MB of RAM are recommended.
Approximately 1.4 GB of free disk
space is needed for a 32-bit build.
<p>
If you are building the 64bit version, you should
run the command "isainfo -v" to verify that you have a
64-bit installation.
An additional 7 GB of free disk space is needed
for a 64-bit build.
<p>
The build uses the tools contained in <tt>/usr/ccs/bin</tt>
and <tt>/usr/bin</tt> of a standard developer or full installation of
the Solaris operating environment.
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="solaris_checklist">Basic Solaris Check List</a></h4>
<blockquote>
<ol>
<li>
Install the
<a href="#bootjdk">Bootstrap JDK</a>, set
<tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>.
</li>
<li>
Install the
<a href="#binaryplugs">Binary Plugs</a>, set
<tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>.
</li>
<li>
Install the
<a href="#studio">Sun Studio Compilers</a>, set
<a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
</li>
<li>
Install the
<a href="#cups">CUPS Include files</a>, set
<tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>.
</li>
</ol>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h3><a name="windows">Basic Windows System Setup</a></h3>
<blockquote>
<p>
<strong>i586 only:</strong>
The minimum recommended hardware for building the 32bit or X86
Windows version is an Pentium class processor or better, at least
512 MB of RAM, and approximately 600 MB of free disk space.
<strong>
NOTE: The Windows 2000 build machines need to use the
file system NTFS.
Build machines formatted to FAT32 will not work
because FAT32 doesn't support case-sensitivity in file names.
</strong>
<p>
<strong>X64 only:</strong>
The minimum recommended hardware for building
the Windows X64 version is an AMD Opteron class processor, at least 1
GB of RAM, and approximately 10 GB of free disk space.
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="paths">Windows Paths</a></h4>
<blockquote>
<p>
<strong>Windows:</strong>
Note that GNU make is a historic utility and is based very
heavily on shell scripting, so it does not tolerate the Windows habit
of having spaces in pathnames or the use of the <tt>\</tt>characters in pathnames.
Luckily on most Windows systems, you can use <tt>/</tt>instead of \, and
there is always a 'short' pathname without spaces for any path that
contains spaces.
Unfortunately, this short pathname can be somewhat dynamic and the
formula is difficult to explain.
You can use <tt>cygpath</tt> utility to map pathnames with spaces
or the <tt>\</tt>character into the <tt>C:/</tt> style of pathname
(called 'mixed'), e.g.
<tt>cygpath -s -m "<i>path</i>"</tt>.
<p>
The makefiles will try to translate any pathnames supplied
to it into the <tt>C:/</tt> style automatically.
<p>
Note that use of CYGWIN creates a unique problem with regards to
setting <a href="#path"><tt>PATH</tt></a>. Normally on Windows
the <tt>PATH</tt> variable contains directories
separated with the ";" character (Solaris and Linux uses ":").
With CYGWIN, it uses ":", but that means that paths like "C:/path"
cannot be placed in the CYGWIN version of <tt>PATH</tt> and
instead CYGWIN uses something like <tt>/cygdrive/c/path</tt>
which CYGWIN understands, but only CYGWIN understands.
So be careful with paths on Windows.
</blockquote>
<!-- ------------------------------------------------------ -->
<h4><a name="windows_checklist">Basic Windows Check List</a></h4>
<blockquote>
<ol>
<li>
Install the
<a href="#cygwin">CYGWIN product</a>.
</li>
<li>
Install the
<a href="#bootjdk">Bootstrap JDK</a>, set
<tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>.
</li>
<li>
Install the
<a href="#binaryplugs">Binary Plugs</a>, set
<tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>..
</li>
<li>
Install the
<a href="#msvc">Microsoft Visual Studio .NET 2003 Professional</a> or the
<a href="#mssdk">Microsoft Platform SDK</a>.
</li>
<li>
Setup all environment variables for compilers
(see <a href="#msvc">compilers</a>).
</li>
<li>
Install
<a href="#dxsdk">Microsoft DirectX SDK</a>.
</li>
</ol>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h3><a name="dependencies">Build Dependencies</a></h3>
<blockquote>
<p>
Depending on the platform, the
OpenJDK
build process has some basic
dependencies on components not part of the
OpenJDK
sources.
Some of these are specific to a platform, some even specific to
an architecture.
Each dependency will have a set of ALT variables that can be set
to tell the makefiles where to locate the component.
In most cases setting these ALT variables may not be necessary
and the makefiles will find defaults on the system in standard
install locations or through component specific variables.
<h4><a name="bootjdk">Bootstrap JDK</a></h4>
<blockquote>
<p>
All
OpenJDK
builds require access to the previously released
JDK 6, this is often called a bootstrap JDK.
The JDK 6 binaries can be downloaded from Sun's
<a href="http://java.sun.com/javase/1.6.0/download.html">JDK 6 download site</a>.
For build performance reasons
is very important that this bootstrap JDK be made available on the
local disk of the machine doing the build.
You should always set
<tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>
to point to the location of
the bootstrap JDK installation, this is the directory pathname
that contains a <tt>bin, lib, and include</tt>
It's also a good idea to also place its <tt>bin</tt> directory
in the <tt>PATH</tt> environment variable, although it's
not required.
<p>
<strong>Solaris:</strong>
Some pre-installed JDK images may be available to you in the
directory <tt>/usr/jdk/instances</tt>.
If you don't set
<tt><a href="#ALT_BOOTDIR">ALT_BOOTDIR</a></tt>
the makefiles will look in that location for a JDK it can use.
</blockquote>
<h4><a name="binaryplugs">Binary Plugs</a></h4>
<blockquote>
<p>
Not all of the source code that makes up the JDK is available
under an open-source license.
In order to build an OpenJDK binary from source code,
you must first download and install the appropriate
binary plug bundles from the OpenJDK Download area.
During the OpenJDK build process these "binary plugs"
for the encumbered components will be copied into your
resulting OpenJDK binary build image.
These binary plug files are only for the purpose of
building an OpenJDK binary.
Download the Binary Plugs by selecting the <b>Downloads</b>
link at
<a href="http://openjdk.java.net/">the OpenJDK site</a>,
install the bundle,
and make sure you set
<tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>
to the root of this installation.
</blockquote>
<h4><a name="cacerts">Certificate Authority File (cacert)</a></h4>
<blockquote>
<p>
See <a href="http://en.wikipedia.org/wiki/CAcert">
www.wikipedia.org/wiki/CAcert</a>
for a better understanding of the Certificate Authority (CA).
A certificates file named "cacerts"
represents a system-wide keystore with CA certificates.
In JDK and JRE
binary bundles, the "cacerts" file contains root CA certificates from
several public CAs (e.g., VeriSign, Thawte, and Baltimore).
The source contain a cacerts file
without CA root certificates.
Formal JDK builders will need to secure
permission from each public CA and include the certificates into their
own custom cacerts file.
Failure to provide a populated cacerts file
will result in verification errors of a certificate chain during runtime.
The variable
<tt><a href="#ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt>
can be used to override the default location of the
cacerts file that will get placed in your build.
By default an empty cacerts file is provided and that should be
fine for most JDK developers.
</blockquote>
<h4><a name="compilers">Compilers</a></h4>
<blockquote>
<a name="gcc">
<strong>Linux gcc/binutils</strong>
</a>
<blockquote>
<p>
The GNU gcc compiler version should be 3.2.2 or newer.
The binutils package should be 2.11.93.0.2-11 or newer.
The compiler used should be the default compiler installed
in <tt>/usr/bin</tt>.
</blockquote>
<strong><a name="studio">Solaris: Sun Studio</a></strong>
<blockquote>
<p>
At a minimum, the
<a href="http://developers.sun.com/sunstudio/index.jsp">
Sun Studio 11 Compilers</a>
(containing version 5.8 of the C and C++ compilers) is required,
with patches from the
<a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access">
SunSolve web site</a>.
<p>
Set
<a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>
to point to the location of
the compiler binaries, and place this location in the <tt>PATH</tt>.
<p>
The Sun Studio Express compilers at:
<a href="http://developers.sun.com/sunstudio/downloads/express.jsp">
Sun Studio Express Download site</a>
are also an option, although these compilers have not
been extensively used yet.
</blockquote>
<a name="msvc">
<strong>Windows i586: Microsoft Visual Studio .NET 2003 Professional</strong>
</a>
<blockquote>
<p>
The 32-bit
OpenJDK
Windows build
requires Microsoft Visual Studio .NET 2003 (VS2003) Professional
Edition compiler.
The compiler and other tools are expected to reside
in the location defined by the variable <tt>VS71COMNTOOLS</tt> which
is set by the Microsoft Visual Studio .NET installer.
<p>
Once the compiler is installed,
it is recommended that you run <tt>VCVARS32.BAT</tt>
to set the compiler environment variables
<tt>MSVCDIR</tt>,
<tt>INCLUDE</tt>,
<tt>LIB</tt>, and
<tt>PATH</tt>
prior to building the
OpenJDK.
The above environment variables <b>MUST</b> be set.
<p>
The Microsoft Visual Studio .NET 2005 (VS2005) compiler
will not work at this time due to the new runtime dll
and the manifest requirements.
</blockquote>
<a name="mssdk">
<strong>Windows X64: Microsoft Platform SDK April 2005</strong>
</a>
<blockquote>
<p>
On <b>X64</b>,
the Microsoft Platform Software
Development Kit (SDK), April 2005 Edition compiler, is required for
building the
OpenJDK
because it contains the C/C++ compiler.
You will need to minimally install the Core SDK and
the MDAC SDK features of this compiler.
<p>
Once the Platform SDK is installed,
it is recommended that you run <tt>SetEnv.Cmd /X64</tt>
to set the compiler environment variables
<tt>MSSDK</tt>,
<tt>MSTOOLS</tt>,
<tt>INCLUDE</tt>,
<tt>LIB</tt>, and
<tt>PATH</tt>
prior to building the
OpenJDK.
The above environment variables <b>MUST</b> be set.
<p>
Note that this compiler may say it's version is a
Microsoft Visual Studio .NET 2005 (VS2005), but be careful,
it will not match the official VS2005 product.
This Platform SDK compiler is only used on X64 builds.
</blockquote>
</blockquote>
<h4><a name="cups">Common UNIX Printing System (CUPS) Headers (Solaris &amp; Linux)</a></h4>
<blockquote>
<p>
<strong>Solaris:</strong>
CUPS header files are required for building the
OpenJDK on Solaris.
The Solaris header files can be obtained by installing
the package <strong>SFWcups</strong> from the Solaris Software
Companion CD/DVD, these often will be installed into
<tt>/opt/sfw/cups</tt>.
<p>
<strong>Linux:</strong>
CUPS header files are required for building the
OpenJDK on Linux.
The Linux header files are usually available from a "cups"
development package, it's recommended that you try and use
the package provided by the particular version of Linux that
you are using.
<p>
The CUPS header files can always be downloaded from
<a href="http://www.cups.org">www.cups.org</a>.
The variable
<tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>
can be used to override the default location of the
CUPS Header files.
</blockquote>
<h4><a name="freetype">FreeType 2</a></h4>
<blockquote>
<p>
Version 2.3 or newer of FreeType is required for building the OpenJDK.
On Unix systems required files can be available as part of your
distribution (while you still may need to upgrade them).
Note that you need development version of package that
includes both FreeType library and header files.
</p>
<p>
You can always download latest FreeType version from the
<a href="http://www.freetype.org">FreeType website</a>.
</p>
<p>
Makefiles will try to pick FreeType from /usr/lib and /usr/include.
In case it is installed elsewhere you will need to set environment
variables
<tt><a href="#ALT_FREETYPE_LIB_PATH">ALT_FREETYPE_LIB_PATH</a></tt>
and
<tt><a href="#ALT_FREETYPE_HEADERS_PATH">ALT_FREETYPE_HEADERS_PATH</a></tt>
to refer to place where library and header files are installed.
</p>
</blockquote>
<h4><a name="alsa">Advanced Linux Sound Architecture (ALSA) (Linux only)</a></h4>
<blockquote>
<p>
<strong>Linux only:</strong>
Version 0.9.1 or newer of the ALSA files are
required for building the
OpenJDK on Linux.
These Linux files are usually available from an "alsa"
of "libasound"
development package, it's recommended that you try and use
the package provided by the particular version of Linux that
you are using.
The makefiles will check this emit a sanity error if it is
missing or the wrong version.
As a last resort you can go to the
<a href="http://www.alsa-project.org" target="_blank">
Advanced Linux Sound Architecture Site</a>.
</blockquote>
<h4>Windows Specific Dependencies</h4>
<blockquote>
<strong>Unix Command Tools (<a name="cygwin">CYGWIN</a>)</strong>
<blockquote>
<p>
The
OpenJDK
requires access to a set of unix command tools
on Windows which can be supplied by
<a href="http://www.cygwin.com">CYGWIN</a>.
<p>
The
OpenJDK
build
requires CYGWIN version 1.5.12 or newer.
Information about CYGWIN can
be obtained from the CYGWIN website at
<a href="http://www.cygwin.com">www.cygwin.com</a>.
<p>
By default CYGWIN doesn't install all the tools required for building
the OpenJDK.
Along with the default installation, you need to install
the following tools.
<blockquote>
<table border="1">
<thead>
<tr>
<td>Binary Name</td>
<td>Package</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>ar.exe</td>
<td>Devel</td>
<td>binutils: The GNU assembler, linker and binary
utilities</td>
</tr>
<tr>
<td>make.exe</td>
<td>Devel</td>
<td>make: The GNU version of the 'make' utility</td>
</tr>
<tr>
<td>m4.exe</td>
<td>Interpreters</td>
<td>m4: GNU implementation of the traditional Unix macro
processor</td>
</tr>
<tr>
<td>cpio.exe</td>
<td>Utils</td>
<td>cpio: A program to manage archives of files</td>
</tr>
<tr>
<td>file.exe</td>
<td>Utils</td>
<td>file: Determines file type using 'magic' numbers</td>
</tr>
</tbody>
</table>
</blockquote>
</blockquote>
<a name="dxsdk">
<strong>Microsoft DirectX 9.0 SDK header files and libraries</strong>
</a>
<blockquote>
<p>
Microsoft DirectX 9.0 SDK (Summer 2004)
headers are required for building
OpenJDK.
This SDK can be downloaded from
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FD044A42-9912-42A3-9A9E-D857199F888E&amp;displaylang=en">
Microsoft DirectX 9.0 SDK (Summer 2004)</a>.
If the link above becomes obsolete, the SDK can be found from
<a href="http://download.microsoft.com">the Microsoft Download Site</a>
(search with "DirectX 9.0 SDK Update Summer 2004").
The location of this SDK can be set with
<tt><a href="#ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt>
but it's normally found via the DirectX environment variable
<tt>DXSDK_DIR</tt>.
</blockquote>
<a name="msvcrt">
<strong><tt>MSVCRT.DLL</tt></strong>
</a>
<blockquote>
<p>
<strong>i586 only:</strong>
The
OpenJDK
32bit build requires
access to <tt>MSVCRT.DLL</tt>
version 6.00.8337.0 or newer.
If the <tt>MSVCRT.DLL</tt> is not installed in
the system32 directory set the
<a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
variable to the location.
<p>
<strong>X64 only:</strong>
The OpenJDK 64bit build requires access to
<tt>MSVCRT.DLL</tt> version 7.0.3790.0 or newer, which is
usually supplied by the
<a href="#mssdk">Platform SDK</a>.
If it is not available from the Platform SDK,
set the
<a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
variable to the location.
</blockquote>
<a name="msvcr71">
<strong><tt>MSVCR71.DLL</tt></strong>
</a>
<blockquote>
<p>
<strong>i586 only:</strong>
The
OpenJDK
build requires access to
MSVCR71.DLL version 7.10.3052.4 or newer which should be
supplied by the
<a href="#msvc">Visual Studio product</a>
If the <tt>MSVCR71.DLL</tt> is not available from the
Visual Studio product
set the
<a href="#ALT_MSVCR71_DLL_PATH"><tt>ALT_MSVCR71_DLL_PATH</tt></a>
variable to the location.
</blockquote>
</blockquote>
</blockquote>
<hr noshade="noshade" size="3">
<h2><a name="creating">Creating the Build</a></h2>
<blockquote>
<p>
Once a machine is setup to build the
OpenJDK,
the steps to create the
build are fairly simple.
The various ALT settings can either be made into variables
or can be supplied on the
<a href="#gmake"><tt><i>gmake</i></tt></a>
command.
<p>
<ol>
<li>Use the sanity rule to double check all the ALT settings:
<blockquote>
<tt>
<i>gmake</i>
sanity
[ARCH_DATA_MODEL=<i>32 or 64</i>]
[other "ALT_" overrides]
</tt>
</blockquote>
</li>
<li>Start the build with the command:
<blockquote>
<tt>
<i>gmake</i>
[ARCH_DATA_MODEL=<i>32 or 64</i>]
[ALT_OUTPUTDIR=<i>output_directory</i>]
[other "ALT_" overrides]
</tt>
</blockquote>
</li>
</ol>
<p>
<strong>Solaris:</strong>
Note that ARCH_DATA_MODEL is really only needed on Solaris to
indicate you want to built the 64-bit version.
And before the Solaris 64-bit binaries can be used, they
must be merged with the binaries from a separate 32-bit build.
The merged binaries may then be used in either 32-bit or 64-bit mode, with
the selection occurring at runtime
with the <tt>-d32</tt> or <tt>-d64</tt> options.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="testing">Testing the Build</a></h2>
<blockquote>
<p>
When the build is completed, you should see the generated
binaries and associated files in the <tt>j2sdk-image</tt>
directory in the output directory.
The default output directory is
<tt>build/<i>platform</i></tt>,
where <tt><i>platform</i></tt> is one of
<tt><ul>
<li>solaris-sparc</li>
<li>solaris-sparcv9</li>
<li>solaris-i586</li>
<li>solaris-amd64</li>
<li>linux-i586</li>
<li>linux-amd64</li>
<li>windows-i586</li>
<li>windows-amd64</li>
</ul></tt>
In particular, the
<tt>build/<i>platform</i>/j2sdk-image/bin</tt>
directory should contain executables for the
OpenJDK
tools and utilities.
<p>
You can test that the build completed properly by using the build
to run the various demos that you will find in the
<tt>build/<i>platform</i>/j2sdk-image/demo</tt>
directory.
<p>
The provided regression tests can be run with the <tt>jtreg</tt>
utility from
<a href="http://openjdk.java.net/jtreg/">the jtreg site</a>.
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="variables">Environment/Make Variables</a></h2>
<p>
Some of the
environment or make variables (just called <b>variables</b> in this
document) that can impact the build are:
<blockquote>
<dl>
<dt><a name="path"><tt>PATH</tt></a> </dt>
<dd>Typically you want to set the <tt>PATH</tt> to include:
<ul>
<li>The location of the GNU make binary</li>
<li>The location of the JDK 6 <tt>java</tt>
(see <a href="#bootjdk">Bootstrap JDK</a>)</li>
<li>The location of the C/C++ compilers
(see <a href="#compilers"><tt>compilers</tt></a>)</li>
<li>The location or locations for the Unix command utilities
(e.g. <tt>/usr/bin</tt>)</li>
</ul>
</dd>
<dt><a name="arch_data_model"><tt>ARCH_DATA_MODEL</tt></a></dt>
<dd>The <tt>ARCH_DATA_MODEL</tt> variable
is used to specify whether the build is to generate 32-bit or 64-bit
binaries.
The Solaris build supports either 32-bit or 64-bit builds, but
Windows and Linux will support only one, depending on the specific
OS being used.
Normally, setting this variable is only necessary on Solaris.
Set <tt>ARCH_DATA_MODEL</tt> to <tt>32</tt> for generating 32-bit binaries,
or to <tt>64</tt> for generating 64-bit binaries.
</dd>
<dt><a name="ALT_BOOTDIR"><tt>ALT_BOOTDIR</tt></a></dt>
<dd>
The location of the bootstrap JDK installation.
See <a href="#bootjdk">Bootstrap JDK</a> for more information.
You should always install your own local Bootstrap JDK and
always set <tt>ALT_BOOTDIR</tt> explicitly.
</dd>
<dt><a name="ALT_OUTPUTDIR"><tt>ALT_OUTPUTDIR</tt></a> </dt>
<dd>
An override for specifying the (absolute) path of where the
build output is to go.
The default output directory will be build/<i>platform</i>.
</dd>
<dt><a name="ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a> </dt>
<dd>
The location of the C/C++ compiler.
The default varies depending on the platform.
</dd>
<dt><tt><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></tt></dt>
<dd>
The location of the <a href="#cacerts">cacerts</a> file.
The default will refer to
<tt>jdk/src/share/lib/security/cacerts</tt>.
</dd>
<dt><a name="ALT_BINARY_PLUGS_PATH"><tt>ALT_BINARY_PLUGS_PATH</tt></a></dt>
<dd>
The location of the binary plugs installation.
See <a href="#binaryplugs">Binary Plugs</a> for more information.
You should always have a local copy of a
recent Binary Plugs install image
and set this variable to that location.
</dd>
<dt><a name="ALT_CUPS_HEADERS_PATH"><tt>ALT_CUPS_HEADERS_PATH</tt></a> </dt>
<dd>
The location of the CUPS header files.
See <a href="#cups">CUPS information</a> for more information.
If this path does not exist the fallback path is
<tt>/usr/include</tt>.
</dd>
<dt><a name="ALT_FREETYPE_LIB_PATH"><tt>ALT_FREETYPE_LIB_PATH</tt></a></dt>
<dd>
The location of the FreeType shared library.
See <a href="#freetype">FreeType information</a> for details.
</dd>
<dt><a name="ALT_FREETYPE_HEADERS_PATH"><tt>ALT_FREETYPE_HEADERS_PATH</tt></a></dt>
<dd>
The location of the FreeType header files.
See <a href="#freetype">FreeType information</a> for details.
</dd>
<dt><strong>Windows specific:</strong></dt>
<dd>
<dl>
<dt><a name="ALT_MSDEVTOOLS_PATH"><tt>ALT_MSDEVTOOLS_PATH</tt></a> </dt>
<dd>
The location of the Microsoft Visual Studio .NET 2003
tools 'bin' directory.
The default is usually derived from
<a href="#ALT_COMPILER_PATH"><tt>ALT_COMPILER_PATH</tt></a>.
</dd>
<dt><tt><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></tt> </dt>
<dd>
The location of the
<a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
The default will be to try and use the DirectX environment
variable <tt>DXSDK_DIR</tt>,
failing that, look in <tt>C:/DXSDK</tt>.
</dd>
<dt><tt><a name="ALT_MSVCRT_DLL_PATH">ALT_MSVCRT_DLL_PATH</a></tt> </dt>
<dd>
The location of the
<a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>.
</dd>
<dt><tt><a name="ALT_MSVCR71_DLL_PATH">ALT_MSVCR71_DLL_PATH</a></tt> </dt>
<dd>
<strong>i586 only:</strong>
The location of the
<a href="#msvcr71"><tt>MSVCR71.DLL</tt></a>.
</dd>
</dl>
</dd>
</dl>
</blockquote>
<!-- ------------------------------------------------------ -->
<hr noshade="noshade" size="3">
<h2><a name="troubleshooting">Troubleshooting</a></h2>
<blockquote>
<p>
A build can fail for any number of reasons.
Most failures
are a result of trying to build in an environment in which all the
pre-build requirements have not been met.
The first step in
troubleshooting a build failure is to recheck that you have satisfied
all the pre-build requirements for your platform.
Look for the check list of the platform you are building on in the
<a href="#contents">Table of Contents</a>.
<p>
You can validate your build environment by using the <tt>sanity</tt>
target.
Any errors listed
will stop the build from starting, and any warnings may result in
a flawed product build.
We strongly encourage you to evaluate every
sanity check warning and fix it if required, before you proceed
further with your build.
<p>
Some of the more common problems with builds are briefly described
below, with suggestions for remedies.
<ul>
<li>
<b>Slow Builds:</b>
<blockquote>
<p>
If your build machine seems to be overloaded from too many
simultaneous C++ compiles, try setting the <tt>HOTSPOT_BUILD_JOBS</tt>
variable to <tt>1</tt> (if you're using a multiple CPU
machine, setting it to more than the the number of CPUs is probably
not a good idea).
<p>
Creating the javadocs can be very slow, if you are running
javadoc, consider skipping that step.
<p>
Faster hardware and more RAM always helps too.
The VM build tends to be CPU intensive (many C++ compiles),
and the rest of the JDK will often be disk intensive.
<p>
Faster compiles are possible using a tool called
<a href="http://ccache.samba.org/">ccache</a>.
</blockquote>
</li>
<li>
<b>File time issues:</b>
<blockquote>
<p>
If you see warnings that refer to file time stamps, e.g.
<blockquote>
<i>Warning message:</i><tt> File `xxx' has modification time in
the future.</tt>
<br>
<i>Warning message:</i> <tt> Clock skew detected. Your build may
be incomplete.</tt>
</blockquote>
<p>
These warnings can occur when the clock on the build machine is out of
sync with the timestamps on the source files. Other errors, apparently
unrelated but in fact caused by the clock skew, can occur along with
the clock skew warnings. These secondary errors may tend to obscure the
fact that the true root cause of the problem is an out-of-sync clock.
For example, an out-of-sync clock has been known to cause an old
version of javac to be used to compile some files, resulting in errors
when the pre-1.4 compiler ran across the new <tt>assert</tt> keyword
in the 1.4 source code.
<p>
If you see these warnings, reset the clock on the build
machine, run "<tt><i>gmake</i> clobber</tt>" or delete the directory
containing the build output, and restart the build from the beginning.
</blockquote>
</li>
<li>
<b>Error message: <tt>Trouble writing out table to disk</tt></b>
<blockquote>
<p>
Increase the amount of swap space on your build machine.
</blockquote>
</li>
<li>
<b>Error Message: <tt>libstdc++ not found:</tt></b>
<blockquote>
This is caused by a missing libstdc++.a library.
This is installed as part of a specific package
(e.g. libstdc++.so.devel.386).
By default some 64bit Linux versions (e.g. Fedora)
only install the 64bit version of the libstdc++ package.
Various parts of the JDK build require a static
link of the C++ runtime libraries to allow for maximum
portability of the built images.
</blockquote>
</li>
<li>
<b>Error Message: <tt>cannot restore segment prot after reloc</tt></b>
<blockquote>
This is probably an issue with SELinux (See
<a href="http://en.wikipedia.org/wiki/SELinux">http://en.wikipedia.org/wiki/SELinux</a>).
Parts of the VM is built without the <tt>-fPIC</tt> for
performance reasons.
<p>
To completely disable SELinux:
<ol><tt>
<li>$ su root</li>
<li># system-config-securitylevel</li>
<li>In the window that appears, select the SELinux tab</li>
<li>Disable SELinux</li>
</ol></tt>
<p>
Alternatively, instead of completely disabling it you could
disable just this one check.
<ol><tt>
<li>Select System->Administration->SELinux Management</li>
<li>In the SELinux Management Tool which appears,
select "Boolean" from the menu on the left</li>
<li>Expand the "Memory Protection" group</li>
<li>Check the first item, labeled
"Allow all unconfined executables to use libraries requiring text relocation ..."</li>
</ol></tt>
</blockquote>
</li>
</ul>
</blockquote>
<hr noshade="noshade" size="3">
DO NOT TRANSLATE OR LOCALIZE.
%% This notice is provided with respect to Thai dictionary for text breaking, which may be included with this software:
--- begin of LICENSE file ---
Copyright (C) 1982 The Royal Institute, Thai Royal Government.
Copyright (C) 1998 National Electronics and Computer Technology Center,
National Science and Technology Development Agency,
Ministry of Science Technology and Environment,
Thai Royal Government.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software:
Copyright (c) 2000-2005 INRIA, France Telecom
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to zlib 1.1.3, which may be included with this software:
Acknowledgments:
The deflate format used by zlib was defined by Phil Katz. The deflate
and zlib specifications were written by L. Peter Deutsch. Thanks to all the
people who reported problems and suggested various improvements in zlib;
they are too numerous to cite here.
Copyright notice:
(C) 1995-1998 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not*
receiving lengthy legal documents to sign. The sources are provided
for free but without warranty of any kind. The library has been
entirely written by Jean-loup Gailly and Mark Adler; it does not
include third-party code.
If you redistribute modified sources, we would appreciate that you include
in the file ChangeLog history information documenting your changes.
%% This notice is provided with respect to W3C (DTD for XML Signatures), which may be included with this software:
W3C® SOFTWARE NOTICE AND LICENSE
Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification,  for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
3.Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
____________________________________
This formulation of W3C's notice and license became active on August 14 1998 so as to improve compatibility with GPL. This version ensures that W3C software licensing terms are no more restrictive than GPL and consequently W3C software may be distributed in GPL packages. See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
 
%% This notice is provided with respect to jscheme.jar, which may be included with this software:
Software License Agreement
Copyright © 1998-2002 by Peter Norvig.
Permission is granted to anyone to use this software, in source or object code form, on any computer system, and to modify, compile, decompile, run, and redistribute it to anyone else, subject to the following restrictions:
1.The author makes no warranty of any kind, either expressed or implied, about the suitability of this software for any purpose.
2.The author accepts no liability of any kind for damages or other consequences of the use of this software, even if they arise from defects in the software.
3.The origin of this software must not be misrepresented, either by explicit claim or by omission.
4.Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Altered versions may be distributed in packages under other licenses (such as the GNU license).
If you find this software useful, it would be nice if you let me (peter@norvig.com) know about it, and nicer still if you send me modifications that you are willing to share. However, you are not required to do so.
%% This notice is provided with respect to PC/SC Lite for Suse Linux v. 1.1.1, which may be included with this software:
Copyright (c) 1999-2004 David Corcoran
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
Changes to this license can be made only by the copyright author with
explicit written consent.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to IAIK PKCS Wrapper, which may be included with this software:
Copyright (c) 2002 Graz University of Technology. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
"This product includes software developed by IAIK of Graz University of Technology."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
4. The names "Graz University of Technology" and "IAIK of Graz University of Technology" must not be used to endorse or promote products derived from this software without prior written permission.
5. Products derived from this software may not be called "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior written permission of Graz University of Technology.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to Document Object Model (DOM) v. Level 3, which may be included with this software:
W3Cýý SOFTWARE NOTICE AND LICENSE
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
This work (and included software, documentation such as READMEs, or other related items) is being
provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you
(the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this software and its documentation, with or without modification, for
any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies
of the software and documentation or portions thereof, including modifications:
1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the
W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body
of any redistributed or derivative code.
3.Notice of any changes or modifications to the files, including the date changes were made. (We
recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKENO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THEUSE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the
software without specific, written prior permission. Title to copyright in this software and any associated
documentation will at all times remain with copyright holders.
____________________________________
This formulation of W3C's notice and license became active on December 31 2002. This version removes the
copyright ownership notice such that this license can be used with materials other than those owned by the
W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the
license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous
version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and
OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions
about using materials from our site, including specific terms and conditions for packages like libwww, Amaya,
and Jigsaw. Other questions about this notice can be directed to
site-policy@w3.org.
%% This notice is provided with respect to Xalan, Xerces, which may be included with this software:
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. *
* 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. *
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ==================================================================== *
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999, International
* Business Machines, Inc., http://www.ibm.com. For more
* information on the Apache Software Foundation, please see
*
%% This notice is provided with respect to JavaScript, which may be included with this software:
AMENDMENTS
The Netscape Public License Version 1.1 ("NPL") consists of the Mozilla Public License Version 1.1 with the following Amendments, including Exhibit A-Netscape Public License.  Files identified with "Exhibit A-Netscape Public License" are governed by the Netscape Public License Version 1.1.
Additional Terms applicable to the Netscape Public License.
I. Effect.
These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
II. ''Netscape's Branded Code'' means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
III. Netscape and logo.
This License does not grant any rights to use the trademarks "Netscape'', the "Netscape N and horizon'' logo or the "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", "Smart Browsing" even if such marks are included in the Original Code or Modifications.
IV. Inability to Comply Due to Contractual Obligation.
Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in Source Code form, even if such code would otherwise be considered ''Modifications'' under this License.
V. Use of Modifications and Covered Code by Initial Developer.
V.1. In General.
The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3.
V.2. Other Products.
Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
V.3. Alternative Licensing.
Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such Netscape Branded Code becoming subject to the terms of this License, and may license such Netscape Branded Code on different terms from those contained in this License.
 
VI. Litigation.
Notwithstanding the limitations of Section 11 above, the provisions regarding litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
EXHIBIT A-Netscape Public License.
 
''The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released March 31, 1998.
The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All Rights Reserved.
Contributor(s): ______________________________________.
 
Alternatively, the contents of this file may be used under the terms of the _____ license (the  "[___] License"), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the NPL or the [___] License."
MOZILLA PUBLIC LICENSE
Version 1.1
1. Definitions.
1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
1.5. ''Executable'' means Covered Code in any form other than Source Code.
1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
1.8. ''License'' means this document.
1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or previous Modifications.
 
1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation,  method, process, and apparatus claims, in any patent Licensable by grantor.
1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
1.12. "You'' (or "Your")  means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
2. Source Code License.
2.1. The Initial Developer Grant.
The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
(a)  under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
(b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
 
(c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
(d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code;  or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
 
2.2. Contributor Grant.
Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
 
(a)  under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
(b) under Patent Claims infringed by the making, using, or selling of  Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of  Modifications made by that Contributor with its Contributor Version (or portions of such combination).
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
(d)    Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2)  separate from the Contributor Version;  3)  for infringements caused by: i) third party modifications of Contributor Version or ii)  the combination of Modifications made by that Contributor with other software  (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
3. Distribution Obligations.
3.1. Application of License.
The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
3.2. Availability of Source Code.
Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
3.3. Description of Modifications.
You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
3.4. Intellectual Property Matters
(a) Third Party Claims.
If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
(b) Contributor APIs.
If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
 
          (c)    Representations.
Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
3.5. Required Notices.
You must duplicate the notice in Exhibit A in each file of the Source Code.  If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice.  If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A.  You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code.  You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
3.6. Distribution of Executable Versions.
You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
3.7. Larger Works.
You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
4. Inability to Comply Due to Statute or Regulation.
If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.
5. Application of this License.
This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
6. Versions of the License.
6.1. New Versions.
Netscape Communications Corporation (''Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
6.2. Effect of New Versions.
Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
6.3. Derivative Works.
If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
8. TERMINATION.
8.1.  This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
8.2.  If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant")  alleging that:
(a)  such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i)  agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant.  If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
(b)  any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
8.3.  If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
8.4.  In the event of termination under Sections 8.1 or 8.2 above,  all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
10. U.S. GOVERNMENT END USERS.
The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
11. MISCELLANEOUS.
This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
12. RESPONSIBILITY FOR CLAIMS.
As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
13. MULTIPLE-LICENSED CODE.
Initial Developer may designate portions of the Covered Code as "Multiple-Licensed".  "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
EXHIBIT A -Mozilla Public License.
``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY KIND, either express or implied. See the License for the specific language governing rights and
limitations under the License.
The Original Code is ______________________________________.
The Initial Developer of the Original Code is ________________________. Portions created by
 ______________________ are Copyright (C) ______ _______________________. All Rights
Reserved.
Contributor(s): ______________________________________.
Alternatively, the contents of this file may be used under the terms of the _____ license (the  "[___] License"), in which case the provisions of [______] License are applicable  instead of those above.  If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting  the provisions above and replace  them with the notice and other provisions required by the [___] License.  If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
%% This notice is provided with respect to Mesa 3-D graphics library v. 5, which may be included with this software:
Copyright (c) 2007 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Materials.
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
%% This notice is provided with respect to Byte Code Engineering Library (BCEL), which may be included with this software:
Apache Software License
/*
==================================================================== * The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. Allrights
* reserved.
*
* Redistribution and use in source and binary forms, withor without
* modification, are permitted provided that the followingconditions
* are met:
*
* 1. Redistributions of source code must retain the abovecopyright
* notice, this list of conditions and the followingdisclaimer.
*
* 2. Redistributions in binary form must reproduce theabove copyright
* notice, this list of conditions and the followingdisclaimer in
* the documentation and/or other materials providedwith the
* distribution.
*
* 3. The end-user documentation included with theredistribution,
* if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation
(http://www.apache.org/)."
* Alternately, this acknowledgment may appear in thesoftware itself,
* if and wherever such third-party acknowledgmentsnormally appear.
*
* 4. The names "Apache" and "Apache Software Foundation"and
* "Apache BCEL" must not be used to endorse or promoteproducts
* derived from this software without prior writtenpermission. For
* written permission, please contact apache@apache.org. *
* 5. Products derived from this software may not be called"Apache",
* "Apache BCEL", nor may "Apache" appear in their name,without
* prior written permission of the Apache SoftwareFoundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED ORIMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWAREFOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVERCAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
* SUCH DAMAGE.
*
==================================================================== *
* This software consists of voluntary contributions madeby many
* individuals on behalf of the Apache Software
Foundation. For more
* information on the Apache Software Foundation, pleasesee
* .
*/
%% This notice is provided with respect to Regexp, Regular Expression Package, which may be included with this software:
The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights
reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by the
Apache Software Foundation (http://www.apache.org/)."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names "Apache" and "Apache Software Foundation" and
"Apache Turbine" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache",
"Apache Turbine", nor may "Apache" appear in their name, without
prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Software Foundation. For more
information on the Apache Software Foundation, please see
http://www.apache.org.
%% This notice is provided with respect to CUP Parser Generator for Java, which may be included with this software:
CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided thatthe above copyright notice appear in all copies and that both the copyrightnotice and this permission notice and warranty disclaimer appear in
supporting documentation, and that the names of the authors or their employersnot be used in advertising or publicity pertaining to distribution of
the software without specific, written prior permission.
The authors and their employers disclaim all warranties with regard to thissoftware, including all implied warranties of merchantability and
fitness. In no event shall the authors or their employers be liable for anyspecial, indirect or consequential damages or any damages whatsoever
resulting from loss of use, data or profits, whether in an action of contract,negligence or other tortious action, arising out of or in connection withthe use or performance of this software.
%% This notice is provided with respect to SAX v. 2.0.1, which may be included with this software:
Copyright Status
SAX is free!
In fact, it's not possible to own a license to SAX, since it's been placed in the public
domain.
No Warranty
Because SAX is released to the public domain, there is no warranty for the design or for
the software implementation, to the extent permitted by applicable law. Except when
otherwise stated in writing the copyright holders and/or other parties provide SAX "as is"
without warranty of any kind, either expressed or implied, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose. The entire risk as
to the quality and performance of SAX is with you. Should SAX prove defective, you
assume the cost of all necessary servicing, repair or correction.
In no event unless required by applicable law or agreed to in writing will any copyright
holder, or any other party who may modify and/or redistribute SAX, be liable to you for
damages, including any general, special, incidental or consequential damages arising out of
the use or inability to use SAX (including but not limited to loss of data or data being
rendered inaccurate or losses sustained by you or third parties or a failure of the SAX to
operate with any other programs), even if such holder or other party has been advised of
the possibility of such damages.
Copyright Disclaimers
This page includes statements to that effect by David Megginson, who would have been
able to claim copyright for the original work.
SAX 1.0
Version 1.0 of the Simple API for XML (SAX), created collectively by the membership of
the XML-DEV mailing list, is hereby released into the public domain.
No one owns SAX: you may use it freely in both commercial and non-commercial
applications, bundle it with your software distribution, include it on a CD-ROM, list the
source code in a book, mirror the documentation at your own web site, or use it in any
other way you see fit.
David Megginson, sax@megginson.com
1998-05-11
SAX 2.0
I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release
all of the SAX 2.0 source code, compiled code, and documentation contained in this
distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of
fitness for any purpose.
David Megginson, david@megginson.com
2000-05-05
%% This notice is provided with respect to Cryptix, which may be included with this software:
Cryptix General License
Copyright © 1995-2003 The Cryptix Foundation Limited. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions aremet:
1.Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BELIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to X Window System, which may be included with this software:
Copyright The Open Group
Permission to use, copy, modify, distribute, and sell this software and itsdocumentation for any purpose is hereby granted without fee, provided that theabove copyright notice appear in all copies and that both that copyright noticeand this permission notice appear in supporting documentation.
The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUPBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OFCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group.
Portions also covered by other licenses as noted in the above URL.
%% This notice is provided with respect to Retroweaver, which may be included with this software:
Copyright (c) February 2004, Toby Reyelts
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Toby Reyelts nor the names of his contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to stripper, which may be included with this software:
Stripper : debug information stripper
Copyright (c) 2003 Kohsuke Kawaguchi
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to libpng official PNG reference library, which may be included with this software:
This copy of the libpng notices is provided for your convenience. In case ofany discrepancy between this copy and the notices in the file png.h that isincluded in the libpng distribution, the latter shall prevail.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately followingthis sentence.
libpng version 1.2.6, December 3, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5with the following individual added to the list of Contributing Authors
Cosmin Truta
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, areCopyright (c) 2000-2002 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6with the following individuals added to the list of Contributing Authors
Simon-Pierre Cadieux
Eric S. Raymond
Gilles Vollant
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, areCopyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-0.96,with the following individuals added to the list of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996, 1997 Andreas Dilger
Distributed according to the same disclaimer and license as libpng-0.88,with the following individuals added to the list of Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing Authorsand Group 42, Inc. disclaim all warranties, expressed or implied,
including, without limitation, the warranties of merchantability and offitness for any purpose. The Contributing Authors and Group 42, Inc.
assume no liability for direct, indirect, incidental, special, exemplary,or consequential damages, which may result from the use of the PNG
Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute thissource code, or portions hereof, for any purpose, without fee, subjectto the following restrictions:
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, withoutfee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use thissource code in a product, acknowledgment is not required but would be
appreciated.
A "png_get_copyright" function is available, for convenient use in "about"boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is acertification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
December 3, 2004
%% This notice is provided with respect to Libungif - An uncompressed GIF library, which may be included with this software:
The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
%% This notice is provided with respect to XML Resolver library, Xalan J2, and StAX API, which may be included with this software:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
%% Some Portions licensed from IBM are available at:
http://www.ibm.com/software/globalization/icu/
%% This notice is provided with respect to ICU4J, ICU 1.8.1 and later, which may be included with this software:
ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Cop
yright (c)
1995-2003 International Business Machines Corporation and others All rightsreserved. Permission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the "Software"), todeal in the Software without restriction, including without limitation therights to use, copy, modify, merge, publish, distribute, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,provided that the above copyright notice(s) and this permission notice appear inall copies of the Software and that both the above copyright notice(s) and thispermission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOTLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSEAND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHTHOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY C
LAIM, OR ANYSPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTINGFROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCEOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE ORPERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of acopyright holder shall not be used in advertising or otherwise to promote thesale, use or other dealings in this Software without prior written authorizationof the copyright holder.
%% This notice is provided with respect to Jing, which may be included with this software:
Jing Copying Conditions
Copyright (c) 2001-2003 Thai Open Source Software Center Ltd
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation and/orother materials provided with the distribution.
* Neither the name of the Thai Open Source Software Center Ltd nor the namesof its contributors may be used to endorse or promote products derived from thissoftware without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% This notice is provided with respect to RELAX NG Object Model/Parser, which may be included with this software:
The MIT License
Copyright (c)
Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS ORCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHERIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
%% This notice is provided with respect to XFree86-VidMode Extension, which may be included with this software:
Version 1.1 of XFree86 ProjectLicence.
Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicence, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
1. Redistributions of source code must retain the above copyright notice,this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution, and in thesame place and form as other copyright, license and disclaimer information. 3. The end-user documentation included with the redistribution, if any,must include the following acknowledgment: "This product includes softwaredeveloped by The XFree86 Project, Inc (http://www.xfree86.org/) and itscontributors", in the same place and form as other third-party acknowledgments.Alternately, this acknowledgment may appear in the software itself, in the sameform and location as other such third-party acknowledgments.
4. Except as contained in this notice, the name of The XFree86 Project,Inc shall not be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorization from TheXFree86 Project, Inc.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY ANDFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE XFREE86PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISINGIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGE.
%% This notice is provided with respect to XML Security, which may be included with this software:
The Apache Software License,
Version 1.1
PDF
Copyright (C) 2002 The Apache SoftwareFoundation.
All rights reserved. Redistribution anduse in
source and binary forms, with or withoutmodifica-
tion, are permitted provided that thefollowing
conditions are met: 1. Redistributions ofsource
code must retain the above copyrightnotice, this
list of conditions and the followingdisclaimer.
2. Redistributions in binary form mustreproduce
the above copyright notice, this list of conditions and the following disclaimerin the
documentation and/or other materialsprovided with
the distribution. 3. The end-userdocumentation
included with the redistribution, if any,must
include the following acknowledgment:"This
product includes software developed bythe Apache
Software Foundation
(http://www.apache.org/)."
Alternately, this acknowledgment mayappear in the
software itself, if and wherever suchthird-party
acknowledgments normally appear. 4. Thenames
"Apache Forrest" and "Apache SoftwareFoundation"
must not be used to endorse or promoteproducts
derived from this software without priorwritten
permission. For written permission,please contact
apache@apache.org. 5. Products derivedfrom this
software may not be called "Apache", normay
"Apache" appear in their name, withoutprior
written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED``AS IS''
AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEIMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NOEVENT
SHALL THE APACHE SOFTWARE FOUNDATION ORITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, ORCONSEQUENTIAL
DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANYTHEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
OR TORT (INCLUDING NEGLIGENCE OROTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
SUCH DAMAGE. This software consists ofvoluntary
contributions made by many individuals onbehalf
of the Apache Software Foundation. Formore
information on the Apache SoftwareFoundation,
please see .
%% This notice is provided with respect to Independent JPEG Group's software (libjpeg), which may be included with this software:
In plain English:
1. We don't promise that this software works. (But if you find any bugs,
please let us know!)
2. You can use this software for whatever you want. You don't have to pay us.
3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code.
In legalese:
The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy.
This software is copyright (C) 1991-1998, Thomas G. Lane.
All Rights Reserved except as specified below.
Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:
(1) If any part of the source code for this software is distributed, then this
README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.
(2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group".
(3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.
These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.
Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software".
We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.
ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do.
The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable.
It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code.
The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders.
We are required to state that
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
%% This notice is provided with respect to X Resize and Rotate (Xrandr) Extension, which may be included with this software:
2. XFree86 License
XFree86 code without an explicit copyright is covered by the following
copyright/license:
Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86
PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the XFree86 Project shall not be
used in advertising or otherwise to promote the sale, use or other dealings in
this Software without prior written authorization from the XFree86 Project.
%% This notice is provided with respect to fontconfig, which may be included with this software:
Id: COPYING,v 1.3 2003/04/04 20:17:40 keithp Exp $
Copyright 2001,2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of Keith Packard not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. Keith Packard makes no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
%% This notice is provided with respect to XFree86, which may be included with this software:
Copyright (C) 1994-2002 The XFree86 Project, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated
documentation files (the "Software"), to deal in the Software without
restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the XFree86 Project shall not be
used in advertising or otherwise
to promote the sale, use or other dealings in this Software without prior
written authorization from the XFree86
Project.
%% This notice is provided with respect to Fast Infoset, which may be included with this software:
* Fast Infoset ver. 0.1 software ("Software")
*
* Copyright, 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
*
* Software is licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may
* obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations.
*
* Sun supports and benefits from the global community of open source
* developers, and thanks the community for its important contributions and
* open standards-based technology, which Sun has adopted into many of its
* products.
*
* Please note that portions of Software may be provided with notices and
* open source licenses from such communities and third parties that govern the
* use of those portions, and any licenses granted hereunder do not alter any
* rights and obligations you may have under such open source licenses,
* however, the disclaimer of warranty and limitation of liability provisions
* in this License will apply to all Software in this distribution.
*
* You acknowledge that the Software is not designed, licensed or intended
* for use in the design, construction, operation or maintenance of any nuclear
* facility.
*
* Apache License
* Version 2.0, January 2004
* http://www.apache.org/licenses/
*
*/
/*
* ====================================================================
*
* This code is subject to the freebxml License, Version 1.1
*
* Copyright (c) 2001 - 2005 freebxml.org. All rights reserved.
*
* $Header: /cvs/fi/FastInfoset/src/com/sun/xml/internal/fastinfoset/AbstractResourceBundle.java,v 1.2
*  ====================================================================
*/
%% This notice is provided with respect to Kerberos, which may be included with this software:
/*
* Copyright (C) 1998 by the FundsXpress, INC.
*
* All rights reserved.
*
* Export of this software from the United States of America may require
* a specific license from the United States Government.  It is the
* responsibility of any person or organization contemplating export to
* obtain such a license before exporting.
*
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
* distribute this software and its documentation for any purpose and
* without fee is hereby granted, provided that the above copyright
* notice appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation, and that
* the name of FundsXpress. not be used in advertising or publicity pertaining
* to distribution of the software without specific, written prior
* permission. FundsXpress makes no representations about the suitability of
* this software for any purpose. It is provided "as is" without express
* or implied warranty.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
%% This notice is provided with respect to Unicode's CLDR data repository, which may be included with this software:
Unicode Copyright
For the general privacy policy governing access to this site, see the
Unicode Privacy Policy. For trademark usage, see the the Unicode Consortium
Trademarks and Logo Policy.
Notice to End User: Terms of Use
Carefully read the following legal agreement ("Agreement"). Use or copying
of the software and/or codes provided with this agreement (The "Software")
constitutes your acceptance of these terms
1. Unicode Copyright.
1. Copyright © 1991-2005 Unicode, Inc. All rights reserved.
2. Certain documents and files on this website contain a legend
indicating that "Modification is permitted." Any person is hereby authorized,
without fee, to modify such documents and files to create derivative works
conforming to the Unicode® Standard, subject to Terms and Conditions herein.
3. Any person is hereby authorized, without fee, to view, use,
reproduce, and distribute all documents and files solely for informational
purposes in the creation of products supporting the Unicode Standard, subject to
the Terms and Conditions herein.
4. Further specifications of rights and restrictions pertaining to
the use of the particular set of data files known as the "Unicode Character
Database" can be found in Exhibit 1.
5. Further specifications of rights and restrictions pertaining to
the use of the particular set of files that constitute the online edition of The
Unicode Standard, Version 4.0, may be found in V4.0 online edition.
6. No license is granted to "mirror" the Unicode website where a
fee is charged for access to the "mirror" site.
7. Modification is not permitted with respect to this document. All
copies of this document must be verbatim.
2. Restricted Rights Legend. Any technical data or software which is
licensed to the United States of America, its agencies and/or instrumentalities
under this Agreement is commercial technical data or commercial computer
software developed exclusively at private expense as defined in FAR 2.101, or
DFARS 252.227-7014 (June 1995), as applicable. For technical data, use,
duplication, or disclosure by the Government is subject to restrictions as set
forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and
this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202,
as applicable, use, duplication or disclosure by the Government is subject to
the restrictions set forth in this Agreement.
3. Warranties and Disclaimers.
1. This publication and/or website may include technical or
typographical errors or other inaccuracies . Changes are periodically added to
the information herein; these changes will be incorporated in new editions of
the publication and/or website. Unicode may make improvements and/or changes in
the product(s) and/or program(s) described in this publication and/or website at
any time.
2. If this file has been purchased on magnetic or optical media
from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange
of the defective media within ninety (90) days of original purchase.
3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR
SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS,
IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE
AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS
PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED
TO THIS PUBLICATION OR THE UNICODE WEBSITE.
4. Waiver of Damages. In no event shall Unicode or its licensors be
liable for any special, incidental, indirect or consequential damages of any
kind, or any damages whatsoever, whether or not Unicode was advised of the
possibility of the damage, including, without limitation, those resulting from
the following: loss of use, data or profits, in connection with the use,
modification or distribution of this information or its derivatives.
5. Trademarks.
1. Unicode and the Unicode logo are registered trademarks of
Unicode, Inc.
2. This site contains product names and corporate names of other
companies. All product names and company names and logos mentioned herein are
the trademarks or registered trademarks of their respective owners. Other
products and corporate names mentioned herein which are trademarks of a third
party are used only for explanation and for the owners' benefit and with no
intent to infringe.
3. Use of third party products or information referred to herein is
at the user's risk.
6. Miscellaneous.
1. Jurisdiction and Venue. This server is operated from a location
in the State of California, United States of America. Unicode makes no
representation that the materials are appropriate for use in other locations. If
you access this server from other locations, you are responsible for compliance
with local laws. This Agreement, all use of this site and any claims and damages
resulting from use of this site are governed solely by the laws of the State of
California without regard to any principles which would apply the laws of a
different jurisdiction. The user agrees that any disputes regarding this site
shall be resolved solely in the courts located in Santa Clara County,
California. The user agrees said courts have personal jurisdiction and agree to
waive any right to transfer the dispute to any other forum.
2. Modification by Unicode Unicode shall have the right to modify
this Agreement at any time by posting it to this site. The user may not assign
any part of this Agreement without Unicode's prior written consent.
3. Taxes. The user agrees to pay any taxes arising from access to
this website or use of the information herein, except for those based on
Unicode's net income.
4. Severability. If any provision of this Agreement is declared
invalid or unenforceable, the remaining provisions of this Agreement shall
remain in effect.
5. Entire Agreement. This Agreement constitutes the entire
agreement between the parties.
EXHIBIT 1
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
Unicode Data Files include all data files under the directories
http://www.unicode.org/Public/ and http://www.unicode.org/reports/. Unicode
Software includes any source code under the directories
http://www.unicode.org/Public/ and http://www.unicode.org/reports/.
NOTICE TO USER: Carefully read the following legal agreement. BY
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES
("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND
AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU
DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES
OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE
Copyright Ã?Â,Ã,© 1991-2004 Unicode, Inc. All rights reserved. Distributed under
the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining a copy
of the Unicode data files and associated documentation (the "Data Files") or
Unicode software and associated documentation (the "Software") to deal in the
Data Files or Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files or
Software are furnished to do so, provided that (a) the above copyright notice(s)
and this permission notice appear with all copies of the Data Files or Software,
(b) both the above copyright notice(s) and this permission notice appear in
associated documentation, and (c) there is clear notice in each modified Data
File or in the Software as well as in the documentation associated with the Data
File(s) or Software that the data or software has been modified.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not
be used in advertising or otherwise to promote the sale, use or other dealings
in these Data Files or Software without prior written authorization of the
copyright holder.
Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be
registered in some jurisdictions. All other trademarks and registered trademarks
mentioned herein are the property of their respective owners.
%% This notice is provided with respect to RSA PKCS#11 Header Files & Specification, which may be included with this software:
/*
* Copyright (C) 1998 by the FundsXpress, INC.
*
* All rights reserved.
*
* Export of this software from the United States of America may require
* a specific license from the United States Government.  It is the
* responsibility of any person or organization contemplating export to
* obtain such a license before exporting.
*
* WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
* distribute this software and its documentation for any purpose and
* without fee is hereby granted, provided that the above copyright
* notice appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation, and that
* the name of FundsXpress. not be used in advertising or publicity pertaining
* to distribution of the software without specific, written prior
* permission.  FundsXpress makes no representations about the suitability of
* this software for any purpose.  It is provided "as is" without express
* or implied warranty.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
%% This notice is provided with respect to certain files/code which may included in the implementation of AWT within the software:
******************************************************
BEGIN  src/solaris/native/sun/awt/HPkeysym.h
Copyright 1987, 1998  The Open Group
All Rights Reserved.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Hewlett Packard
or Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  Hewlett-Packard shall not be liable for errors
contained herein or direct, indirect, special, incidental or
consequential damages in connection with the furnishing,
performance, or use of this material.
END  src/solaris/native/sun/awt/HPkeysym.h
******************************************************
******************************************************
BEGIN src/solaris/native/sun/awt/Xrandr.h
/*
 * $XFree86: xc/lib/Xrandr/Xrandr.h,v 1.9 2002/09/29 23:39:44 keithp Exp $
 *
 * Copyright © 2000 Compaq Computer Corporation, Inc.
 * Copyright © 2002 Hewlett-Packard Company, Inc.
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the name of Compaq not be used in advertising or
 * publicity pertaining to distribution of the software without specific,
 * written prior permission.  HP makes no representations about the
 * suitability of this software for any purpose.  It is provided "as is"
 * without express or implied warranty.
 *
 * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 * Author:  Jim Gettys, HP Labs, HP.
 */
END src/solaris/native/sun/awt/Xrandr.h
******************************************************
BEGIN src/solaris/native/sun/awt/extutil.h
/*
 * $Xorg: extutil.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $
 *
Copyright 1989, 1998  The Open Group
All Rights Reserved.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
 *
 * Author:  Jim Fulton, MIT The Open Group
 *
 *                     Xlib Extension-Writing Utilities
 *
 * This package contains utilities for writing the client API for various
 * protocol extensions.  THESE INTERFACES ARE NOT PART OF THE X STANDARD AND
 * ARE SUBJECT TO CHANGE!
 */
/* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */
END src/solaris/native/sun/awt/extutil.h
******************************************************
BEGIN   src/solaris/native/sun/awt/fontconfig.h
/*
 * $RCSId: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.30 2002/09/26 00:17:27
keithp Exp $
 *
 * Copyright © 2001 Keith Packard
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the name of Keith Packard not be used in
 * advertising or publicity pertaining to distribution of the software without
 * specific, written prior permission.  Keith Packard makes no
 * representations about the suitability of this software for any purpose.  It
 * is provided "as is" without express or implied warranty.
 *
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 * PERFORMANCE OF THIS SOFTWARE.
END   src/solaris/native/sun/awt/fontconfig.h
******************************************************
BEGIN src/solaris/native/sun/awt/list.c
AND  src/solaris/native/sun/awt/list.h
AND src/solaris/native/sun/awt/multiVis.c
AND  src/solaris/native/sun/awt/multiVis.h
AND  src/solaris/native/sun/awt/wsutils.h
Copyright (c) 1994 Hewlett-Packard Co.
Copyright (c) 1996  X Consortium
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from the X Consortium.
END src/solaris/native/sun/awt/list.c
AND  src/solaris/native/sun/awt/list.h
AND src/solaris/native/sun/awt/multiVis.c
AND  src/solaris/native/sun/awt/multiVis.h
AND  src/solaris/native/sun/awt/wsutils.h
*****************************************************************
BEGIN src/solaris/native/sun/awt/randr.h
 *
 * Copyright © 2000, Compaq Computer Corporation,
 * Copyright © 2002, Hewlett Packard, Inc.
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the name of Compaq or HP not be used in advertising
 * or publicity pertaining to distribution of the software without specific,
 * written prior permission.  HP makes no representations about the
 * suitability of this software for any purpose.  It is provided "as is"
 * without express or implied warranty.
 *
 * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
END src/solaris/native/sun/awt/randr.h
*****************************************************
BEGIN src/solaris/native/sun/java2d/opengl/J2D_GL/glx.h
 * Mesa 3-D graphics library
 * Version:  4.1
 *
 * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
END src/solaris/native/sun/java2d/opengl/J2D_GL/glx.h
#
# Copyright 1995-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
#
# Common variables used by all the Java makefiles. This file should
# not contain rules.
#
# Define absolute paths to TOPDIRs
ABS_CONTROL_TOPDIR:=$(call OptFullPath,"$(CONTROL_TOPDIR)")
ABS_LANGTOOLS_TOPDIR:=$(call OptFullPath,"$(LANGTOOLS_TOPDIR)")
ABS_CORBA_TOPDIR:=$(call OptFullPath,"$(CORBA_TOPDIR)")
ABS_JAXP_TOPDIR:=$(call OptFullPath,"$(JAXP_TOPDIR)")
ABS_JAXWS_TOPDIR:=$(call OptFullPath,"$(JAXWS_TOPDIR)")
ABS_JDK_TOPDIR:=$(call OptFullPath,"$(JDK_TOPDIR)")
ABS_HOTSPOT_TOPDIR:=$(call OptFullPath,"$(HOTSPOT_TOPDIR)")
ABS_INSTALL_TOPDIR:=$(call OptFullPath,"$(INSTALL_TOPDIR)")
ABS_SPONSORS_TOPDIR:=$(call OptFullPath,"$(SPONSORS_TOPDIR)")
ABS_DEPLOY_TOPDIR:=$(call OptFullPath,"$(DEPLOY_TOPDIR)")
# Macro to return true or false if a file exists and is readable
define MkExists
$(shell if [ -r $1 ]; then $(ECHO) true; else $(ECHO) false; fi)
endef
HOTSPOT_SRC_AVAILABLE := $(call MkExists,$(HOTSPOT_TOPDIR)/make/Makefile)
ifndef BUILD_HOTSPOT
ifdef ALT_HOTSPOT_IMPORT_PATH
BUILD_HOTSPOT := false
else
BUILD_HOTSPOT := $(HOTSPOT_SRC_AVAILABLE)
endif
endif
LANGTOOLS_SRC_AVAILABLE := $(call MkExists,$(LANGTOOLS_TOPDIR)/make/Makefile)
ifndef BUILD_LANGTOOLS
ifdef ALT_LANGTOOLS_DIST
BUILD_LANGTOOLS := false
else
BUILD_LANGTOOLS := $(LANGTOOLS_SRC_AVAILABLE)
endif
endif
CORBA_SRC_AVAILABLE := $(call MkExists,$(CORBA_TOPDIR)/make/Makefile)
ifndef BUILD_CORBA
ifdef ALT_CORBA_DIST
BUILD_CORBA := false
else
BUILD_CORBA := $(CORBA_SRC_AVAILABLE)
endif
endif
JAXP_SRC_AVAILABLE := $(call MkExists,$(JAXP_TOPDIR)/make/Makefile)
ifndef BUILD_JAXP
ifdef ALT_JAXP_DIST
BUILD_JAXP := false
else
BUILD_JAXP := $(JAXP_SRC_AVAILABLE)
endif
endif
JAXWS_SRC_AVAILABLE := $(call MkExists,$(JAXWS_TOPDIR)/make/Makefile)
ifndef BUILD_JAXWS
ifdef ALT_JAXWS_DIST
BUILD_JAXWS := false
else
BUILD_JAXWS := $(JAXWS_SRC_AVAILABLE)
endif
endif
JDK_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/make/Makefile)
ifndef BUILD_JDK
BUILD_JDK := $(JDK_SRC_AVAILABLE)
endif
ifeq ($(JDK_SRC_AVAILABLE),true)
JDK_CLOSED_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/src/closed)
ifndef OPENJDK
ifeq ($(JDK_CLOSED_SRC_AVAILABLE),false)
OPENJDK = true
endif
endif
endif
DEPLOY_SRC_AVAILABLE := $(call MkExists,$(DEPLOY_TOPDIR)/make/Makefile)
ifndef BUILD_DEPLOY
BUILD_DEPLOY := $(DEPLOY_SRC_AVAILABLE)
endif
INSTALL_SRC_AVAILABLE := $(call MkExists,$(INSTALL_TOPDIR)/make/Makefile)
ifndef BUILD_INSTALL
ifdef DEV_ONLY
BUILD_INSTALL := false
else
BUILD_INSTALL := $(INSTALL_SRC_AVAILABLE)
endif
endif
SPONSORS_SRC_AVAILABLE := $(call MkExists,$(SPONSORS_TOPDIR)/make/Makefile)
ifndef BUILD_SPONSORS
ifdef DEV_ONLY
BUILD_SPONSORS := false
else
BUILD_SPONSORS := $(SPONSORS_SRC_AVAILABLE)
endif
endif
# Do we build the source and openjdk binary plug bundles?
BUNDLE_RULES = $(JDK_TOPDIR)/make/closed/bundles.gmk
BUNDLE_RULES_AVAILABLE := $(call MkExists,$(BUNDLE_RULES))
# Current things we do NOT build for OPENJDK
ifdef OPENJDK
BUILD_DEPLOY = false
BUILD_INSTALL = false
BUILD_SPONSORS = false
BUNDLE_RULES_AVAILABLE := false
# These could be over-ridden on the command line or in environment
ifndef SKIP_FASTDEBUG_BUILD
SKIP_FASTDEBUG_BUILD = true
endif
ifndef SKIP_DEBUG_BUILD
SKIP_DEBUG_BUILD = true
endif
ifndef SKIP_COMPARE_IMAGES
SKIP_COMPARE_IMAGES = true
endif
SKIP_OPENJDK_BUILD = true
else
ifndef SKIP_OPENJDK_BUILD
SKIP_OPENJDK_BUILD = false
# FIXUP: until freetype fixed on linux and solaris rmi build fixed
SKIP_OPENJDK_BUILD = true
endif
endif
# Solaris 64 bit builds are not complete enough to ever do this
ifeq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
SKIP_OPENJDK_BUILD = true
endif
# Many reasons why we would want to skip the comparison to previous jdk
ifndef SKIP_COMPARE_IMAGES
ifeq ($(BUILD_JDK), false)
SKIP_COMPARE_IMAGES = true
endif
ifeq ($(BUILD_DEPLOY), false)
SKIP_COMPARE_IMAGES = true
endif
ifeq ($(BUILD_INSTALL), false)
SKIP_COMPARE_IMAGES = true
endif
ifdef DEV_ONLY
SKIP_COMPARE_IMAGES = true
endif
endif
# Select defaults if these are not set to true or false
ifndef SKIP_DEBUG_BUILD
SKIP_DEBUG_BUILD=true
endif
ifndef SKIP_FASTDEBUG_BUILD
SKIP_FASTDEBUG_BUILD=false
endif
# Output directory for hotspot build
HOTSPOT_DIR = $(ABS_OUTPUTDIR)/hotspot
# If we are building components
ifndef ALT_LANGTOOLS_DIST
LANGTOOLS_OUTPUTDIR = $(ABS_OUTPUTDIR)/langtools
ABS_LANGTOOLS_DIST = $(LANGTOOLS_OUTPUTDIR)/dist
endif
ifndef ALT_CORBA_DIST
CORBA_OUTPUTDIR = $(ABS_OUTPUTDIR)/corba
ABS_CORBA_DIST = $(CORBA_OUTPUTDIR)/dist
endif
ifndef ALT_JAXP_DIST
JAXP_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxp
ABS_JAXP_DIST = $(JAXP_OUTPUTDIR)/dist
endif
ifndef ALT_JAXWS_DIST
JAXWS_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxws
ABS_JAXWS_DIST = $(JAXWS_OUTPUTDIR)/dist
endif
# Common make arguments (supplied to all component builds)
COMMON_BUILD_ARGUMENTS = \
JDK_TOPDIR=$(ABS_JDK_TOPDIR) \
JDK_MAKE_SHARED_DIR=$(ABS_JDK_TOPDIR)/make/common/shared \
EXTERNALSANITYCONTROL=true \
TARGET_CLASS_VERSION=$(TARGET_CLASS_VERSION) \
MILESTONE=$(MILESTONE) \
BUILD_NUMBER=$(BUILD_NUMBER) \
JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) \
FULL_VERSION=$(FULL_VERSION) \
PREVIOUS_JDK_VERSION=$(PREVIOUS_JDK_VERSION) \
JDK_VERSION=$(JDK_VERSION) \
JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) \
JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) \
JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) \
JDK_MICRO_VERSION=$(JDK_MICRO_VERSION)
ifdef ARCH_DATA_MODEL
COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)
endif
ifeq ($(DEBUG_NAME), debug)
COMMON_BUILD_ARGUMENTS += VARIANT=DBG DEBUG_CLASSFILES=true
endif
ifeq ($(DEBUG_NAME), fastdebug)
COMMON_BUILD_ARGUMENTS += VARIANT=DBG FASTDEBUG=true DEBUG_CLASSFILES=true
endif
ifdef COOKED_JDK_UPDATE_VERSION
COMMON_BUILD_ARGUMENTS += COOKED_JDK_UPDATE_VERSION=$(COOKED_JDK_UPDATE_VERSION)
endif
ifdef COOKED_BUILD_NUMBER
COMMON_BUILD_ARGUMENTS += COOKED_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
endif
ifdef ANT_HOME
COMMON_BUILD_ARGUMENTS += ANT_HOME="$(ANT_HOME)"
endif
ifdef FINDBUGS_HOME
COMMON_BUILD_ARGUMENTS += FINDBUGS_HOME="$(FINDBUGS_HOME)"
endif
README-pre-components:
---------------------
Current pre-components are langtools, jaxws, jaxp, and corba.
Pre-components can use ant to build but must have a make/Makefile for
building (a GNU make Makefile).
All ant knowledge is being isolated in the workspaces that use it.
Also for various reasons it is nice to have a Makefile wrapper over the
running of ant, but in general having to do
anything with shell commands is much easier to do in a Makefile
than in an ant script.
The make/makefile rules are:
Variables:
ALT_BOOTDIR The jdk home to use to build, if provided
ALT_LANGTOOLS_DIST The dist area from a langtools build to use, if provided
ALT_OUTPUTDIR Parent dir of build and dist directories, if provided
VARIANT If DBG, debug build, if OPT, optimized build
TARGET_CLASS_VERSION The classfile version number (currently 5)
ANT_HOME Home of ant to use, if provided
FINDBUGS_HOME Home of findbugs to use, if provided
QUIET If defined, be quiet
VERBOSE If defined, be verbose
JDK_VERSION Version being built
FULL_VERSION Full version string for this jdk build
MILESTONE fcs, beta, internal or empty
BUILD_NUMBER Number of the jdk build
JPRT_ARCHIVE_BUNDLE Path to zip bundle to create for JPRT
Targets:
all Build everything, including dist
build Build build area
clean Clean up
clobber Same as clean (don't ask)
sanity Perform any sanity checks, exit non-zero if errors
jprt_build_product JPRT product build, zip results into JPRT_ARCHIVE_BUNDLE
jprt_build_debug JPRT debug build, zip results into JPRT_ARCHIVE_BUNDLE
jprt_build_fastdebug JPRT fastdebug build, zip results into JPRT_ARCHIVE_BUNDLE
Then of course we expect a dist/lib/classes.jar, dist/lib/src.zip and dist/lib/bin.zip.
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# CORBA TARGETS
################################################################
CORBA_BUILD_ARGUMENTS = \
$(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(CORBA_OUTPUTDIR) \
ALT_BOOTDIR=$(BOOTDIR) \
ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH)
ifeq ($(BUILD_LANGTOOLS), true)
CORBA_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
corba: corba-build
corba-build:
$(MKDIR) -p $(CORBA_OUTPUTDIR)
($(CD) $(CORBA_TOPDIR)/make && \
$(MAKE) $(CORBA_BUILD_ARGUMENTS) all)
corba-clobber::
$(MKDIR) -p $(CORBA_OUTPUTDIR)
($(CD) $(CORBA_TOPDIR)/make && \
$(MAKE) $(CORBA_BUILD_ARGUMENTS) clobber)
.PHONY: corba corba-build corba-clobber
#
# Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# DEPLOY TARGETS
################################################################
ifeq ($(ARCH_DATA_MODEL), 32)
deploy: deploy-build
else
deploy:
endif
DEPLOY = deploy
# put the generated bundles in their own place in OUTPUTDIR
DEPLOY_OUTPUTDIR = $(ABS_OUTPUTDIR)
# NO_IMAGES may be set in conjunction with DEV_ONLY
ifdef NO_IMAGES
IMAGES_TARGET =
else
IMAGES_TARGET = images
endif
DEPLOY_BUILD_TARGETS = sanity javaws-all plugin-all
ifndef DEV_ONLY
DEPLOY_BUILD_TARGETS += images
else
DEPLOY_BUILD_TARGETS += $(IMAGES_TARGET)
endif
DEPLOY_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(DEPLOY_OUTPUTDIR)
ifeq ($(BUILD_LANGTOOLS), true)
DEPLOY_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
ifdef ALT_IMAGE_DIR
DEPLOY_BUILD_ARGUMENTS += ALT_IMAGE_DIR=$(ALT_IMAGE_DIR)
endif
ifdef ALT_BUNDLE_DATE
DEPLOY_BUILD_ARGUMENTS += ALT_BUNDLE_DATE=$(ALT_BUNDLE_DATE)
endif
ifdef ALT_JAVAWS_BOOTDIR
DEPLOY_BUILD_ARGUMENTS += ALT_JAVAWS_BOOTDIR=$(ALT_JAVAWS_BOOTDIR)
endif
ifdef CERT
DEPLOY_BUILD_ARGUMENTS += CERT=$(CERT)
endif
ifdef PKEY
DEPLOY_BUILD_ARGUMENTS += PKEY=$(PKEY)
endif
deploy-build:
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(BUILD_DEPLOY), true)
($(CD) $(DEPLOY_TOPDIR)/make && \
$(MAKE) $(DEPLOY_BUILD_TARGETS) $(DEPLOY_BUILD_ARGUMENTS))
endif
endif
deploy-clobber::
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(BUILD_DEPLOY), true)
($(CD) $(DEPLOY_TOPDIR)/make && \
$(MAKE) clobber $(DEPLOY_BUILD_ARGUMENTS))
endif
endif
deploy-sanity::
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(BUILD_DEPLOY), true)
($(CD) $(DEPLOY_TOPDIR)/make && \
$(MAKE) sanity $(DEPLOY_BUILD_ARGUMENTS))
endif
endif
.PHONY: deploy deploy-build deploy-clobber deploy-sanity
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# HOTSPOT TARGETS
################################################################
# All the output from a hotspot build should be re-located to the
# build output area.
#
HOTSPOT_OUTPUTDIR = $(HOTSPOT_DIR)/outputdir
# HOTSPOT_EXPORT_PATH points to a dir that contains files
# that are needed in an SDK build, in the same relative positions as
# these files are in an SDK image.
# The SDK java/redist/Makefile will copy files from HOTSPOT_EXPORT_PATH
# into the SDK being built.
# This is the export path supplied to the hotspot makefiles.
#
HOTSPOT_EXPORT_PATH = $(HOTSPOT_DIR)/import
# Default targets
HOTSPOT = hotspot-sanity hotspot-build
hotspot:: $(HOTSPOT)
# Hotspot clobber removes the output directory and exported files
hotspot-clobber::
$(RM) -r $(HOTSPOT_OUTPUTDIR)
$(RM) -r $(HOTSPOT_EXPORT_PATH)
hotspot-sanity::
@$(MKDIR) -p $(HOTSPOT_OUTPUTDIR)
@$(MKDIR) -p $(HOTSPOT_EXPORT_PATH)
@$(ECHO) "Hotspot Settings: \n" \
" HOTSPOT_BUILD_JOBS = $(HOTSPOT_BUILD_JOBS) \n" \
" HOTSPOT_OUTPUTDIR = $(HOTSPOT_OUTPUTDIR) \n" \
" HOTSPOT_EXPORT_PATH = $(HOTSPOT_EXPORT_PATH) \n" \
"\n" >> $(MESSAGE_FILE)
#
# Basic hotspot build and export of it's files
#
HOTSPOT_TARGET = all_product
ifeq ($(DEBUG_NAME), debug)
HOTSPOT_TARGET = all_debug
endif
ifeq ($(DEBUG_NAME), fastdebug)
HOTSPOT_TARGET = all_fastdebug
endif
HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS)
HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH)
# Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=?
# Or is there something wrong with hotspot/make/Makefile?
HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA)
HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR)
ifeq ($(BUILD_LANGTOOLS), true)
HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
hotspot-build::
$(MKDIR) -p $(HOTSPOT_OUTPUTDIR)
$(MKDIR) -p $(HOTSPOT_EXPORT_PATH)
$(CD) $(HOTSPOT_TOPDIR)/make && \
$(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET)
#####################
# .PHONY
#####################
.PHONY: hotspot-build hotspot-clobber hotspot-sanity
#
# Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# INSTALL TARGETS
################################################################
install: install-build
# The generated java files are generated as a set, so instead of
# setting the INSTALL variable to that list of files, set it to
# the .PHONY target that generates the set of files.
INSTALL = install
# put the generated patch in their own place in OUTPUTDIR
INSTALL_OUTPUTDIR = $(ABS_OUTPUTDIR)
INSTALL_DEBUG_NAME=fastdebug
INSTALL_BUILD_TARGETS = sanity all
INSTALL_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(INSTALL_OUTPUTDIR) \
ALT_RTPATCH_DIR=$(ALT_RTPATCH_DIR) \
ALT_BASE_IMAGE_ZIP=$(ALT_BASE_IMAGE_ZIP) \
ALT_BASE_IMAGE_DIR=$(ALT_BASE_IMAGE_DIR) \
ALT_NEW_IMAGE_DIR=$(ALT_NEW_IMAGE_DIR) \
ALT_BUNDLE_DATE=$(BUNDLE_DATE) \
INSTALL_DEBUG_NAME=$(INSTALL_DEBUG_NAME)
ifeq ($(BUILD_LANGTOOLS), true)
INSTALL_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
install: install-build
install-build:
ifeq ($(BUILD_INSTALL), true)
($(CD) $(INSTALL_TOPDIR)/make && \
$(MAKE) $(INSTALL_BUILD_TARGETS) $(INSTALL_BUILD_ARGUMENTS))
endif
update-patcher:
ifeq ($(BUILD_INSTALL), true)
if [ -r $(INSTALL_TOPDIR)/make/update/Makefile ]; then \
( $(CD) $(INSTALL_TOPDIR)/make/update && \
$(MAKE) all $(INSTALL_BUILD_ARGUMENTS) ); \
fi
endif
update-patchgen:
ifeq ($(BUILD_INSTALL), true)
if [ -r $(INSTALL_TOPDIR)/make/update/Makefile ]; then \
( $(CD) $(INSTALL_TOPDIR)/make/update && \
$(MAKE) patchgen $(INSTALL_BUILD_ARGUMENTS) ); \
fi
endif
installer:
ifeq ($(BUILD_INSTALL), true)
if [ -r $(INSTALL_TOPDIR)/make/installer/Makefile ]; then \
( $(CD) $(INSTALL_TOPDIR)/make/installer && \
$(MAKE) all $(INSTALL_BUILD_ARGUMENTS) ); \
fi
endif
install-clobber:
ifeq ($(BUILD_INSTALL), true)
($(CD) $(INSTALL_TOPDIR)/make && \
$(MAKE) clobber $(INSTALL_BUILD_ARGUMENTS))
endif
install-sanity::
ifeq ($(BUILD_INSTALL), true)
($(CD) $(INSTALL_TOPDIR)/make && \
$(MAKE) sanity $(INSTALL_BUILD_ARGUMENTS))
endif
######################################
# Rules for making the install
######################################
.PHONY: install install-build install-clobber install-sanity \
update-installer update-patchgen installer
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# JAXP TARGETS
################################################################
JAXP_BUILD_ARGUMENTS = \
$(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(JAXP_OUTPUTDIR) \
ALT_BOOTDIR=$(BOOTDIR) \
ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH)
ifeq ($(BUILD_LANGTOOLS), true)
JAXP_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
jaxp: jaxp-build
jaxp-build:
$(MKDIR) -p $(JAXP_OUTPUTDIR)
($(CD) $(JAXP_TOPDIR)/make && \
$(MAKE) $(JAXP_BUILD_ARGUMENTS) all)
jaxp-clobber::
$(MKDIR) -p $(JAXP_OUTPUTDIR)
($(CD) $(JAXP_TOPDIR)/make && \
$(MAKE) $(JAXP_BUILD_ARGUMENTS) clobber)
.PHONY: jaxp jaxp-build jaxp-clobber
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# JAXWS TARGETS
################################################################
JAXWS_BUILD_ARGUMENTS = \
$(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(JAXWS_OUTPUTDIR) \
ALT_BOOTDIR=$(BOOTDIR) \
ALT_JDK_IMPORT_PATH=$(JDK_IMPORT_PATH)
ifeq ($(BUILD_LANGTOOLS), true)
JAXWS_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
jaxws: jaxws-build
jaxws-build:
$(MKDIR) -p $(JAXWS_OUTPUTDIR)
($(CD) $(JAXWS_TOPDIR)/make && \
$(MAKE) $(JAXWS_BUILD_ARGUMENTS) all)
jaxws-clobber::
$(MKDIR) -p $(JAXWS_OUTPUTDIR)
($(CD) $(JAXWS_TOPDIR)/make && \
$(MAKE) $(JAXWS_BUILD_ARGUMENTS) clobber)
.PHONY: jaxws jaxws-build jaxws-clobber
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# JDK TARGETS
################################################################
JDK_JAVA_EXE = $(OUTPUTDIR)/bin/java$(EXE_SUFFIX)
# NO_IMAGES may be set in conjunction with DEV_ONLY
ifdef NO_IMAGES
IMAGES_TARGET =
else
IMAGES_TARGET = images
endif
# No DOCS build when JDK_UPDATE_VERSION set
ifdef JDK_UPDATE_VERSION
DOCS_TARGET =
else
DOCS_TARGET = docs
endif
# NO_DOCS may be set in conjunction with DEV_ONLY
ifdef NO_DOCS
DOCS_TARGET =
endif
# If langtools not being built, full jdk javadoc is not possible
ifneq ($(BUILD_LANGTOOLS), true)
DOCS_TARGET =
endif
ifneq ($(BUILD_CORBA), true)
DOCS_TARGET =
endif
ifneq ($(BUILD_JAXP), true)
DOCS_TARGET =
endif
ifneq ($(BUILD_JAXWS), true)
DOCS_TARGET =
endif
ifndef DEV_ONLY
JDK_BUILD_TARGETS = sanity all $(DOCS_TARGET) images
else
JDK_BUILD_TARGETS = sanity all $(IMAGES_TARGET)
endif
JDK_CLOBBER_TARGETS = clobber
JDK_BUILD_ARGUMENTS = $(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)
ifeq ($(BUILD_LANGTOOLS), true)
JDK_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
ifeq ($(BUILD_CORBA), true)
JDK_BUILD_ARGUMENTS += ALT_CORBA_DIST=$(ABS_CORBA_DIST)
endif
ifeq ($(BUILD_JAXP), true)
JDK_BUILD_ARGUMENTS += ALT_JAXP_DIST=$(ABS_JAXP_DIST)
endif
ifeq ($(BUILD_JAXWS), true)
JDK_BUILD_ARGUMENTS += ALT_JAXWS_DIST=$(ABS_JAXWS_DIST)
endif
ifeq ($(BUILD_HOTSPOT), true)
JDK_BUILD_ARGUMENTS += ALT_HOTSPOT_IMPORT_PATH=$(HOTSPOT_DIR)/import
endif
JDK_BUILD_ARGUMENTS += \
BUILD_HOTSPOT=$(BUILD_HOTSPOT)
$(JDK_JAVA_EXE):: jdk-build
jdk: jdk-build
jdk-build:
( $(CD) $(JDK_TOPDIR)/make && \
$(MAKE) $(JDK_BUILD_TARGETS) $(JDK_BUILD_ARGUMENTS) ; )
jdk-clobber::
( $(CD) $(JDK_TOPDIR)/make && \
$(MAKE) $(JDK_CLOBBER_TARGETS) $(JDK_BUILD_ARGUMENTS) ; )
jdk-sanity::
@( $(CD) $(JDK_TOPDIR)/make && \
$(MAKE) sanity HOTSPOT_IMPORT_CHECK=false $(JDK_BUILD_ARGUMENTS) ; )
compare-images: compare-image
compare-image:
( $(CD) $(JDK_TOPDIR)/make && \
$(MAKE) ALT_OUTPUTDIR=$(ABS_OUTPUTDIR) compare-image )
compare-images-clobber: compare-image-clobber
compare-image-clobber:
( $(CD) $(JDK_TOPDIR)/make && \
$(MAKE) ALT_OUTPUTDIR=$(ABS_OUTPUTDIR) compare-image-clobber )
.PHONY: jdk jdk-build jdk-clobber jdk-sanity
# FIXUP: Old j2se target names
j2se-build: jdk-build
j2se-clobber:: jdk-clobber
j2se-sanity:: jdk-sanity
j2se: jdk
.PHONY: j2se j2se-build j2se-clobber j2se-sanity
#!echo "This is not a shell script"
#############################################################################
#
# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
#############################################################################
#
# JPRT shell configuration for building.
#
# Input environment variables:
# ALT_BOOTDIR
# ALT_SLASH_JAVA
# ALT_JDK_IMPORT_PATH
# OPENJDK
# Windows Only:
# PATH
# VS71COMNTOOLS
# PROCESSOR_IDENTIFIER
# ROOTDIR
#
# Output variable settings:
# make Full path to GNU make
# compiler_path Path to compiler bin directory
# compiler_name Unique name of this compiler
#
# Output environment variables:
# PATH
# ALT_COMPILER_PATH
# OPENJDK only:
# ALT_CLOSED_JDK_IMPORT_PATH
# ALT_JDK_DEVTOOLS_DIR
# Windows Only:
# ALT_MSDEVTOOLS_PATH
# ALT_DEVTOOLS_PATH (To avoid the C:/UTILS default)
# LIB
# INCLUDE
#
# After JDK6, most settings will be found via ALT_SLASH_JAVA or
# by way of other system environment variables. If this was JDK5
# or an older JDK, you might need to export more ALT_* variables.
#
# On Windows AMD64, if MSSDK is not set, assumes Platform SDK is installed at:
# C:/Program Files/Microsoft Platform SDK
#
#############################################################################
#############################################################################
# Error
error() # message
{
echo "ERROR: $1"
exit 6
}
# Directory must exist
dirMustExist() # dir name
{
if [ ! -d "$1" ] ; then
error "Directory for $2 does not exist: $1"
fi
}
# File must exist
fileMustExist() # dir name
{
if [ ! -f "$1" ] ; then
error "File for $2 does not exist: $1"
fi
}
#############################################################################
# Should be set by JPRT as the 3 basic inputs
bootdir="${ALT_BOOTDIR}"
slashjava="${ALT_SLASH_JAVA}"
jdk_import="${ALT_JDK_IMPORT_PATH}"
# The /java/devtools items
jdk_devtools="${slashjava}/devtools"
share="${jdk_devtools}/share"
# Needed for langtools, maybe other parts of the build
ANT_HOME="${share}/ant/latest"
export ANT_HOME
FINDBUGS_HOME="${share}/findbugs/latest"
export FINDBUGS_HOME
# The 3 bin directories in common to all platforms
sharebin="${share}/bin"
antbin="${ANT_HOME}/bin"
findbugsbin="${FINDBUGS_HOME}/bin"
# Check input
dirMustExist "${bootdir}" ALT_BOOTDIR
dirMustExist "${slashjava}" ALT_SLASH_JAVA
dirMustExist "${jdk_import}" ALT_JDK_IMPORT_PATH
dirMustExist "${ANT_HOME}" ANT_HOME
dirMustExist "${FINDBUGS_HOME}" FINDBUGS_HOME
# If ALT_PREVIOUS_JDK_IMAGE not defined, set it to the bootdir area for
# any possible image comparisons.
# We assume bootdir is a previous jdk release image, valid for comparison
# reasons.
if [ "${ALT_PREVIOUS_JDK_IMAGE}" = "" ] ; then
ALT_PREVIOUS_JDK_IMAGE="${bootdir}"
export ALT_PREVIOUS_JDK_IMAGE
fi
# Use the JDK import for now (FIXME: use the binary plugs?)
if [ "${OPENJDK}" = true ] ; then
ALT_CLOSED_JDK_IMPORT_PATH="${jdk_import}"
export ALT_CLOSED_JDK_IMPORT_PATH
fi
# Uses 'uname -s', but only expect SunOS or Linux, assume Windows otherwise.
osname=`uname -s`
if [ "${osname}" = SunOS ] ; then
# SOLARIS: Sparc or X86
osarch=`uname -p`
if [ "${osarch}" = sparc ] ; then
solaris_arch=sparc
else
solaris_arch=i386
fi
# Get the SS11 compilers into path (make sure it matches ALT setting)
compiler_path=${jdk_devtools}/${solaris_arch}/SUNWspro/SS11/bin
compiler_name=SS11
ALT_COMPILER_PATH="${compiler_path}"
export ALT_COMPILER_PATH
dirMustExist "${compiler_path}" ALT_COMPILER_PATH
path4sdk=${compiler_path}:${sharebin}:${antbin}:${findbugsbin}
# Add basic solaris system paths
path4sdk=${path4sdk}:/usr/ccs/bin:/usr/ccs/lib:/usr/bin:/bin:/usr/sfw/bin
# Get the previous JDK to be used to bootstrap the build
path4sdk=${bootdir}/bin:${path4sdk}
# Find GNU make
make=/usr/sfw/bin/gmake
if [ ! -f ${make} ] ; then
make=/opt/sfw/bin/gmake
if [ ! -f ${make} ] ; then
make=${jdk_devtools}/${solaris_arch}/bin/gnumake
fi
fi
fileMustExist "${make}" make
# File creation mask
umask 002
elif [ "${osname}" = Linux ] ; then
# LINUX: X86, AMD64
osarch=`uname -m`
if [ "${osarch}" = i686 ] ; then
linux_arch=i586
elif [ "${osarch}" = x86_64 ] ; then
linux_arch=amd64
fi
# Get the compilers into path (make sure it matches ALT setting)
compiler_path=/usr/bin
compiler_name=usr_bin
ALT_COMPILER_PATH="${compiler_path}"
export ALT_COMPILER_PATH
dirMustExist "${compiler_path}" ALT_COMPILER_PATH
path4sdk=${compiler_path}:${sharebin}:${antbin}:${findbugsbin}
# Add basic paths
path4sdk=${path4sdk}:/usr/bin:/bin:/usr/sbin:/sbin
# Get the previous JDK to be used to bootstrap the build
path4sdk=${bootdir}/bin:${path4sdk}
# Find GNU make
make=/usr/bin/make
fileMustExist "${make}" make
umask 002
# Linux platform may be old, use motif files from the devtools area
if [ "${OPENJDK}" = true ] ; then
ALT_JDK_DEVTOOLS_DIR="${jdk_devtools}"
export ALT_JDK_DEVTOOLS_DIR
fi
else
# Windows: Differs on CYGWIN vs. MKS, and the compiler available.
# Also, blanks in pathnames gives GNU make headaches, so anything placed
# in any ALT_* variable should be the short windows dosname.
# WINDOWS: Install and use MKS or CYGWIN (should have already been done)
# Assumption here is that you are in a shell window via MKS or cygwin.
# MKS install should have defined the environment variable ROOTDIR.
# We also need to figure out which one we have: X86, AMD64
if [ "`echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64`" != "" ] ; then
windows_arch=amd64
else
windows_arch=i586
fi
# We need to determine if we are running a CYGWIN shell or an MKS shell
# (if uname isn't available, then it will be unix_toolset=unknown)
unix_toolset=unknown
if [ "`uname -a | fgrep Cygwin`" = "" -a -d "${ROOTDIR}" ] ; then
# We kind of assume ROOTDIR is where MKS is and it's ok
unix_toolset=MKS
mkshome=`dosname -s "${ROOTDIR}"`
# Utility to convert to short pathnames without spaces
dosname="${mkshome}/mksnt/dosname -s"
# Most unix utilities are in the mksnt directory of ROOTDIR
unixcommand_path="${mkshome}/mksnt"
path4sdk="${sharebin};${antbin};${findbugsbin};${unixcommand_path}"
dirMustExist "${unixcommand_path}" ALT_UNIXCOMMAND_PATH
devtools_path="${jdk_devtools}/win32/bin"
path4sdk="${devtools_path};${path4sdk}"
# Normally this need not be set, but on Windows it's default is C:/UTILS
ALT_DEVTOOLS_PATH="${devtools_path}"
export ALT_DEVTOOLS_PATH
dirMustExist "${devtools_path}" ALT_DEVTOOLS_PATH
# Find GNU make
make="${devtools_path}/gnumake.exe"
fileMustExist "${make}" make
elif [ "`uname -a | fgrep Cygwin`" != "" -a -f /bin/cygpath ] ; then
# For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist
unix_toolset=CYGWIN
# Utility to convert to short pathnames without spaces
dosname="/usr/bin/cygpath -a -m -s"
# Most unix utilities are in the /usr/bin
unixcommand_path="/usr/bin"
path4sdk="${sharebin};${antbin};${findbugsbin};${unixcommand_path}"
dirMustExist "${unixcommand_path}" ALT_UNIXCOMMAND_PATH
# Find GNU make
make="${unixcommand_path}/make.exe"
fileMustExist "${make}" make
else
echo "WARNING: Cannot figure out if this is MKS or CYGWIN"
fi
# WINDOWS: Compiler setup (nasty part)
# NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE.
# NOTE: CYGWIN has a link.exe too, make sure the compilers are first
if [ "${windows_arch}" = i586 ] ; then
# 32bit Windows compiler settings
# VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
vs_root=`${dosname} "${VS71COMNTOOLS}/../.."`
# Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
msdev_root="${vs_root}/Common7/Tools"
msdevtools_path="${msdev_root}/bin"
vc7_root="${vs_root}/Vc7"
compiler_path="${vc7_root}/bin"
compiler_name=VS2003
platform_sdk="${vc7_root}/PlatformSDK"
# LIB and INCLUDE must use ; as a separator
include4sdk="${vc7_root}/atlmfc/include"
include4sdk="${include4sdk};${vc7_root}/include"
include4sdk="${include4sdk};${platform_sdk}/include/prerelease"
include4sdk="${include4sdk};${platform_sdk}/include"
include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include"
lib4sdk="${vc7_root}/atlmfc/lib"
lib4sdk="${lib4sdk};${vc7_root}/lib"
lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease"
lib4sdk="${lib4sdk};${platform_sdk}/lib"
lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib"
# Search path and DLL locating path
# WARNING: CYGWIN has a link.exe too, make sure compilers are first
path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}"
path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}"
path4sdk="${vs_root}/Common7/Tools;${path4sdk}"
path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}"
path4sdk="${vs_root}/Common7/IDE;${path4sdk}"
path4sdk="${compiler_path};${path4sdk}"
elif [ "${windows_arch}" = amd64 ] ; then
# AMD64 64bit Windows compiler settings
if [ "${MSSDK}" != "" ] ; then
platform_sdk="${MSSDK}"
else
platform_sdk=`${dosname} "C:/Program Files/Microsoft Platform SDK/"`
fi
compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
compiler_name=VS2005_PSDK
msdevtools_path="${platform_sdk}/Bin"
# LIB and INCLUDE must use ; as a separator
include4sdk="${platform_sdk}/Include"
include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
include4sdk="${include4sdk};${platform_sdk}/Include/mfc"
include4sdk="${include4sdk};${platform_sdk}/Include/atl"
include4sdk="${include4sdk};${platform_sdk}/Include/crt"
lib4sdk="${platform_sdk}/Lib/AMD64"
lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc"
# Search path and DLL locating path
# WARNING: CYGWIN has a link.exe too, make sure compilers are first
path4sdk="${platform_sdk}/bin;${path4sdk}"
path4sdk="${compiler_path};${path4sdk}"
fi
# Export LIB and INCLUDE
unset lib
unset Lib
LIB="${lib4sdk}"
export LIB
unset include
unset Include
INCLUDE="${include4sdk}"
export INCLUDE
# Set the ALT variable
ALT_COMPILER_PATH=`${dosname} "${compiler_path}"`
export ALT_COMPILER_PATH
dirMustExist "${compiler_path}" ALT_COMPILER_PATH
ALT_MSDEVTOOLS_PATH=`${dosname} "${msdevtools_path}"`
export ALT_MSDEVTOOLS_PATH
dirMustExist "${msdevtools_path}" ALT_MSDEVTOOLS_PATH
# WINDOWS: Get the previous JDK to be used to bootstrap the build
path4sdk="${bootdir}/bin;${path4sdk}"
# Turn all \\ into /, remove duplicates and trailing /
slash_path="`echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g'`"
# For windows, it's hard to know where the system is, so we just add this
# to PATH.
path4sdk="${slash_path};${PATH}"
# Convert path4sdk to cygwin style
if [ "${unix_toolset}" = CYGWIN ] ; then
path4sdk="`/usr/bin/cygpath -p ${path4sdk}`"
fi
# Set special windows ALT variables
ALT_ISHIELDDIR="C:/ishield802"
export ALT_ISHIELDDIR
# Sponsors binaries
ALT_SPONSOR1DIR=C:/sponsor_binaries
export ALT_SPONSOR1DIR
ALT_SPONSOR2DIR=C:/sponsor_binaries
export ALT_SPONSOR2DIR
fi
# Export PATH setting
PATH="${path4sdk}"
export PATH
# Things we need to unset
unset LD_LIBRARY_PATH
unset LD_LIBRARY_PATH_32
unset LD_LIBRARY_PATH_64
unset JAVA_HOME
#
# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# JPRT rule to build
################################################################
# To get all the bundles from JPRT, use:
# jprt submit -buildenv HAVE_JPRT_SAVE_BUNDLES=true -control "..." ...
DEFAULT_BUILD_FLAVOR=product
# JPRT will define these when it builds
JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(DEFAULT_BUILD_FLAVOR)-bundle.zip
JPRT_ARCHIVE_INSTALL_BUNDLE=$(ABS_OUTPUTDIR)/$(DEFAULT_BUILD_FLAVOR)-install-bundle.zip
jprt_build_product: product_build
( $(CD) $(OUTPUTDIR)/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . )
ifdef HAVE_JPRT_SAVE_BUNDLES
( $(CD) $(OUTPUTDIR)/bundles && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . )
endif
jprt_build_fastdebug: fastdebug_build
( $(CD) $(OUTPUTDIR)-fastdebug/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . )
jprt_build_debug: debug_build
( $(CD) $(OUTPUTDIR)-debug/j2sdk-image && \
$(ZIPEXE) -q -r $(JPRT_ARCHIVE_BUNDLE) . )
################################################################
# PHONY
################################################################
.PHONY: jprt_build_product jprt_build_fastdebug jprt_build_debug
#
# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
# Properties for jprt
jprt.tools.default.release=jdk1.7.0
# Specific platform list
jprt.build.platforms=\
solaris_sparc_5.10,\
solaris_sparcv9_5.10,\
solaris_i586_5.10,\
solaris_x64_5.10,\
linux_i586,\
linux_x64,\
windows_i586,\
windows_x64
# The different build flavors we want
jprt.build.flavors=product,fastdebug
jprt.run.flavors=c1,c2
jprt.solaris_sparcv9.run.flavors=c2
jprt.solaris_x64.run.flavors=c2
jprt.windows_x64.run.flavors=c2
jprt.linux_x64.run.flavors=c2
jprt.run.flavor.c1.option=-client
jprt.run.flavor.c2.option=-server
# Explicitly designate what the 32bit match is for the 64bit build
jprt.solaris_sparcv9.build.platform.match32=solaris_sparc_5.10
jprt.solaris_x64.build.platform.match32=solaris_i586_5.10
# Standard list of jprt test targets for this workspace
jprt.test.targets=*-*-*-jvm98
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# LANGTOOLS TARGETS
################################################################
LANGTOOLS_BUILD_ARGUMENTS = \
$(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(LANGTOOLS_OUTPUTDIR) \
ALT_BOOTDIR=$(BOOTDIR)
langtools: langtools-build
langtools-build:
$(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)
($(CD) $(LANGTOOLS_TOPDIR)/make && \
$(MAKE) $(LANGTOOLS_BUILD_ARGUMENTS) all)
langtools-clobber::
$(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)
($(CD) $(LANGTOOLS_TOPDIR)/make && \
$(MAKE) $(LANGTOOLS_BUILD_ARGUMENTS) clobber)
.PHONY: langtools langtools-build langtools-clobber
#
# Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# SANITY
################################################################
sanity:: pre-sanity settings insane environment
ifeq ($(BUILD_HOTSPOT), true)
sanity:: hotspot-sanity
endif
ifeq ($(BUILD_DEPLOY), true)
sanity:: deploy-sanity
endif
ifeq ($(BUILD_JDK), true)
sanity:: jdk-sanity
endif
# Only need these sanity rules when not doing a debug build
ifeq ($(DEBUG_NAME),)
ifeq ($(BUILD_INSTALL), true)
sanity:: install-sanity
endif
ifeq ($(BUILD_SPONSORS), true)
sanity:: sponsors-sanity
endif
endif
sanity:: post-sanity
source-sanity : pre-sanity alt_bootdir bootdir post-sanity
$(ERROR_FILE) $(WARNING_FILE) $(MESSAGE_FILE):
@$(prep-target)
purge-sanity: $(ERROR_FILE) $(WARNING_FILE) $(MESSAGE_FILE)
-@$(RM) $(ERROR_FILE) $(WARNING_FILE) $(MESSAGE_FILE)
pre-sanity: purge-sanity
# this should be the last rule in any target's sanity rule.
post-sanity post-sanity-hotspot post-sanity-jdk post-sanity-install post-sanity-deploy:
@if [ -r $(MESSAGE_FILE) ]; then \
$(ECHO) "" ; \
$(CAT) $(MESSAGE_FILE) ; \
fi
@if [ -r $(WARNING_FILE) ]; then \
$(CAT) $(WARNING_FILE) ; \
fi
@if [ "x$(INSANE)" != x ]; then \
$(ECHO) "INSANE mode requested. \n" \
"Sanity will not force a build termination, even with errors.\n" \
"" >> $(ERROR_FILE); \
fi
@if [ -r $(ERROR_FILE) ]; then \
if [ "x$(INSANE)" = x ]; then \
$(ECHO) "Exiting because of the above error(s). \n" \
"">> $(ERROR_FILE); \
fi ; \
$(CAT) $(ERROR_FILE) ; \
if [ "x$(INSANE)" = x ]; then \
exit 1 ; \
fi ; \
fi
ifdef PEDANTIC
@if [ -r $(WARNING_FILE) ]; then \
$(ECHO) "PEDANTIC mode requested. \n" \
"Exiting because of the above warning(s). \n" \
"" >> $(ERROR_FILE); \
$(CAT) $(ERROR_FILE) ; \
exit 1 ; \
fi
endif
@if [ ! -r $(ERROR_FILE) ]; then \
$(ECHO) "Sanity check passed." ; \
fi
insane:
ifdef INSANE
@$(ECHO) "WARNING: You are building in 'INSANE' mode. You \n" \
" should not use this mode, and in fact, \n" \
" it may be removed at any time. If you \n" \
" have build problems as a result of using \n" \
" INSANE mode, then you should not expect \n" \
" assistance from anyone with the problems \n" \
" or consequences you experience. \n" \
"" >> $(WARNING_FILE)
endif
# Get list of environment variables set that we do not want set
ifdef ALT_HOTSPOT_SERVER_PATH
DO_NOT_SET_LIST += ALT_HOTSPOT_SERVER_PATH
endif
ifdef ALT_HOTSPOT_CLIENT_PATH
DO_NOT_SET_LIST += ALT_HOTSPOT_CLIENT_PATH
endif
ifdef ALT_HOTSPOT_LIB_PATH
DO_NOT_SET_LIST += ALT_HOTSPOT_LIB_PATH
endif
# Error message for environment variable set that should not be
%.do_not_set:
@$(ECHO) "ERROR: Your build environment has the variable\n" \
" $* defined. Please unset it and restart your build. \n" \
"" >> $(ERROR_FILE)
# Check the environment variables
environment: $(DO_NOT_SET_LIST:%=%.do_not_set)
ifeq ($(LANGTOOLS_SRC_AVAILABLE), true)
ifneq ($(BUILD_LANGTOOLS), true)
@$(ECHO) "WARNING: You are not building the LANGTOOLS sources.\n" \
" Lang tools (javac) will be obtained from \n" \
" the location set in ALT_JDK_IMPORT_PATH. \n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(JAXP_SRC_AVAILABLE), true)
ifneq ($(BUILD_JAXP), true)
@$(ECHO) "WARNING: You are not building the JAXP sources.\n" \
" The jaxp files will be obtained from \n" \
" the location set in ALT_JDK_IMPORT_PATH. \n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(JAXWS_SRC_AVAILABLE), true)
ifneq ($(BUILD_JAXWS), true)
@$(ECHO) "WARNING: You are not building the JAXWS sources.\n" \
" The jaxws files will be obtained from \n" \
" the location set in ALT_JDK_IMPORT_PATH. \n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(CORBA_SRC_AVAILABLE), true)
ifneq ($(BUILD_CORBA), true)
@$(ECHO) "WARNING: You are not building the CORBA sources.\n" \
" The corba files will be obtained from \n" \
" the location set in ALT_JDK_IMPORT_PATH. \n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(HOTSPOT_SRC_AVAILABLE), true)
ifneq ($(BUILD_HOTSPOT), true)
@$(ECHO) "WARNING: You are not building the HOTSPOT sources.\n" \
" Hotspot libs will be obtained from \n" \
" the location set in ALT_HOTSPOT_IMPORT_PATH. \n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(JDK_SRC_AVAILABLE), true)
ifneq ($(BUILD_JDK), true)
@$(ECHO) "WARNING: You are not building the JDK sources.\n" \
" This will result in a development-only\n" \
" build of the JDK , lacking the jdk binaries.\n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(DEPLOY_SRC_AVAILABLE), true)
ifneq ($(BUILD_DEPLOY), true)
@$(ECHO) "WARNING: You are not building the DEPLOY sources.\n" \
" This will result in a development-only\n" \
" build of the JDK, lacking the plugin and javaws binaries.\n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(INSTALL_SRC_AVAILABLE), true)
ifneq ($(BUILD_INSTALL), true)
@$(ECHO) "WARNING: You are not building the INSTALL sources.\n" \
" This will result in a development-only\n" \
" build of the JDK, lacking the installation bundles\n" \
"" >> $(WARNING_FILE)
endif
endif
ifeq ($(SPONSORS_SRC_AVAILABLE), true)
ifneq ($(BUILD_SPONSORS), true)
@$(ECHO) "WARNING: You are not building the SPONSORS sources.\n" \
"" >> $(WARNING_FILE)
endif
endif
ifndef OPENJDK
ifdef NO_DOCS
@$(ECHO) "WARNING: Your build environment has the variable NO_DOCS\n" \
" defined. This will result in a development-only\n" \
" build of the JDK, lacking the documentation.\n" \
"" >> $(WARNING_FILE)
endif
endif
ifdef NO_IMAGES
@$(ECHO) "WARNING: Your build environment has the variable NO_IMAGES\n" \
" defined. This will result in a development-only\n" \
" build of the JDK, lacking the install images\n" \
" and bundles.\n" \
"" >> $(WARNING_FILE)
endif
ifdef DEV_ONLY
@$(ECHO) "WARNING: Your build environment has the variable DEV_ONLY\n" \
" defined. This will result in a development-only\n" \
" build of the JDK, lacking the documentation\n" \
" build and installation bundles.\n" \
"" >> $(WARNING_FILE)
endif
######################################################
# if specified, ALT_BOOTDIR must point to non-relative path if set
######################################################
alt_bootdir:
ifdef ALT_BOOTDIR
@if [ `$(ECHO) $(subst \,/,$(ALT_BOOTDIR)) | $(EGREP) -ci '^([a-z]:)?/'` -ne 1 ]; then \
$(ECHO) "ERROR: ALT_BOOTDIR must be an Absolute Path Name, \n" \
" not a Relative Path Name. \n" \
" The current value of ALT_BOOTDIR is \n" \
" $(ALT_BOOTDIR) \n" \
" Please fix this and continue your build. \n" \
"" >> $(ERROR_FILE) ; \
fi
endif
######################################################
# BOOTDIR must point to a valid JDK.
######################################################
JAVA_VERSION := $(shell $(BOOTDIR)/bin/java$(EXE_SUFFIX) -version 2>&1 | $(NAWK) -F'"' '{ print $$2 }')
JAVA_VERSION_OK := $(shell $(ECHO) $(JAVA_VERSION) | $(EGREP) -c '^1.[5-6].[0-9]')
bootdir:
@if [ -x $(BOOTDIR)/bin/java$(EXE_SUFFIX) ]; then \
if [ $(JAVA_VERSION_OK) -ne 1 ]; then \
$(ECHO) "ERROR: Your BOOTDIR environment variable does not point \n" \
" to a valid JDK for bootstrapping this build. \n" \
" A JDK $(JDK_MKTG_VERSION) source generation process must be \n" \
" bootstrapped using JDK $(PREVIOUS_JDK_VERSION) fcs (or later). \n" \
" Apparently, your bootstrap JDK is version $(JAVA_VERSION) \n" \
" Please update your ALT_BOOTDIR setting and start your build again. \n" \
"" >> $(ERROR_FILE) ; \
fi \
else \
$(ECHO) "ERROR: BOOTDIR does not point to a valid Java 2 SDK \n" \
" Check that you have access to \n" \
" $(BOOTDIR)/bin/java$(EXE_SUFFIX) \n" \
" and/or check your value of ALT_BOOTDIR. \n" \
"" >> $(ERROR_FILE) ; \
fi
######################################################
# dump out the variable settings...
######################################################
ifneq ($(PLATFORM), windows)
ifndef HOSTNAME
HOSTNAME := $(shell hostname)
endif
endif
settings::
@$(ECHO) "Build Machine Information:" >> $(MESSAGE_FILE)
ifeq ($(PLATFORM), windows)
@$(ECHO) " build machine = $(COMPUTERNAME)" >> $(MESSAGE_FILE)
else
@$(ECHO) " build machine = $(HOSTNAME)" >> $(MESSAGE_FILE)
endif
@$(ECHO) "" >> $(MESSAGE_FILE)
@$(ECHO) "Build Directory Structure:" >> $(MESSAGE_FILE)
@$(ECHO) " CWD = `$(PWD)`" >> $(MESSAGE_FILE)
@$(ECHO) " TOPDIR = $(TOPDIR)" >> $(MESSAGE_FILE)
@$(ECHO) " CONTROL_TOPDIR = $(CONTROL_TOPDIR)" >> $(MESSAGE_FILE)
ifeq ($(LANGTOOLS_SRC_AVAILABLE), true)
@$(ECHO) " LANGTOOLS_TOPDIR = $(LANGTOOLS_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(JAXP_SRC_AVAILABLE), true)
@$(ECHO) " JAXP_TOPDIR = $(JAXP_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(JAXWS_SRC_AVAILABLE), true)
@$(ECHO) " JAXWS_TOPDIR = $(JAXWS_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(CORBA_SRC_AVAILABLE), true)
@$(ECHO) " CORBA_TOPDIR = $(CORBA_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(HOTSPOT_SRC_AVAILABLE), true)
@$(ECHO) " HOTSPOT_TOPDIR = $(HOTSPOT_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(JDK_SRC_AVAILABLE), true)
@$(ECHO) " JDK_TOPDIR = $(JDK_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(DEPLOY_SRC_AVAILABLE), true)
@$(ECHO) " DEPLOY_TOPDIR = $(DEPLOY_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(INSTALL_SRC_AVAILABLE), true)
@$(ECHO) " INSTALL_TOPDIR = $(INSTALL_TOPDIR)" >> $(MESSAGE_FILE)
endif
ifeq ($(SPONSORS_SRC_AVAILABLE), true)
@$(ECHO) " SPONSORS_TOPDIR = $(SPONSORS_TOPDIR)" >> $(MESSAGE_FILE)
endif
@$(ECHO) "" >> $(MESSAGE_FILE)
ifneq ($(SKIP_COMPARE_IMAGES), true)
@$(ECHO) "External File/Binary Locations:" >> $(MESSAGE_FILE)
@$(ECHO) " PREVIOUS_JRE_BUNDLE = $(PREVIOUS_JRE_BUNDLE) " >> $(MESSAGE_FILE)
@$(ECHO) " PREVIOUS_JDK_BUNDLE = $(PREVIOUS_JDK_BUNDLE) " >> $(MESSAGE_FILE)
@$(ECHO) "" >> $(MESSAGE_FILE)
endif
@$(ECHO) "Build Directives:" >> $(MESSAGE_FILE)
ifeq ($(LANGTOOLS_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_LANGTOOLS = $(BUILD_LANGTOOLS) " >> $(MESSAGE_FILE)
endif
ifeq ($(JAXP_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_JAXP = $(BUILD_JAXP) " >> $(MESSAGE_FILE)
endif
ifeq ($(JAXWS_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_JAXWS = $(BUILD_JAXWS) " >> $(MESSAGE_FILE)
endif
ifeq ($(CORBA_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_CORBA = $(BUILD_CORBA) " >> $(MESSAGE_FILE)
endif
ifeq ($(HOTSPOT_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_HOTSPOT = $(BUILD_HOTSPOT) " >> $(MESSAGE_FILE)
endif
ifeq ($(JDK_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_JDK = $(BUILD_JDK) " >> $(MESSAGE_FILE)
endif
ifeq ($(DEPLOY_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_DEPLOY = $(BUILD_DEPLOY) " >> $(MESSAGE_FILE)
endif
ifeq ($(INSTALL_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_INSTALL = $(BUILD_INSTALL) " >> $(MESSAGE_FILE)
endif
ifeq ($(SPONSORS_SRC_AVAILABLE), true)
@$(ECHO) " BUILD_SPONSORS = $(BUILD_SPONSORS) " >> $(MESSAGE_FILE)
endif
@$(ECHO) "" >> $(MESSAGE_FILE)
.PHONY: sanity settings pre-sanity insane \
post-sanity post-sanity-hotspot post-sanity-jdk \
post-sanity-install post-sanity-deploy \
alt_bootdir bootdir
#
# Copyright 2006-2007 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#
################################################################
# SPONSORS TARGETS
################################################################
ifeq ($(PLATFORM)-$(ARCH), windows-i586)
sponsors: sponsors-build
else
sponsors:
endif
# The generated java files are generated as a set, so instead of
# setting the SPONSORS variable to that list of files, set it to
# the .PHONY target that generates the set of files.
SPONSORS = sponsors
# put the generated patch in their own place in OUTPUTDIR
SPONSORS_OUTPUTDIR = $(ABS_OUTPUTDIR)
SPONSORS_BUILD_TARGETS = dll installer
SPONSORS_BUILD_ARGUMENTS = \
MAKEFLAGS= \
$(COMMON_BUILD_ARGUMENTS) \
ALT_OUTPUTDIR=$(SPONSORS_OUTPUTDIR) \
ALT_RTPATCH_DIR=$(ALT_RTPATCH_DIR) \
ALT_BASE_IMAGE_ZIP=$(ALT_BASE_IMAGE_ZIP) \
ALT_BASE_IMAGE_DIR=$(ALT_BASE_IMAGE_DIR) \
ALT_NEW_IMAGE_DIR=$(ALT_NEW_IMAGE_DIR) \
ALT_BUNDLE_DATE=$(BUNDLE_DATE)
ifeq ($(BUILD_LANGTOOLS), true)
SPONSORS_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST)
endif
sponsors-build:
ifeq ($(ARCH_DATA_MODEL), 32)
ifeq ($(BUILD_SPONSORS), true)
($(CD) $(SPONSORS_TOPDIR)/make && \
$(MAKE) $(SPONSORS_BUILD_TARGETS) $(SPONSORS_BUILD_ARGUMENTS))
endif
endif
sponsors-sanity:
sponsors-clobber::
.PHONY: sponsors sponsors-build sponsors-sanity sponsors-clobber
Copyright %YEARS% Sun Microsystems, Inc. All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of Sun Microsystems nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright %YEARS% Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
Copyright %YEARS% Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册