Initial load jdk7-b24
authorduke
Sat Dec 01 00:00:00 2007 +0000 (9 months ago)
changeset 0cfeea66a3fa8
child 10a5c5386a678
Initial load
.hgignore
ASSEMBLY_EXCEPTION
LICENSE
Makefile
README
README-builds.html
THIRD_PARTY_README
make/Defs-internal.gmk
make/README.pre-components
make/corba-rules.gmk
make/deploy-rules.gmk
make/hotspot-rules.gmk
make/install-rules.gmk
make/jaxp-rules.gmk
make/jaxws-rules.gmk
make/jdk-rules.gmk
make/jprt.config
make/jprt.gmk
make/jprt.properties
make/langtools-rules.gmk
make/sanity-rules.gmk
make/sponsors-rules.gmk
make/templates/bsd-header
make/templates/gpl-cp-header
make/templates/gpl-header
--- /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/
--- /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 <http://www.gnu.org/copyleft/gpl.html> version 2
+only ("GPL2"), with the following clarification and special exception.
+
+ Linking this OpenJDK Code statically or dynamically with other code
+ is making a combined work based on this library. Thus, the terms
+ and conditions of GPL2 cover the whole combination.
+
+ As a special exception, Sun gives you permission to link this
+ OpenJDK Code with certain code licensed by Sun as indicated at
+ http://openjdk.java.net/legal/exception-modules-2007-05-08.html
+ ("Designated Exception Modules") to produce an executable,
+ regardless of the license terms of the Designated Exception Modules,
+ and to copy and distribute the resulting executable under GPL2,
+ provided that the Designated Exception Modules continue to be
+ governed by the licenses under which they were offered by Sun.
+
+As such, it allows licensees and sublicensees of Sun's GPL2 OpenJDK Code to
+build an executable that includes those portions of necessary code that Sun
+could not provide under GPL2 (or that Sun has provided under GPL2 with the
+Classpath exception). If you modify or add to the OpenJDK code, that new
+GPL2 code may still be combined with Designated Exception Modules if the
+new code is made subject to this exception by its copyright holder.
--- /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) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc., 59
+ Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it
+starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
+ with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
+ software, and you are welcome to redistribute it under certain conditions;
+ type 'show c' for details.
+
+The hypothetical commands 'show w' and 'show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may be
+called something other than 'show w' and 'show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school,
+if any, to sign a "copyright disclaimer" for the program, if necessary. Here
+is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ 'Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ signature of Ty Coon, 1 April 1989
+
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General Public
+License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL
+
+Certain source files distributed by Sun Microsystems, Inc. are subject to
+the following clarification and special exception to the GPL, but only where
+Sun has expressly included in the particular source file's header the words
+"Sun designates this particular file as subject to the "Classpath" exception
+as provided by Sun in the LICENSE file that accompanied this code."
+
+ Linking this library statically or dynamically with other modules is making
+ a combined work based on this library. Thus, the terms and conditions of
+ the GNU General Public License cover the whole combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent modules,
+ and to copy and distribute the resulting executable under terms of your
+ choice, provided that you also meet, for each linked independent module,
+ the terms and conditions of the license of that module. An independent
+ module is a module which is not derived from or based on this library. If
+ you modify this library, you may extend this exception to your version of
+ the library, but you are not obligated to do so. If you do not wish to do
+ so, delete this exception statement from your version.
--- /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=<dir>, changing from product to fastdebug you may want \n\
+ \t to use the clean target first. \n\
+- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\
+ \t builds or previous release JDK builds will work. \n\
+- The fastest builds have been when the sources and the BOOTDIR are on \n\
+ \t local disk. \n\
+"
+
+examples_help:
+ @$(ECHO) "\
+--- Examples --- \n\
+ $(MAKE) fastdebug_build \n\
+ $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
+ $(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug_build \n\
+ $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
+ $(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\
+ $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\
+"
+
+################################################################
+# Source and binary plug bundling
+################################################################
+ifeq ($(BUNDLE_RULES_AVAILABLE), true)
+ include $(BUNDLE_RULES)
+endif
+
+################################################################
+# Cycle build. Build the jdk, use it to build the jdk again.
+################################################################
+
+ABS_BOOTJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
+
+boot_cycle:
+ $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTJDK_OUTPUTDIR) product_build
+ $(MAKE) ALT_BOOTDIR=$(ABS_BOOTJDK_OUTPUTDIR)/j2sdk-image product_build
+
+################################################################
+# JPRT rule to build
+################################################################
+
+include ./make/jprt.gmk
+
+################################################################
+# PHONY
+################################################################
+
+.PHONY: all build what clobber insane \
+ fastdebug_build debug_build product_build setup \
+ dev dev-build dev-sanity dev-clobber
+
+# FIXUP: Old j2se targets
+j2se_fastdebug_only: jdk_fastdebug_only
+j2se_only: jdk_only
+
--- /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.
+
--- /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 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head><title>OpenJDK Build README</title></head>
+
+<!-- ------------------------------------------------------ -->
+<hr noshade="noshade" size="3">
+
+<center>
+ <h1>OpenJDK Build README</h1>
+</center>
+
+<!-- ------------------------------------------------------ -->
+<hr noshade="noshade" size="3">
+
+<h2><a name="introduction">Introduction</a></h2>
+
+<blockquote>
+ <p>
+ This README file contains build instructions for the
+ <a href="http://openjdk.java.net">OpenJDK</a>.
+ Building the source code for the
+ OpenJDK
+ requires
+ a certain degree of technical expertise.
+</blockquote>
+
+<!-- ------------------------------------------------------ -->
+<hr noshade="noshade" size="3">
+
+<h2><a name="contents">Contents</a></h2>
+
+<blockquote>
+ <ul>
+ <li><a href="#introduction">Introduction</a></li>
+ <li><a href="#MBE">Minimum Build Environments</a></li>
+ <li><a href="#SDBE">Specific Developer Build Environments</a></li>
+ <li><a href="#directories">Source Directory Structure</a> </li>
+ <li><a href="#building">Build Information</a>
+ <ul type="disc">
+ <li><a href="#gmake">GNU Make (<tt><i>gmake</i></tt>)</a> </li>
+ <li><a href="#linux">Basic Linux System Setup</a> </li>
+ <li><a href="#solaris">Basic Solaris System Setup</a> </li>
+ <li><a href="#windows">Basic Windows System Setup</a> </li>
+ <li><a href="#dependencies">Build Dependencies</a> </li>
+ <ul type="disc">
+ <li><a href="#bootjdk">Bootstrap JDK</a> </li>
+ <li><a href="#binaryplugs">Binary Plugs</a> </li>
+ <li><a href="#cacerts">Certificate Authority File (cacert)</a> </li>
+ <li><a href="#compilers">Compilers</a>
+ <ul>
+ <li><a href="#msvc">Microsoft Visual Studio</a> </li>
+ <li><a href="#mssdk">Microsoft Platform SDK</a> </li>
+ <li><a href="#gcc">Linux gcc/binutils</a> </li>
+ <li><a href="#studio">Sun Studio</a> </li>
+ </ul>
+ </li>
+ <li>Linux and Solaris:
+ <ul>
+ <li><a href="#cups">CUPS Include files</a> </li>
+ </ul>
+ </li>
+ <li>Windows only:
+ <ul>
+ <li>Unix Command Tools (<a href="#cygwin">CYGWIN</a>)</li>
+ <li><a href="#dxsdk">DirectX 9.0 SDK</a> </li>
+ </ul>
+ </li>
+ </ul>
+ </ul>
+ </li>
+ <li><a href="#creating">Creating the Build</a> </li>
+ <li><a href="#testing">Testing the Build</a> </li>
+ <li><a href="#variables">Environment/Make Variables</a></li>
+ <li><a href="#troubleshooting">Troubleshooting</a></li>
+ </ul>
+</blockquote>
+
+<!-- ------------------------------------------------------ -->
+<hr noshade="noshade" size="3">
+
+<h2><a name="MBE">Minimum Build Environments</a></h2>
+
+<blockquote>
+ <p>
+ This file often describes specific requirements for what we call the
+ "minimum build environments" (MBE) for the JDK.
+ Building with the MBE will generate the most compatible
+ bits that install on, and run correctly on, the most variations
+ of the same base OS and hardware architecture.
+ These usually represent what is often called the
+ least common denominator platforms.
+ It is understood that most developers will NOT be using these
+ specific platforms, and in fact creating these specific platforms
+ may be difficult due to the age of some of this software.
+ <p>
+
+ <p>
+ The minimum OS and C/C++ compiler versions needed for building the
+ OpenJDK:
+ <p>
+ <center>
+ <table border="1">
+ <thead>
+ <tr>
+ <th>Base OS and Architecture</th>
+ <th>OS</th>
+ <th>Compiler</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Linux X86 (32bit)</td>
+ <td>Red Hat Enterprise Linux 4 </td>
+ <td>gcc 4 </td>
+ </tr>
+ <tr>
+ <td>Linux X64 (64bit)</td>
+ <td>Red Hat Enterprise Linux 4 </td>
+ <td>gcc 4 </td>
+ </tr>
+ <tr>
+ <td>Solaris SPARC (32bit)</td>
+ <td>Solaris 10 + patches
+ <br>
+ See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
+ </td>
+ <td>Sun Studio 11 </td>
+ </tr>
+ <tr>
+ <td>Solaris SPARCV9 (64bit)</td>
+ <td>Solaris 10 + patches
+ <br>
+ See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
+ </td>
+ <td>Sun Studio 11</td>
+ </tr>
+ <tr>
+ <td>Solaris X86 (32bit)</td>
+ <td>Solaris 10 + patches
+ <br>
+ See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
+ </td>
+ <td>Sun Studio 11</td>
+ </tr>
+ <tr>
+ <td>Solaris X64 (64bit)</td>
+ <td>Solaris 10 + patches
+ <br>
+ See <a href="http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/JavaSE">SunSolve</a> for patch downloads.
+ </td>
+ <td>Sun Studio 11</td>
+ </tr>
+ <tr>
+ <td>Windows X86 (32bit)</td>
+ <td>Windows XP</td>
+ <td>Microsoft Visual Studio .NET 2003 Professional</td>
+ </tr>
+ <tr>
+ <td>Windows X64 (64bit)</td>
+ <td>Windows Server 2003 - Enterprise x64 Edition</td>
+ <td>Microsoft Platform SDK - April 2005</td>
+ </tr>
+ </tbody>
+ </table>
+ </center>
+</blockquote>
+
+<!-- ------------------------------------------------------ -->
+<hr noshade="noshade" size="3">
+
+<h2><a name="SDBE">Specific Developer Build Environments</a></h2>
+
+<blockquote>
+ <p>
+ We won't be listing all the possible environments, but
+ we will try to provide what information we have available to us.
+</blockquote>
+
+<h3><a name="fedora">Fedora</a></h3>
+
+<blockquote>
+ TBD
+</blockquote>
+
+<h3><a name="debian">Debian</a></h3>
+
+<blockquote>
+ TBD
+</blockquote>
+
+<h3><a name="ubuntu">Ubuntu</a></h3>
+
+<blockquote>
+ <p>
+ In addition to needing the Bootstrap JDK and the Binary Plugs,
+ when building on Ubuntu you will need to
+ make sure certain packages are installed.
+ In particular, certain X11 packages, make, m4, gawk, gcc 4,
+ binutils, cups, freetype
+ and alsa.
+
+ <h4>Ubuntu 6.06</h4>
+
+ <p>
+ The following list of packages for Ubuntu 6.06 is a working set that
+ does appear to work.
+
+ <p>
+ <b>Note that it's quite possible that some of these
+ packages are not required, so anyone discovering that some of the
+ packages listed below are NOT required,
+ please let the
+ OpenJDK
+ team know.</b>
+ <p>
+ All the packages below can be installed with the
+ Synaptic Package manager provided with the base Ubuntu 6.06 release.
+
+ <blockquote>
+ <ul>
+ <li>binutils (2.16.1cvs20060117-1ubuntu2.1)</li>
+ <li>cpp (4:4.0.3-1)</li>
+ <li>cpp-4.0 (4.0.3-1ubuntu5)</li>
+ <li>libfreetype6-dev</li>
+ <li>g++ (4:4.0.3-1)</li>
+ <li>g++-4.0 (4.0.3-1ubuntu5)</li>
+ <li>gawk (1:3.1.5-2build1)</li>
+ <li>gcc (4:4.0.3-1)</li>
+ <li>gcc-4.0 (4.0.3-1ubuntu5)</li>
+ <li>libasound2-dev (1.0.10-2ubuntu4)</li>
+ <li>libc6 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li>
+ <li>libc6-dev (2.3.6-0ubuntu20.4)</li>
+ <li>libc6-i686 (2.3.6-0ubuntu20) to 2.3.6-0ubuntu20.4</li>
+ <li>libcupsys2-dev (1.2.2-0ubuntu0.6.06)</li>
+ <li>libgcrypt11-dev (1.2.2-1)</li>
+ <li>libgnutls-dev (1.2.9-2ubuntu1.1)</li>
+ <li>libgnutls12 (1.2.9-2ubuntu1) to 1.2.9-2ubuntu1.1</li>
+ <li>libgpg-error-dev (1.1-4)</li>
+ <li>libice-dev (2:1.0.0-0ubuntu2)</li>
+ <li>liblockfile1 (1.06.1)</li>
+ <li>libopencdk8-dev (0.5.7-2)</li>
+ <li>libpopt-dev (1.7-5)</li>
+ <li>libsm-dev (2:1.0.0-0ubuntu2)</li>
+ <li>libstdc++6-4.0-dev (4.0.3-1ubuntu5)</li>
+ <li>libtasn1-2-dev (0.2.17-1ubuntu1)</li>
+ <li>libx11-dev (2:1.0.0-0ubuntu9)</li>
+ <li>libxau-dev (1:1.0.0-0ubuntu4)</li>
+ <li>libxaw-headers (2:1.0.1-0ubuntu3)</li>
+ <li>libxaw7-dev (2:1.0.1-0ubuntu3)</li>
+ <li>libxdmcp-dev (1:1.0.0-0ubuntu2)</li>
+ <li>libxext-dev (2:1.0.0-0ubuntu4)</li>
+ <li>libxi-dev (2:1.0.0-0ubuntu3) </li>
+ <li>libxmu-dev (2:1.0.0-0ubuntu3)</li>
+ <li>libxmu-headers (2:1.0.0-0ubuntu3)</li>
+ <li>libxmuu-dev (2:1.0.0-0ubuntu3)</li>
+ <li>libxp-dev (6.8.2-11ubuntu2)</li>
+ <li>libxpm-dev (1:3.5.4.2-0ubuntu3)</li>
+ <li>libxrandr-dev (1:1.1.0.2-0ubuntu4)</li>
+ <li>libxt-dev (1:1.0.0-0ubuntu3)</li>
+ <li>libxtrap-dev (2:1.0.0-0ubuntu2)</li>
+ <li>libxtst-dev (2:1.0.1-0ubuntu2)</li>
+ <li>libxv-dev (2:1.0.1-0ubuntu3)</li>
+ <li>linux-kernel-headers (2.6.11.2-0ubuntu18)</li>
+ <li>m4 (1.4.4-1)</li>
+ <li>make (3.80+3.81.b4-1)</li>
+ <li>ssl-cert (1.0.13)</li>
+ <li>x-dev (7.0.4-0ubuntu2)</li>
+ <li>x11proto-core-dev (7.0.4-0ubuntu2)</li>
+ <li>x11proto-input-dev (1.3.2-0ubuntu2)</li>
+ <li>x11proto-kb-dev (1.0.2-0ubuntu2)</li>
+ <li>x11proto-randr-dev (1.1.2-0ubuntu2)</li>
+ <li>x11proto-record-dev (1.13.2-0ubuntu2)</li>
+ <li>x11proto-trap-dev (3.4.3-0ubuntu2)</li>
+ <li>x11proto-video-dev (2.2.2-0ubuntu2)</li>
+ <li>x11proto-xext-dev (7.0.2-0ubuntu2)</li>
+ <li>xlibs-dev (7.0.0-0ubuntu45)</li>
+ <li>zlib1g-dev (1:1.2.3-6ubuntu4)</li>
+ </ul>
+ </blockquote>
+
+ <h4>Ubuntu 7.04</h4>
+
+ <p>
+ Using the Synaptic Package Manager, download the following
+ packages (double indented packages are automatically aquired
+ due to package dependencies):
+
+ <blockquote>
+ <ul>
+ <li>build-essential</li>
+ <ul>
+ <li>dpkg-dev</li>
+ <li>g++</li>
+ <li>g++-4.1</li>
+ <li>libc6-dev</li>
+ <li>libstdc++6.4.1-dev</li>
+ <li>linux-libc-dev</li>
+ </ul>
+ <li>gawk</li>
+ <li>m4</li>
+ <li>libasound2-dev</li>
+ <li>libcupsys2-dev</li>
+ <ul>
+ <li>libgcrypt11-dev</li>
+ <li>lgnutls-dev</li>
+ <li>libgpg-error-dev</li>
+ <li>liblzo-dev</li>
+ <li>libopencdk8-dev</li>
+ <li>libpopt-dev</li>
+ <li>libtasn1-3-dev</li>
+ <li>zlib1g-dev</li>
+ </ul>
+ <li>sun-java6-jdk</li>
+ <ul>
+ <li>java-common</li>
+ <li>libltdl3</li>
+ <li>odbcinst1debian1</li>
+