# HG changeset patch # User duke # Date 1196467200 0 # Node ID fd16c54261b32be1aaedd863b7e856801b7f8543 Initial load diff -r 000000000000 -r fd16c54261b3 .hgignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,3 @@ +^build/ +^dist/ +^nbproject/private/ diff -r 000000000000 -r fd16c54261b3 ASSEMBLY_EXCEPTION --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ASSEMBLY_EXCEPTION Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,27 @@ + +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 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. diff -r 000000000000 -r fd16c54261b3 LICENSE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,347 @@ +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) + + 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. diff -r 000000000000 -r fd16c54261b3 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,458 @@ +# +# 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=, 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 + diff -r 000000000000 -r fd16c54261b3 README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,31 @@ +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. + diff -r 000000000000 -r fd16c54261b3 README-builds.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README-builds.html Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,1452 @@ + + + +OpenJDK Build README + + +
+ +
+

OpenJDK Build README

+
+ + +
+ +

Introduction

+ +
+

+ This README file contains build instructions for the + OpenJDK. + Building the source code for the + OpenJDK + requires + a certain degree of technical expertise. +

+ + +
+ +

Contents

+ +
+ +
+ + +
+ +

Minimum Build Environments

+ +
+

+ 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. +

+ +

+ The minimum OS and C/C++ compiler versions needed for building the + OpenJDK: +

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Base OS and ArchitectureOSCompiler
Linux X86 (32bit)Red Hat Enterprise Linux 4 gcc 4
Linux X64 (64bit)Red Hat Enterprise Linux 4 gcc 4
Solaris SPARC (32bit)Solaris 10 + patches +
+ See SunSolve for patch downloads. +
Sun Studio 11
Solaris SPARCV9 (64bit)Solaris 10 + patches +
+ See SunSolve for patch downloads. +
Sun Studio 11
Solaris X86 (32bit)Solaris 10 + patches +
+ See SunSolve for patch downloads. +
Sun Studio 11
Solaris X64 (64bit)Solaris 10 + patches +
+ See SunSolve for patch downloads. +
Sun Studio 11
Windows X86 (32bit)Windows XPMicrosoft Visual Studio .NET 2003 Professional
Windows X64 (64bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Platform SDK - April 2005
+
+
+ + +
+ +

Specific Developer Build Environments

+ +
+

+ We won't be listing all the possible environments, but + we will try to provide what information we have available to us. +

+ +

Fedora

+ +
+ TBD +
+ +

Debian

+ +
+ TBD +
+ +

Ubuntu

+ +
+

+ 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. + +

Ubuntu 6.06

+ +

+ The following list of packages for Ubuntu 6.06 is a working set that + does appear to work. + +

+ 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. +

+ All the packages below can be installed with the + Synaptic Package manager provided with the base Ubuntu 6.06 release. + +

+
    +
  • binutils (2.16.1cvs20060117-1ubuntu2.1)
  • +
  • cpp (4:4.0.3-1)
  • +
  • cpp-4.0 (4.0.3-1ubuntu5)
  • +
  • libfreetype6-dev
  • +
  • g++ (4:4.0.3-1)
  • +
  • g++-4.0 (4.0.3-1ubuntu5)
  • +
  • gawk (1:3.1.5-2build1)
  • +
  • gcc (4:4.0.3-1)
  • +
  • gcc-4.0 (4.0.3-1ubuntu5)
  • +
  • libasound2-dev (1.0.10-2ubuntu4)
  • +
  • libc6 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4
  • +
  • libc6-dev (2.3.6-0ubuntu20.4)
  • +
  • libc6-i686 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4
  • +
  • libcupsys2-dev (1.2.2-0ubuntu0.6.06)
  • +
  • libgcrypt11-dev (1.2.2-1)
  • +
  • libgnutls-dev (1.2.9-2ubuntu1.1)
  • +
  • libgnutls12 (1.2.9-2ubuntu1) to 1.2.9-2ubuntu1.1
  • +
  • libgpg-error-dev (1.1-4)
  • +
  • libice-dev (2:1.0.0-0ubuntu2)
  • +
  • liblockfile1 (1.06.1)
  • +
  • libopencdk8-dev (0.5.7-2)
  • +
  • libpopt-dev (1.7-5)
  • +
  • libsm-dev (2:1.0.0-0ubuntu2)
  • +
  • libstdc++6-4.0-dev (4.0.3-1ubuntu5)
  • +
  • libtasn1-2-dev (0.2.17-1ubuntu1)
  • +
  • libx11-dev (2:1.0.0-0ubuntu9)
  • +
  • libxau-dev (1:1.0.0-0ubuntu4)
  • +
  • libxaw-headers (2:1.0.1-0ubuntu3)
  • +
  • libxaw7-dev (2:1.0.1-0ubuntu3)
  • +
  • libxdmcp-dev (1:1.0.0-0ubuntu2)
  • +
  • libxext-dev (2:1.0.0-0ubuntu4)
  • +
  • libxi-dev (2:1.0.0-0ubuntu3)
  • +
  • libxmu-dev (2:1.0.0-0ubuntu3)
  • +
  • libxmu-headers (2:1.0.0-0ubuntu3)
  • +
  • libxmuu-dev (2:1.0.0-0ubuntu3)
  • +
  • libxp-dev (6.8.2-11ubuntu2)
  • +
  • libxpm-dev (1:3.5.4.2-0ubuntu3)
  • +
  • libxrandr-dev (1:1.1.0.2-0ubuntu4)
  • +
  • libxt-dev (1:1.0.0-0ubuntu3)
  • +
  • libxtrap-dev (2:1.0.0-0ubuntu2)
  • +
  • libxtst-dev (2:1.0.1-0ubuntu2)
  • +
  • libxv-dev (2:1.0.1-0ubuntu3)
  • +
  • linux-kernel-headers (2.6.11.2-0ubuntu18)
  • +
  • m4 (1.4.4-1)
  • +
  • make (3.80+3.81.b4-1)
  • +
  • ssl-cert (1.0.13)
  • +
  • x-dev (7.0.4-0ubuntu2)
  • +
  • x11proto-core-dev (7.0.4-0ubuntu2)
  • +
  • x11proto-input-dev (1.3.2-0ubuntu2)
  • +
  • x11proto-kb-dev (1.0.2-0ubuntu2)
  • +
  • x11proto-randr-dev (1.1.2-0ubuntu2)
  • +
  • x11proto-record-dev (1.13.2-0ubuntu2)
  • +
  • x11proto-trap-dev (3.4.3-0ubuntu2)
  • +
  • x11proto-video-dev (2.2.2-0ubuntu2)
  • +
  • x11proto-xext-dev (7.0.2-0ubuntu2)
  • +
  • xlibs-dev (7.0.0-0ubuntu45)
  • +
  • zlib1g-dev (1:1.2.3-6ubuntu4)
  • +
+
+ +

Ubuntu 7.04

+ +

+ Using the Synaptic Package Manager, download the following + packages (double indented packages are automatically aquired + due to package dependencies): + +

+
    +
  • build-essential
  • +
      +
    • dpkg-dev
    • +
    • g++
    • +
    • g++-4.1
    • +
    • libc6-dev
    • +
    • libstdc++6.4.1-dev
    • +
    • linux-libc-dev
    • +
    +
  • gawk
  • +
  • m4
  • +
  • libasound2-dev
  • +
  • libcupsys2-dev
  • +
      +
    • libgcrypt11-dev
    • +
    • lgnutls-dev
    • +
    • libgpg-error-dev
    • +
    • liblzo-dev
    • +
    • libopencdk8-dev
    • +
    • libpopt-dev
    • +
    • libtasn1-3-dev
    • +
    • zlib1g-dev
    • +
    +
  • sun-java6-jdk
  • +
      +
    • java-common
    • +
    • libltdl3
    • +
    • odbcinst1debian1
    • +
    • sun-java6-bin
    • +
    • sun-java6-jre
    • +
    • unixodbc
    • +
    +
  • xlibs-dev
  • +
      +
    • (many)
    • +
    +
  • x11proto-print-dev
  • +
  • libxaw7-dev
  • +
      +
    • libxaw-headers
    • +
    +
  • libxp-dev
  • +
  • libfreetype6-dev
  • +
+
+
+ + +
+ +

Source Directory Structure

+ +
+

+ The source code for the + OpenJDK is + delivered in 3 sibling directories: + hotspot, + langtools, + corba, + jaxws, + jaxp, + jdk + and + The hotspot directory contains the source code and make + files for + building the + OpenJDK + Hotspot Virtual Machine. + The jdk + 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. +

+ + +
+ +

Build Information

+ +
+

+ Building the + OpenJDK + is done with a gmake + 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 + ALT_* variables (alternates) + can be used to help the makefiles locate components. +

+ Refer to the bash/sh/ksh setup file + jdk/make/jdk_generic_profile.sh + if you need help in setting up your environment variables. + A build could be as simple as: +

+

+                bash
+                . jdk/make/jdk_generic_profile.sh
+                gmake sanity && gmake
+        
+
+

+ Of course ksh or sh would work too. + But some customization will probably be necessary. + The sanity 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. +

+ + +
+ +

GNU make (gmake)

+ +
+

+ The Makefiles in the + OpenJDK + are only valid when used with the + GNU version of the utility command make + (gmake). + A few notes about using GNU make: +

    +
  • + In general, you need GNU make version 3.78.1 or newer. +
  • +
  • + Place the location of the GNU make binary in the PATH. +
  • +
  • + Linux: + The /usr/bin/make command should work fine for you. +
  • +
  • + Solaris: + Do NOT use /usr/bin/make on Solaris. + If your Solaris system has the software + from the Solaris Companion CD installed, + you should use gmake + which will be located in either the /opt/sfw/bin or + /usr/sfw/bin directory. +
  • +
  • + Windows: + Make sure you start your build inside a bash/sh/ksh shell. +
    + WARNING: Watch out for make version 3.81, it may + not work due to a lack of support for drive letter paths + like C:/. Use a 3.80 version, or find a newer + version that has this problem fixed. +
  • +
+

+ Information on GNU make, and access to ftp download sites, are + available on the + + GNU make web site + . + The latest source to GNU make is available at + ftp.gnu.org/pub/gnu/make/. +

+ + +
+ +

Basic Linux System Setup

+ +
+

+ i586 only: + 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. +

+ X64 only: + 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. +

+ The build will use the tools contained in + /bin and + /usr/bin + of a standard installation of the Linux operating environment. + You should ensure that these directories are in your + PATH. +

+ Note that some Linux systems have a habit of pre-populating + your environment variables for you, for example JAVA_HOME + might get pre-defined for you to refer to the JDK installed on + your Linux system. + You will need to unset JAVA_HOME. + It's a good idea to run env and verify the + environment variables you are getting from the default system + settings make sense for building the + OpenJDK. +

+ + + +

Basic Linux Check List

+ +
+
    +
  1. + Install the + Bootstrap JDK, set + ALT_BOOTDIR. +
  2. +
  3. + Install the + Binary Plugs, set + ALT_BINARY_PLUGS_PATH. +
  4. +
  5. + Install or upgrade the FreeType development + package. +
  6. +
+
+ + +
+ +

Basic Solaris System Setup

+ +
+

+ 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. +

+ 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. +

+ The build uses the tools contained in /usr/ccs/bin + and /usr/bin of a standard developer or full installation of + the Solaris operating environment. +

+ + + +

Basic Solaris Check List

+ +
+
    +
  1. + Install the + Bootstrap JDK, set + ALT_BOOTDIR. +
  2. +
  3. + Install the + Binary Plugs, set + ALT_BINARY_PLUGS_PATH. +
  4. +
  5. + Install the + Sun Studio Compilers, set + ALT_COMPILER_PATH. +
  6. +
  7. + Install the + CUPS Include files, set + ALT_CUPS_HEADERS_PATH. +
  8. +
+
+ + +
+ +

Basic Windows System Setup

+ +
+

+ i586 only: + 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. + + 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. + +

+ X64 only: + 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. +

+ + + +

Windows Paths

+ +
+

+ Windows: + 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 \characters in pathnames. + Luckily on most Windows systems, you can use /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 cygpath utility to map pathnames with spaces + or the \character into the C:/ style of pathname + (called 'mixed'), e.g. + cygpath -s -m "path". +

+ The makefiles will try to translate any pathnames supplied + to it into the C:/ style automatically. +

+ Note that use of CYGWIN creates a unique problem with regards to + setting PATH. Normally on Windows + the PATH 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 PATH and + instead CYGWIN uses something like /cygdrive/c/path + which CYGWIN understands, but only CYGWIN understands. + So be careful with paths on Windows. +

+ + + +

Basic Windows Check List

+ +
+
    +
  1. + Install the + CYGWIN product. +
  2. +
  3. + Install the + Bootstrap JDK, set + ALT_BOOTDIR. +
  4. +
  5. + Install the + Binary Plugs, set + ALT_BINARY_PLUGS_PATH.. +
  6. +
  7. + Install the + Microsoft Visual Studio .NET 2003 Professional or the + Microsoft Platform SDK. +
  8. +
  9. + Setup all environment variables for compilers + (see compilers). +
  10. +
  11. + Install + Microsoft DirectX SDK. +
  12. +
+
+ + +
+ +

Build Dependencies

+ +
+

+ 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. + +

Bootstrap JDK

+ +
+

+ 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 + JDK 6 download site. + 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 + ALT_BOOTDIR + to point to the location of + the bootstrap JDK installation, this is the directory pathname + that contains a bin, lib, and include + It's also a good idea to also place its bin directory + in the PATH environment variable, although it's + not required. +

+ Solaris: + Some pre-installed JDK images may be available to you in the + directory /usr/jdk/instances. + If you don't set + ALT_BOOTDIR + the makefiles will look in that location for a JDK it can use. +

+ +

Binary Plugs

+ +
+

+ 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 Downloads + link at + the OpenJDK site, + install the bundle, + and make sure you set + ALT_BINARY_PLUGS_PATH + to the root of this installation. +

+ +

Certificate Authority File (cacert)

+ +
+

+ See + www.wikipedia.org/wiki/CAcert + 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 + ALT_CACERTS_FILE + 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. +

+ +

Compilers

+ +
+ + + Linux gcc/binutils + + +
+

+ 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 /usr/bin. +

+ + Solaris: Sun Studio + +
+

+ At a minimum, the + + Sun Studio 11 Compilers + (containing version 5.8 of the C and C++ compilers) is required, + with patches from the + + SunSolve web site. +

+ Set + ALT_COMPILER_PATH + to point to the location of + the compiler binaries, and place this location in the PATH. +

+ The Sun Studio Express compilers at: + + Sun Studio Express Download site + are also an option, although these compilers have not + been extensively used yet. +

+ + + Windows i586: Microsoft Visual Studio .NET 2003 Professional + + +
+

+ 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 VS71COMNTOOLS which + is set by the Microsoft Visual Studio .NET installer. +

+ Once the compiler is installed, + it is recommended that you run VCVARS32.BAT + to set the compiler environment variables + MSVCDIR, + INCLUDE, + LIB, and + PATH + prior to building the + OpenJDK. + The above environment variables MUST be set. +

+ The Microsoft Visual Studio .NET 2005 (VS2005) compiler + will not work at this time due to the new runtime dll + and the manifest requirements. +

+ + + Windows X64: Microsoft Platform SDK April 2005 + + +
+

+ On X64, + 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. +

+ Once the Platform SDK is installed, + it is recommended that you run SetEnv.Cmd /X64 + to set the compiler environment variables + MSSDK, + MSTOOLS, + INCLUDE, + LIB, and + PATH + prior to building the + OpenJDK. + The above environment variables MUST be set. +

+ 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. +

+ +
+ +

Common UNIX Printing System (CUPS) Headers (Solaris & Linux)

+ +
+

+ Solaris: + CUPS header files are required for building the + OpenJDK on Solaris. + The Solaris header files can be obtained by installing + the package SFWcups from the Solaris Software + Companion CD/DVD, these often will be installed into + /opt/sfw/cups. +

+ Linux: + 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. +

+ The CUPS header files can always be downloaded from + www.cups.org. + The variable + ALT_CUPS_HEADERS_PATH + can be used to override the default location of the + CUPS Header files. +

+ +

FreeType 2

+ +
+

+ 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. +

+

+ You can always download latest FreeType version from the + FreeType website. +

+

+ 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 + ALT_FREETYPE_LIB_PATH + and + ALT_FREETYPE_HEADERS_PATH + to refer to place where library and header files are installed. +

+
+ +

Advanced Linux Sound Architecture (ALSA) (Linux only)

+ +
+

+ Linux only: + 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 + + Advanced Linux Sound Architecture Site. +

+ +

Windows Specific Dependencies

+ +
+ + Unix Command Tools (CYGWIN) + +
+

+ The + OpenJDK + requires access to a set of unix command tools + on Windows which can be supplied by + CYGWIN. +

+ The + OpenJDK + build + requires CYGWIN version 1.5.12 or newer. + Information about CYGWIN can + be obtained from the CYGWIN website at + www.cygwin.com. +

+ 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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Binary NamePackageDescription
ar.exeDevelbinutils: The GNU assembler, linker and binary + utilities
make.exeDevelmake: The GNU version of the 'make' utility
m4.exeInterpretersm4: GNU implementation of the traditional Unix macro + processor
cpio.exeUtilscpio: A program to manage archives of files
file.exeUtilsfile: Determines file type using 'magic' numbers
+
+
+ + + Microsoft DirectX 9.0 SDK header files and libraries + + +
+

+ Microsoft DirectX 9.0 SDK (Summer 2004) + headers are required for building + OpenJDK. + This SDK can be downloaded from + + Microsoft DirectX 9.0 SDK (Summer 2004). + If the link above becomes obsolete, the SDK can be found from + the Microsoft Download Site + (search with "DirectX 9.0 SDK Update Summer 2004"). + The location of this SDK can be set with + ALT_DXSDK_PATH + but it's normally found via the DirectX environment variable + DXSDK_DIR. +

+ + + MSVCRT.DLL + + +
+

+ i586 only: + The + OpenJDK + 32bit build requires + access to MSVCRT.DLL + version 6.00.8337.0 or newer. + If the MSVCRT.DLL is not installed in + the system32 directory set the + ALT_MSVCRT_DLL_PATH + variable to the location. +

+ X64 only: + The OpenJDK 64bit build requires access to + MSVCRT.DLL version 7.0.3790.0 or newer, which is + usually supplied by the + Platform SDK. + If it is not available from the Platform SDK, + set the + ALT_MSVCRT_DLL_PATH + variable to the location. +

+ + + MSVCR71.DLL + + +
+

+ i586 only: + The + OpenJDK + build requires access to + MSVCR71.DLL version 7.10.3052.4 or newer which should be + supplied by the + Visual Studio product + If the MSVCR71.DLL is not available from the + Visual Studio product + set the + ALT_MSVCR71_DLL_PATH + variable to the location. +

+ +
+ + +
+ + +
+ +

Creating the Build

+ +
+

+ 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 + gmake + command. +

+

    +
  1. Use the sanity rule to double check all the ALT settings: +
    + + gmake + sanity + [ARCH_DATA_MODEL=32 or 64] + [other "ALT_" overrides] + +
    +
  2. +
  3. Start the build with the command: +
    + + gmake + [ARCH_DATA_MODEL=32 or 64] + [ALT_OUTPUTDIR=output_directory] + [other "ALT_" overrides] + +
    +
  4. +
+

+ Solaris: + 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 -d32 or -d64 options. +

+ + +
+ +

Testing the Build

+ +
+

+ When the build is completed, you should see the generated + binaries and associated files in the j2sdk-image + directory in the output directory. + The default output directory is + build/platform, + where platform is one of +

    +
  • solaris-sparc
  • +
  • solaris-sparcv9
  • +
  • solaris-i586
  • +
  • solaris-amd64
  • +
  • linux-i586
  • +
  • linux-amd64
  • +
  • windows-i586
  • +
  • windows-amd64
  • +
+ In particular, the + build/platform/j2sdk-image/bin + directory should contain executables for the + OpenJDK + tools and utilities. +

+ You can test that the build completed properly by using the build + to run the various demos that you will find in the + build/platform/j2sdk-image/demo + directory. +

+ The provided regression tests can be run with the jtreg + utility from + the jtreg site. +

+ + +
+ +

Environment/Make Variables

+ +

+Some of the +environment or make variables (just called variables in this +document) that can impact the build are: + +

+ +
+ +
PATH
+
Typically you want to set the PATH to include: +
    +
  • The location of the GNU make binary
  • +
  • The location of the JDK 6 java + (see Bootstrap JDK)
  • +
  • The location of the C/C++ compilers + (see compilers)
  • +
  • The location or locations for the Unix command utilities + (e.g. /usr/bin)
  • +
+
+ +
ARCH_DATA_MODEL
+
The ARCH_DATA_MODEL 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 ARCH_DATA_MODEL to 32 for generating 32-bit binaries, + or to 64 for generating 64-bit binaries. +
+ +
ALT_BOOTDIR
+
+ The location of the bootstrap JDK installation. + See Bootstrap JDK for more information. + You should always install your own local Bootstrap JDK and + always set ALT_BOOTDIR explicitly. +
+ +
ALT_OUTPUTDIR
+
+ An override for specifying the (absolute) path of where the + build output is to go. + The default output directory will be build/platform. +
+ +
ALT_COMPILER_PATH
+
+ The location of the C/C++ compiler. + The default varies depending on the platform. +
+ +
ALT_CACERTS_FILE
+
+ The location of the cacerts file. + The default will refer to + jdk/src/share/lib/security/cacerts. +
+ +
ALT_BINARY_PLUGS_PATH
+
+ The location of the binary plugs installation. + See Binary Plugs for more information. + You should always have a local copy of a + recent Binary Plugs install image + and set this variable to that location. +
+ +
ALT_CUPS_HEADERS_PATH
+
+ The location of the CUPS header files. + See CUPS information for more information. + If this path does not exist the fallback path is + /usr/include. +
+ + +
ALT_FREETYPE_LIB_PATH
+
+ The location of the FreeType shared library. + See FreeType information for details. +
+ +
ALT_FREETYPE_HEADERS_PATH
+
+ The location of the FreeType header files. + See FreeType information for details. +
+ +
Windows specific:
+
+
+
ALT_MSDEVTOOLS_PATH
+
+ The location of the Microsoft Visual Studio .NET 2003 + tools 'bin' directory. + The default is usually derived from + ALT_COMPILER_PATH. +
+ +
ALT_DXSDK_PATH
+
+ The location of the + Microsoft DirectX 9 SDK. + The default will be to try and use the DirectX environment + variable DXSDK_DIR, + failing that, look in C:/DXSDK. +
+ +
ALT_MSVCRT_DLL_PATH
+
+ The location of the + MSVCRT.DLL. +
+ +
ALT_MSVCR71_DLL_PATH
+
+ i586 only: + The location of the + MSVCR71.DLL. +
+
+
+ +
+
+ + +
+ +

Troubleshooting

+ +
+

+ 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 + Table of Contents. + +

+ You can validate your build environment by using the sanity + 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. + +

+ Some of the more common problems with builds are briefly described + below, with suggestions for remedies. + +

    +
  • + Slow Builds: +
    +

    + If your build machine seems to be overloaded from too many + simultaneous C++ compiles, try setting the HOTSPOT_BUILD_JOBS + variable to 1 (if you're using a multiple CPU + machine, setting it to more than the the number of CPUs is probably + not a good idea). +

    + Creating the javadocs can be very slow, if you are running + javadoc, consider skipping that step. +

    + 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. +

    + Faster compiles are possible using a tool called + ccache. +

    +
  • +
  • + File time issues: +
    +

    + If you see warnings that refer to file time stamps, e.g. +

    + Warning message: File `xxx' has modification time in + the future. +
    + Warning message: Clock skew detected. Your build may + be incomplete. +
    +

    + 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 assert keyword + in the 1.4 source code. +

    + If you see these warnings, reset the clock on the build + machine, run "gmake clobber" or delete the directory + containing the build output, and restart the build from the beginning. +

    +
  • +
  • + Error message: Trouble writing out table to disk +
    +

    + Increase the amount of swap space on your build machine. +

    +
  • +
  • + Error Message: libstdc++ not found: +
    + 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. +
    +
  • +
  • + Error Message: cannot restore segment prot after reloc +
    + This is probably an issue with SELinux (See + http://en.wikipedia.org/wiki/SELinux). + Parts of the VM is built without the -fPIC for + performance reasons. +

    + To completely disable SELinux: +

      + +
    1. $ su root
    2. +
    3. # system-config-securitylevel
    4. +
    5. In the window that appears, select the SELinux tab
    6. +
    7. Disable SELinux
    8. +
    +

    + Alternatively, instead of completely disabling it you could + disable just this one check. +

      +
    1. Select System->Administration->SELinux Management
    2. +
    3. In the SELinux Management Tool which appears, + select "Boolean" from the menu on the left
    4. +
    5. Expand the "Memory Protection" group
    6. +
    7. Check the first item, labeled + "Allow all unconfined executables to use libraries requiring text relocation ..."
    8. +
    +
    +
  • +
+
+ +
diff -r 000000000000 -r fd16c54261b3 THIRD_PARTY_README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/THIRD_PARTY_README Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,1616 @@ +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 diff -r 000000000000 -r fd16c54261b3 make/Defs-internal.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/Defs-internal.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,254 @@ +# +# 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 + + diff -r 000000000000 -r fd16c54261b3 make/README.pre-components --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/README.pre-components Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,42 @@ +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. diff -r 000000000000 -r fd16c54261b3 make/corba-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/corba-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,52 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/deploy-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/deploy-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,107 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/hotspot-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/hotspot-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,98 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/install-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/install-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,105 @@ +# +# 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 diff -r 000000000000 -r fd16c54261b3 make/jaxp-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jaxp-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,52 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/jaxws-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jaxws-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,52 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/jdk-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jdk-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,131 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/jprt.config --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jprt.config Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,372 @@ +#!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 + diff -r 000000000000 -r fd16c54261b3 make/jprt.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jprt.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,60 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/jprt.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/jprt.properties Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,56 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/langtools-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/langtools-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,47 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/sanity-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sanity-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,356 @@ +# +# 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 diff -r 000000000000 -r fd16c54261b3 make/sponsors-rules.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sponsors-rules.gmk Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,72 @@ +# +# 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 + diff -r 000000000000 -r fd16c54261b3 make/templates/bsd-header --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/templates/bsd-header Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,28 @@ +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. diff -r 000000000000 -r fd16c54261b3 make/templates/gpl-cp-header --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/templates/gpl-cp-header Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,22 @@ +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. diff -r 000000000000 -r fd16c54261b3 make/templates/gpl-header --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/templates/gpl-header Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,20 @@ +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.