Initial load
This commit is contained in:
commit
686d76f772
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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.
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
|
@ -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.
|
|
@ -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.
|
Loading…
Reference in New Issue