README-builds.html
author attila
Mon, 19 Oct 2015 08:23:03 +0200
changeset 33330 35531ae624ef
parent 29865 60e4eefce6e4
child 33030 de12d9a875ed
permissions -rw-r--r--
8139304: Remove elaborate call site descriptor class hierarchy and factory for them. Remove AutoDiscovery, DefaultPrelinkFilter, and BottomGuardingDynamicLinker as they can be inlined into DynamicLinkerFactory. Remove CallerSensitiveDetector as it can be inlined into AbstractJavaLinker. Make ClassMap non-public. Reviewed-by: hannesw, sundar
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
fd16c54261b3 Initial load
duke
parents:
diff changeset
     2
<html>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
     3
    <head>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
     4
        <title>OpenJDK Build README</title>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
     5
    </head>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
     6
    <body style="background-color:aquamarine">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
     7
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
     8
        <!-- ====================================================== -->
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
     9
        <table width="100%">
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    10
            <tr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    11
                <td align="center">
819
1196fff6b3f6 6704966: OpenJDK README needs additional info on how to build freetype
ohair
parents: 333
diff changeset
    12
                    <img alt="OpenJDK" 
1196fff6b3f6 6704966: OpenJDK README needs additional info on how to build freetype
ohair
parents: 333
diff changeset
    13
                         src="http://openjdk.java.net/images/openjdk.png" 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    14
                         width=256>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    15
                </td>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    16
            </tr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    17
            <tr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    18
                <td align=center>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    19
                    <h1>OpenJDK Build README</h1>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    20
                </td>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    21
            </tr>
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    22
        </table>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    23
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    24
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    25
        <hr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    26
        <h2><a name="introduction">Introduction</a></h2>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    27
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    28
            This README file contains build instructions for the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    29
            <a href="http://openjdk.java.net"  target="_blank">OpenJDK</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    30
            Building the source code for the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    31
            OpenJDK
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    32
            requires
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    33
            a certain degree of technical expertise.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    34
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    35
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    36
            <h3>!!!!!!!!!!!!!!! THIS IS A MAJOR RE-WRITE of this document. !!!!!!!!!!!!!</h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    37
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    38
                Some Headlines:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    39
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    40
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    41
                        The build is now a "<code>configure &amp;&amp; make</code>" style build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    42
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    43
                    <li>
29865
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
    44
                        Any GNU make 3.81 or newer should work, except on
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
    45
                        Windows where 4.0 or newer is recommended.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    46
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    47
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    48
                        The build should scale, i.e. more processors should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    49
                        cause the build to be done in less wall-clock time
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    50
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    51
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    52
                        Nested or recursive make invocations have been significantly
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    53
                        reduced, as has the total fork/exec or spawning
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    54
                        of sub processes during the build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    55
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    56
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    57
                        Windows MKS usage is no longer supported
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    58
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    59
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    60
                        Windows Visual Studio <code>vsvars*.bat</code> and 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    61
                        <code>vcvars*.bat</code> files are run automatically
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    62
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    63
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    64
                        Ant is no longer used when building the OpenJDK
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    65
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    66
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    67
                        Use of ALT_* environment variables for configuring the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    68
                        build is no longer supported
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    69
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    70
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    71
            </blockquote>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    72
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    73
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    74
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    75
        <hr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    76
        <h2><a name="contents">Contents</a></h2>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    77
        <blockquote>
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    78
            <ul>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    79
                <li><a href="#introduction">Introduction</a></li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    80
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    81
                <li><a href="#hg">Use of Mercurial</a>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    82
                    <ul>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    83
                        <li><a href="#get_source">Getting the Source</a></li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    84
                        <li><a href="#repositories">Repositories</a></li>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    85
                    </ul>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    86
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    87
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    88
                <li><a href="#building">Building</a>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
    89
                    <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    90
                        <li><a href="#setup">System Setup</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    91
                            <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    92
                                <li><a href="#linux">Linux</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    93
                                <li><a href="#solaris">Solaris</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    94
                                <li><a href="#macosx">Mac OS X</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    95
                                <li><a href="#windows">Windows</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    96
                            </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    97
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    98
                        <li><a href="#configure">Configure</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    99
                        <li><a href="#make">Make</a></li>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
   100
                    </ul>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
   101
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   102
                <li><a href="#testing">Testing</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   103
            </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   104
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   105
            <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   106
                <li><a href="#hints">Appendix A: Hints and Tips</a>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   107
                    <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   108
                        <li><a href="#faq">FAQ</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   109
                        <li><a href="#performance">Build Performance Tips</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   110
                        <li><a href="#troubleshooting">Troubleshooting</a></li>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   111
                    </ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   112
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   113
                <li><a href="#gmake">Appendix B: GNU Make Information</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   114
                <li><a href="#buildenvironments">Appendix C: Build Environments</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   115
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   116
                <!-- Leave out
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   117
                <li><a href="#mapping">Appendix D: Mapping Old Builds to the New Builds</a></li>    
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   118
                -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   119
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   120
            </ul>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   121
        </blockquote>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   122
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   123
        <!-- ====================================================== -->
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   124
        <hr>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   125
        <h2><a name="hg">Use of Mercurial</a></h2>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   126
        <blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   127
            The OpenJDK sources are maintained with the revision control system
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   128
            <a href="http://mercurial.selenic.com/wiki/Mercurial">Mercurial</a>.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   129
            If you are new to Mercurial, please see the
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   130
            <a href="http://mercurial.selenic.com/wiki/BeginnersGuides">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   131
                Beginner Guides</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   132
            or refer to the <a href="http://hgbook.red-bean.com/">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   133
                Mercurial Book</a>.
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   134
            The first few chapters of the book provide an excellent overview of
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   135
            Mercurial, what it is and how it works.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   136
            <br>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   137
            For using Mercurial with the OpenJDK refer to the
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
   138
            <a href="http://openjdk.java.net/guide/repositories.html#installConfig">
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
   139
                Developer Guide: Installing and Configuring Mercurial</a>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   140
            section for more information.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   141
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   142
            <h3><a name="get_source">Getting the Source</a></h3>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   143
            <blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   144
                To get the entire set of OpenJDK Mercurial repositories
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   145
                use the script <code>get_source.sh</code> located in the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   146
                root repository:
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   147
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   148
                    <code>
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   149
                        hg clone http://hg.openjdk.java.net/jdk9/jdk9
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   150
                        <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   151
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   152
                        cd <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   153
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   154
                        bash ./get_source.sh
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   155
                    </code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   156
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   157
                Once you have all the repositories, keep in mind that each
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   158
                repository is its own independent repository.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   159
                You can also re-run <code>./get_source.sh</code> anytime to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   160
                pull over all the latest changesets in all the repositories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   161
                This set of nested repositories has been given the term
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   162
                "forest" and there are various ways to apply the same
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   163
                <code>hg</code> command to each of the repositories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   164
                For example, the script <code>make/scripts/hgforest.sh</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   165
                can be used to repeat the same <code>hg</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   166
                command on every repository, e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   167
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   168
                    <code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   169
                        cd <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   170
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   171
                        bash ./make/scripts/hgforest.sh status
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   172
                    </code>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   173
                </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   174
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   175
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   176
            <h3><a name="repositories">Repositories</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   177
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   178
                <p>The set of repositories and what they contain:</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   179
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   180
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   181
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   182
                            <th>Repository</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   183
                            <th>Contains</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   184
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   185
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   186
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   187
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   188
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   189
                                . (root)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   190
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   191
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   192
                                common configure and makefile logic
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   193
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   194
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   195
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   196
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   197
                                hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   198
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   199
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   200
                                source code and make files for building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   201
                                the OpenJDK Hotspot Virtual Machine                         
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   202
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   203
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   204
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   205
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   206
                                langtools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   207
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   208
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   209
                                source code for the OpenJDK javac and language tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   210
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   211
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   212
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   213
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   214
                                jdk
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   215
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   216
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   217
                                source code and make files for building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   218
                                the OpenJDK runtime libraries and misc files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   219
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   220
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   221
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   222
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   223
                                jaxp
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   224
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   225
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   226
                                source code for the OpenJDK JAXP functionality
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   227
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   228
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   229
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   230
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   231
                                jaxws
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   232
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   233
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   234
                                source code for the OpenJDK JAX-WS functionality
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   235
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   236
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   237
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   238
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   239
                                corba
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   240
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   241
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   242
                                source code for the OpenJDK Corba functionality
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   243
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   244
                        </tr>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   245
                        <tr>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   246
                            <td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   247
                                nashorn
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   248
                            </td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   249
                            <td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   250
                                source code for the OpenJDK JavaScript implementation
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   251
                            </td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   252
                        </tr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   253
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   254
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   255
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   256
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   257
            <h3><a name="guidelines">Repository Source Guidelines</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   258
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   259
                There are some very basic guidelines:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   260
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   261
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   262
                        Use of whitespace in source files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   263
                        (.java, .c, .h, .cpp, and .hpp files)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   264
                        is restricted.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   265
                        No TABs, no trailing whitespace on lines, and files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   266
                        should not terminate in more than one blank line.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   267
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   268
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   269
                        Files with execute permissions should not be added
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   270
                        to the source repositories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   271
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   272
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   273
                        All generated files need to be kept isolated from 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   274
                        the files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   275
                        maintained or managed by the source control system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   276
                        The standard area for generated files is the top level
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   277
                        <code>build/</code> directory.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   278
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   279
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   280
                        The default build process should be to build the product
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   281
                        and nothing else, in one form, e.g. a product (optimized),
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   282
                        debug (non-optimized, -g plus assert logic), or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   283
                        fastdebug (optimized, -g plus assert logic).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   284
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   285
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   286
                        The <tt>.hgignore</tt> file in each repository
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   287
                        must exist and should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   288
                        include <tt>^build/</tt>, <tt>^dist/</tt> and 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   289
                        optionally any
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   290
                        <tt>nbproject/private</tt> directories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   291
                        <strong>It should NEVER</strong> include 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   292
                        anything in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   293
                        <tt>src/</tt> or <tt>test/</tt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   294
                        or any managed directory area of a repository.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   295
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   296
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   297
                        Directory names and file names should never contain
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   298
                        blanks or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   299
                        non-printing characters.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   300
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   301
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   302
                        Generated source or binary files should NEVER be added to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   303
                        the repository (that includes <tt>javah</tt> output).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   304
                        There are some exceptions to this rule, in particular
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   305
                        with some of the generated configure scripts.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   306
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   307
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   308
                        Files not needed for typical building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   309
                        or testing of the repository
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   310
                        should not be added to the repository.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   311
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   312
                </ul>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   313
            </blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   314
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   315
        </blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   316
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   317
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   318
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   319
        <h2><a name="building">Building</a></h2>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   320
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   321
            The very first step in building the OpenJDK is making sure the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   322
            system itself has everything it needs to do OpenJDK builds.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   323
            Once a system is setup, it generally doesn't need to be done again.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   324
            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   325
            Building the OpenJDK is now done with running a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   326
            <a href="#configure"><code>configure</code></a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   327
            script which will try and find and verify you have everything
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   328
            you need, followed by running
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   329
            <a href="#gmake"><code>make</code></a>, e.g.
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   330
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   331
                <b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   332
                    <code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   333
                        bash ./configure<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   334
                        make all
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   335
                    </code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   336
                </b>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   337
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   338
            Where possible the <code>configure</code> script will attempt to located the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   339
            various components in the default locations or via component
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   340
            specific variable settings.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   341
            When the normal defaults fail or components cannot be found,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   342
            additional <code>configure</code> options may be necessary to help <code>configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   343
            find the necessary tools for the build, or you may need to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   344
            re-visit the setup of your system due to missing software
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   345
            packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   346
            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   347
            <strong>NOTE:</strong> The <code>configure</code> script
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   348
            file does not have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   349
            execute permissions and will need to be explicitly run with
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   350
            <code>bash</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   351
            see the <a href="#guidelines">source guidelines</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   352
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   353
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   354
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   355
            <h3><a name="setup">System Setup</a></h3>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   356
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   357
                Before even attempting to use a system to build the OpenJDK
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   358
                there are some very basic system setups needed.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   359
                For all systems:
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   360
                <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   361
                    <li>
29865
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
   362
                        Be sure the GNU make utility is version 3.81 (4.0 on
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
   363
                        windows) or newer, e.g. run "<code>make -version</code>"
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   364
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   365
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   366
                        Install a
18049
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   367
                        <a name="bootjdk">Bootstrap JDK</a>.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   368
                        All OpenJDK builds require access to a previously released
18049
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   369
                        JDK called the <i>bootstrap JDK</i> or <i>boot JDK.</i>
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   370
                        The general rule is that the bootstrap JDK
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   371
                        must be an instance of the previous major
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   372
                        release of the JDK. In addition, there may be
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   373
                        a requirement to use a release at or beyond a
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   374
                        particular update level.
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   375
                        <br>&nbsp;<br>
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   376
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   377
                        <b><i>Building JDK 9 requires JDK 8. JDK 9
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   378
                        developers should not use JDK 9 as the boot
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   379
                        JDK, to ensure that JDK 9 dependencies are
18049
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   380
                        not introduced into the parts of the system
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   381
                        that are built with JDK 8.</i></b>
18049
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   382
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   383
                        <br>&nbsp;<br>
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   384
                        The JDK 8 binaries can be downloaded from Oracle's 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   385
                        <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   386
                           target="_blank">JDK 8 download site</a>.
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   387
                        For build performance reasons it
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   388
                        is very important that this bootstrap JDK be made available 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   389
                        on the local disk of the machine doing the build.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   390
                        You should add its <code>bin</code> directory
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   391
                        to the <code>PATH</code> environment variable.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   392
                        If <code>configure</code> has any issues finding this JDK, you may
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   393
                        need to use the <code>configure</code> option
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   394
                        <code>--with-boot-jdk</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   395
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   396
                    <li>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   397
                        Ensure that GNU make, the Bootstrap JDK,
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   398
                        and the compilers are all
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   399
                        in your PATH environment variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   400
                    </li>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   401
                </ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   402
                And for specific systems:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   403
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   404
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   405
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   406
                            <th>Linux</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   407
                            <th>Solaris</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   408
                            <th>Windows</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   409
                            <th>Mac OS X</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   410
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   411
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   412
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   413
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   414
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   415
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   416
                                packages needed including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   417
                                <a href="#alsa">alsa</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   418
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   419
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   420
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   421
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   422
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   423
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   424
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   425
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   426
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   427
                                packages needed  including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   428
                                <a href="#studio">Studio Compilers</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   429
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   430
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   431
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   432
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   433
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   434
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   435
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   436
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   437
                                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   438
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   439
                                        Install one of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   440
                                        <a href="#cygwin">CYGWIN</a> or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   441
                                        <a href="#msys">MinGW/MSYS</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   442
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   443
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   444
                                        Install
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   445
                                        <a href="#vs2013">Visual Studio 2013</a>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   446
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   447
                                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   448
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   449
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   450
                                Install 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   451
                                <a href="https://developer.apple.com/xcode/">XCode 4.5.2</a> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   452
                                and also install the "Command line tools" found under the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   453
                                preferences pane "Downloads"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   454
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   455
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   456
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   457
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   458
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   459
                <h4><a name="linux">Linux</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   460
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   461
                    With Linux, try and favor the system packages over 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   462
                    building your own
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   463
                    or getting packages from other areas.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   464
                    Most Linux builds should be possible with the system's
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   465
                    available packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   466
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   467
                    Note that some Linux systems have a habit of pre-populating
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   468
                    your environment variables for you, for example <code>JAVA_HOME</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   469
                    might get pre-defined for you to refer to the JDK installed on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   470
                    your Linux system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   471
                    You will need to unset <code>JAVA_HOME</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   472
                    It's a good idea to run <code>env</code> and verify the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   473
                    environment variables you are getting from the default system
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   474
                    settings make sense for building the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   475
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   476
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   477
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   478
                <h4><a name="solaris">Solaris</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   479
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   480
                    <h5><a name="studio">Studio Compilers</a></h5>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   481
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   482
                        At a minimum, the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   483
                        <a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   484
                            Studio 12 Update 1 Compilers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   485
                        (containing version 5.10 of the C and C++ compilers) is required,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   486
                        including specific patches.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   487
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   488
                            The Solaris SPARC patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   489
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   490
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   491
                                118683-05: SunOS 5.10: Patch for profiling libraries and assembler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   492
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   493
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   494
                                119963-21: SunOS 5.10: Shared library patch for C++
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   495
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   496
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   497
                                120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   498
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   499
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   500
                                128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   501
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   502
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   503
                                141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   504
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   505
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   506
                                141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   507
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   508
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   509
                                142371-01: Sun Studio 12.1 Update 1: Patch for dbx
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   510
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   511
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   512
                                143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   513
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   514
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   515
                                143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   516
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   517
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   518
                                142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   519
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   520
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   521
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   522
                            The Solaris X86 patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   523
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   524
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   525
                                119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   526
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   527
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   528
                                119964-21: SunOS 5.10_x86: Shared library patch for C++_x86
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   529
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   530
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   531
                                120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   532
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   533
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   534
                                141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 backend
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   535
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   536
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   537
                                128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   538
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   539
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   540
                                142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   541
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   542
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   543
                                142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   544
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   545
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   546
                        <p> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   547
                            Place the <code>bin</code> directory in <code>PATH</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   548
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   549
                            The Oracle Solaris Studio Express compilers at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   550
                            <a href="http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index-jsp-142582.html" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   551
                                Oracle Solaris Studio Express Download site</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   552
                            are also an option, although these compilers have not
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   553
                            been extensively used yet.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   554
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   555
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   556
                </blockquote> <!-- Solaris -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   557
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   558
                <h4><a name="windows">Windows</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   559
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   560
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   561
                    <h5><a name="toolkit">Windows Unix Toolkit</a></h5>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   562
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   563
                        Building on Windows requires a Unix-like environment, notably a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   564
                        Unix-like shell.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   565
                        There are several such environments available of which 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   566
                        <a href="http://www.cygwin.com/">Cygwin</a> and 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   567
                        <a href="http://www.mingw.org/wiki/MSYS">MinGW/MSYS</a> are 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   568
                        currently supported for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   569
                        the OpenJDK build. One of the differences of these 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   570
                        systems from standard Windows tools is the way
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   571
                        they handle Windows path names, particularly path names which contain
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   572
                        spaces, backslashes as path separators and possibly drive letters. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   573
                        Depending
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   574
                        on the use case and the specifics of each environment these path 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   575
                        problems can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   576
                        be solved by a combination of quoting whole paths, translating 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   577
                        backslashes to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   578
                        forward slashes, escaping backslashes with additional backslashes and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   579
                        translating the path names to their 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   580
                        <a href="http://en.wikipedia.org/wiki/8.3_filename">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   581
                            "8.3" version</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   582
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   583
                        <h6><a name="cygwin">CYGWIN</a></h6>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   584
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   585
                            CYGWIN is an open source, Linux-like environment which tries to emulate
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   586
                            a complete POSIX layer on Windows. It tries to be smart about path names
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   587
                            and can usually handle all kinds of paths if they are correctly quoted
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   588
                            or escaped although internally it maps drive letters <code>&lt;drive&gt;:</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   589
                            to a virtual directory <code>/cygdrive/&lt;drive&gt;</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   590
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   591
                                You can always use the <code>cygpath</code> utility to map pathnames with spaces
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   592
                                or the backslash character into the <code>C:/</code> style of pathname
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   593
                                (called 'mixed'), e.g. <code>cygpath -s -m "<i>path</i>"</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   594
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   595
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   596
                                Note that the use of CYGWIN creates a unique problem with regards to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   597
                                setting <a href="#path"><code>PATH</code></a>. Normally on Windows
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   598
                                the <code>PATH</code> variable contains directories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   599
                                separated with the ";" character (Solaris and Linux use ":").
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   600
                                With CYGWIN, it uses ":", but that means that paths like "C:/path"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   601
                                cannot be placed in the CYGWIN version  of <code>PATH</code> and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   602
                                instead CYGWIN uses something like <code>/cygdrive/c/path</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   603
                                which CYGWIN understands, but only CYGWIN understands.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   604
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   605
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   606
                                The OpenJDK build requires CYGWIN version 1.7.16 or newer.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   607
                                Information about CYGWIN can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   608
                                be obtained from the CYGWIN website at
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   609
                                <a href="http://www.cygwin.com" target="_blank">www.cygwin.com</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   610
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   611
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   612
                                By default CYGWIN doesn't install all the tools required for building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   613
                                the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   614
                                Along with the default installation, you need to install
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   615
                                the following tools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   616
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   617
                                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   618
                                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   619
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   620
                                            <td>Binary Name</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   621
                                            <td>Category</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   622
                                            <td>Package</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   623
                                            <td>Description</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   624
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   625
                                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   626
                                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   627
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   628
                                            <td>ar.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   629
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   630
                                            <td>binutils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   631
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   632
                                                The GNU assembler, linker and binary utilities
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   633
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   634
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   635
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   636
                                            <td>make.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   637
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   638
                                            <td>make</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   639
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   640
                                                The GNU version of the 'make' utility built for CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   641
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   642
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   643
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   644
                                            <td>m4.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   645
                                            <td>Interpreters</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   646
                                            <td>m4</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   647
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   648
                                                GNU implementation of the traditional Unix macro
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   649
                                                processor
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   650
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   651
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   652
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   653
                                            <td>cpio.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   654
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   655
                                            <td>cpio</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   656
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   657
                                                A program to manage archives of files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   658
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   659
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   660
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   661
                                            <td>gawk.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   662
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   663
                                            <td>awk</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   664
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   665
                                                Pattern-directed scanning and processing language
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   666
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   667
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   668
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   669
                                            <td>file.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   670
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   671
                                            <td>file</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   672
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   673
                                                Determines file type using 'magic' numbers
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   674
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   675
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   676
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   677
                                            <td>zip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   678
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   679
                                            <td>zip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   680
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   681
                                                Package and compress (archive) files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   682
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   683
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   684
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   685
                                            <td>unzip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   686
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   687
                                            <td>unzip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   688
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   689
                                                Extract compressed files in a ZIP archive
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   690
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   691
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   692
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   693
                                            <td>free.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   694
                                            <td>System</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   695
                                            <td>procps</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   696
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   697
                                                Display amount of free and used memory in the system
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   698
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   699
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   700
                                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   701
                                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   702
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   703
                            Note that the CYGWIN software can conflict with other non-CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   704
                            software on your Windows system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   705
                            CYGWIN provides a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   706
                            <a href="http://cygwin.com/faq/faq.using.html" target="_blank">FAQ</a> for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   707
                            known issues and problems, of particular interest is the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   708
                            section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   709
                            <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   710
                                BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   711
                        </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   712
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   713
                        <h6><a name="msys">MinGW/MSYS</a></h6> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   714
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   715
                            MinGW ("Minimalist GNU for Windows") is a collection of free Windows
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   716
                            specific header files and import libraries combined with GNU toolsets that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   717
                            allow one to produce native Windows programs that do not rely on any
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   718
                            3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   719
                            applications and programs which rely on traditional UNIX tools to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   720
                            be present. Among others this includes tools like <code>bash</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   721
                            and <code>make</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   722
                            See <a href="http://www.mingw.org/wiki/MSYS" target="_blank">MinGW/MSYS</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   723
                            for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   724
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   725
                                Like Cygwin, MinGW/MSYS can handle different types of path formats. They
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   726
                                are internally converted to paths with forward slashes and drive letters
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   727
                                <code>&lt;drive&gt;:</code> replaced by a virtual
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   728
                                directory <code>/&lt;drive&gt;</code>.  Additionally, MSYS automatically
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   729
                                detects binaries compiled for the MSYS environment and feeds them with the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   730
                                internal, Unix-style path names. If native Windows applications are called
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   731
                                from within MSYS programs their path arguments are automatically converted
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   732
                                back to Windows style path names with drive letters and backslashes as
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   733
                                path separators. This may cause problems for Windows applications which
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   734
                                use forward slashes as parameter separator (e.g. <code>cl /nologo /I</code>)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   735
                                because MSYS may wrongly <a href="http://mingw.org/wiki/Posix_path_conversion">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   736
                                    replace such parameters by drive letters</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   737
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   738
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   739
                                In addition to the tools which will be installed
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   740
                                by default, you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   741
                                to manually install the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   742
                                <code>msys-zip</code> and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   743
                                <code>msys-unzip</code> packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   744
                                This can be easily done with the MinGW command line installer:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   745
                            <blockquote> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   746
                                <code>mingw-get.exe install msys-zip</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   747
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   748
                                <code>mingw-get.exe install msys-unzip</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   749
                            </blockquote> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   750
                        </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   751
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   752
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   753
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   754
                    <h5><a name="vs2013">Visual Studio 2013 Compilers</a></h5>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   755
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   756
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   757
                            The 32-bit and 64-bit OpenJDK Windows build requires
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   758
                            Microsoft Visual Studio C++ 2013 (VS2013) Professional
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   759
                            Edition or Express compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   760
                            The compiler and other tools are expected to reside
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   761
                            in the location defined by the variable
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   762
                            <code>VS120COMNTOOLS</code> which
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   763
                            is set by the Microsoft Visual Studio installer.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   764
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   765
                        <p>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   766
                            Only the C++ part of VS2013 is needed.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   767
                            Try to let the installation go to the default 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   768
                            install directory.
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   769
                            Always reboot your system after installing VS2013.
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
   770
                            The system environment variable VS120COMNTOOLS 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   771
                            should be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   772
                            set in your environment.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   773
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   774
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   775
                            Make sure that TMP and TEMP are also set 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   776
                            in the environment
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   777
                            and refer to Windows paths that exist, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   778
                            like <code>C:\temp</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   779
                            not <code>/tmp</code>, not <code>/cygdrive/c/temp</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   780
                            and not <code>C:/temp</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   781
                            <code>C:\temp</code> is just an example, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   782
                            it is assumed that this area is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   783
                            private to the user, so by default 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   784
                            after installs you should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   785
                            see a unique user path in these variables.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   786
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   787
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   788
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   789
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   790
                </blockquote> <!-- Windows -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   791
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   792
                <h4><a name="macosx">Mac OS X</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   793
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   794
                    Make sure you get the right XCode version.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   795
                </blockquote> <!-- Mac OS X -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   796
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   797
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   798
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   799
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   800
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   801
            <h3><a name="configure">Configure</a></h3>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   802
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   803
                The basic invocation of the <code>configure</code> script
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   804
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   805
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   806
                    <b><code>bash ./configure [<i>options</i>]</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   807
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   808
                This will create an output directory containing the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   809
                "configuration" and setup an area for the build result.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   810
                This directory typically looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   811
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   812
                    <b><code>build/linux-x64-normal-server-release</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   813
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   814
                <code>configure</code> will try to figure out what system you are running on 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   815
                and where all necessary build components are.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   816
                If you have all prerequisites for building installed,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   817
                it should find everything.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   818
                If it fails to detect any component automatically,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   819
                it will exit and inform you about the problem.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   820
                When this happens, read more below in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   821
                <a href="#configureoptions">the <code>configure</code> options</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   822
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   823
                    Some examples:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   824
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   825
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   826
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   827
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   828
                            <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   829
                            <th>Configure Command Line</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   830
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   831
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   832
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   833
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   834
                            <td>Windows 32bit build with freetype specified</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   835
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   836
                                <code>bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target-bits=32</code>   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   837
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   838
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   839
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   840
                            <td>Debug 64bit Build</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   841
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   842
                                <code>bash ./configure --enable-debug --with-target-bits=64</code>   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   843
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   844
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   845
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   846
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   847
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   848
                <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   849
                <h4><a name="configureoptions">Configure Options</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   850
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   851
                    Complete details on all the OpenJDK <code>configure</code> options can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   852
                    be seen with:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   853
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   854
                        <b><code>bash ./configure --help=short</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   855
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   856
                    Use <code>-help</code> to see all the <code>configure</code> options
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   857
                    available.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   858
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   859
                    You can generate any number of different configurations,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   860
                    e.g. debug, release, 32, 64, etc.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   861
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   862
                    Some of the more commonly used <code>configure</code> options are:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   863
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   864
                    <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   865
                        <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   866
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   867
                                <th width="300">OpenJDK Configure Option</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   868
                                <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   869
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   870
                        </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   871
                        <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   872
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   873
                                <td><b><code>--enable-debug</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   874
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   875
                                    set the debug level to fastdebug (this is a shorthand for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   876
                                    <code>--with-debug-level=fastdebug</code>)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   877
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   878
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   879
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   880
                                <td><b><code>--with-alsa=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   881
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   882
                                    select the location of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   883
                                    <a name="alsa">Advanced Linux Sound Architecture (ALSA)</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   884
                                    <br>                        
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   885
                                    Version 0.9.1 or newer of the ALSA files are
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   886
                                    required for building the OpenJDK on Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   887
                                    These Linux files are usually available from an "alsa"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   888
                                    of "libasound"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   889
                                    development package,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   890
                                    and it's highly recommended that you try and use
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   891
                                    the package provided by the particular version of Linux that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   892
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   893
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   894
                            </tr>   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   895
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   896
                                <td><b><code>--with-boot-jdk=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   897
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   898
                                    select the <a href="#bootjdk">Bootstrap JDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   899
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   900
                            </tr>                      
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   901
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   902
                                <td><b><code>--with-boot-jdk-jvmargs=</code></b>"<i>args</i>"</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   903
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   904
                                    provide the JVM options to be used to run the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   905
                                    <a href="#bootjdk">Bootstrap JDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   906
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   907
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   908
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   909
                                <td><b><code>--with-cacerts=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   910
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   911
                                    select the path to the cacerts file.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   912
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   913
                                    See <a href="http://en.wikipedia.org/wiki/Certificate_Authority" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   914
                                        http://en.wikipedia.org/wiki/Certificate_Authority</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   915
                                    for a better understanding of the Certificate Authority (CA).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   916
                                    A certificates file named "cacerts"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   917
                                    represents a system-wide keystore with CA certificates. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   918
                                    In JDK and JRE
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   919
                                    binary bundles, the "cacerts" file contains root CA certificates from
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   920
                                    several public CAs (e.g., VeriSign, Thawte, and Baltimore).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   921
                                    The source contain a cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   922
                                    without CA root certificates. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   923
                                    Formal JDK builders will need to secure
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   924
                                    permission from each public CA and include the certificates into their
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   925
                                    own custom cacerts file. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   926
                                    Failure to provide a populated cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   927
                                    will result in verification errors of a certificate chain during runtime.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   928
                                    By default an empty cacerts file is provided and that should be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   929
                                    fine for most JDK developers.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   930
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   931
                            </tr>    
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   932
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   933
                                <td><b><code>--with-cups=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   934
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   935
                                    select the CUPS install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   936
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   937
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   938
                                    <a name="cups">Common UNIX Printing System (CUPS) Headers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   939
                                    are required for building the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   940
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   941
                                    The Solaris header files can be obtained by installing 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   942
                                    the package <strong>SFWcups</strong> from the Solaris Software
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   943
                                    Companion CD/DVD, these often will be installed into the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   944
                                    directory <code>/opt/sfw/cups</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   945
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   946
                                    The CUPS header files can always be downloaded from
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   947
                                    <a href="http://www.cups.org" target="_blank">www.cups.org</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   948
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   949
                            </tr>    
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   950
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   951
                                <td><b><code>--with-cups-include=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   952
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   953
                                    select the CUPS include directory location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   954
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   955
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   956
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   957
                                <td><b><code>--with-debug-level=</code></b><i>level</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   958
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   959
                                    select the debug information level of release,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   960
                                    fastdebug, or slowdebug
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   961
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   962
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   963
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   964
                                <td><b><code>--with-dev-kit=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   965
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   966
                                    select location of the compiler install or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   967
                                    developer install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   968
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   969
                            </tr>       
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   970
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   971
                                <td><b><code>--with-freetype=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   972
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   973
                                    select the freetype files to use.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   974
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   975
                                    Expecting the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   976
                                    <a name="freetype">freetype</a> libraries under
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   977
                                    <code>lib/</code> and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   978
                                    headers under <code>include/</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   979
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   980
                                    Version 2.3 or newer of FreeType is required.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   981
                                    On Unix systems required files can be available as part of your
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   982
                                    distribution (while you still may need to upgrade them).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   983
                                    Note that you need development version of package that 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   984
                                    includes both the FreeType library and header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   985
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   986
                                    You can always download latest FreeType version from the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   987
                                    <a href="http://www.freetype.org" target="_blank">FreeType website</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   988
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   989
                                    Building the freetype 2 libraries from scratch is also possible,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   990
                                    however on Windows refer to the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   991
                                    <a href="http://freetype.freedesktop.org/wiki/FreeType_DLL">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   992
                                        Windows FreeType DLL build instructions</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   993
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   994
                                    Note that by default FreeType is built with byte code hinting
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   995
                                    support disabled due to licensing restrictions.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   996
                                    In this case, text appearance and metrics are expected to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   997
                                    differ from Sun's official JDK build.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   998
                                    See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   999
                                    <a href="http://freetype.sourceforge.net/freetype2/index.html">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1000
                                        the SourceForge FreeType2 Home Page
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1001
                                    </a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1002
                                    for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1003
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1004
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1005
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1006
                                <td><b><code>--with-import-hotspot=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1007
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1008
                                    select the location to find hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1009
                                    binaries from a previous build to avoid building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1010
                                    hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1011
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1012
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1013
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1014
                                <td><b><code>--with-target-bits=</code></b><i>arg</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1015
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1016
                                    select 32 or 64 bit build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1017
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1018
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1019
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1020
                                <td><b><code>--with-jvm-variants=</code></b><i>variants</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1021
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1022
                                    select the JVM variants to build from, comma
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1023
                                    separated list that can include:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1024
                                    server, client, kernel, zero and zeroshark
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1025
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1026
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1027
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1028
                                <td><b><code>--with-memory-size=</code></b><i>size</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1029
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1030
                                    select the RAM size that GNU make will think
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1031
                                    this system has
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1032
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1033
                            </tr>                            
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1034
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1035
                                <td><a name="msvcrNN"><b><code>--with-msvcr-dll=</code></b><i>path</i></a></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1036
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1037
                                    select the <code>msvcr100.dll</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1038
                                    file to include in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1039
                                    Windows builds (C/C++ runtime library for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1040
                                    Visual Studio).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1041
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1042
                                    This is usually picked up automatically
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1043
                                    from the redist
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1044
                                    directories of Visual Studio 2013.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1045
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1046
                            </tr>                            
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1047
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1048
                                <td><b><code>--with-num-cores=</code></b><i>cores</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1049
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1050
                                    select the number of cores to use (processor
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1051
                                    count or CPU count)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1052
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1053
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1054
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1055
                                <td><b><code>--with-x=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1056
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1057
                                    select the location of the X11 and xrender files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1058
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1059
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1060
                                    <a name="xrender">XRender Extension Headers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1061
                                    are required for building the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1062
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1063
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1064
                                    The Linux header files are usually available from a "Xrender"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1065
                                    development package, it's recommended that you try and use
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1066
                                    the package provided by the particular distribution of Linux that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1067
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1068
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1069
                                    The Solaris XRender header files is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1070
                                    included with the other X11 header files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1071
                                    in the package <strong>SFWxwinc</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1072
                                    on new enough versions of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1073
                                    Solaris and will be installed in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1074
                                    <code>/usr/X11/include/X11/extensions/Xrender.h</code> or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1075
                                    <code>/usr/openwin/share/include/X11/extensions/Xrender.h</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1076
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1077
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1078
                        </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1079
                    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1080
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1081
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
  1082
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1083
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1084
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1085
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1086
            <h3><a name="make">Make</a></h3>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1087
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1088
                The basic invocation of the <code>make</code> utility
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1089
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1090
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1091
                    <b><code>make all</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1092
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1093
                This will start the build to the output directory containing the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1094
                "configuration" that was created by the <code>configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1095
                script. Run <code>make help</code> for more information on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1096
                the available targets.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1097
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1098
                There are some of the make targets that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1099
                are of general interest:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1100
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1101
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1102
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1103
                            <th>Make Target</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1104
                            <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1105
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1106
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1107
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1108
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1109
                            <td><i>empty</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1110
                            <td>build everything but no images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1111
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1112
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1113
                            <td><b><code>all</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1114
                            <td>build everything including images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1115
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1116
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1117
                            <td><b><code>all-conf</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1118
                            <td>build all configurations</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1119
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1120
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1121
                            <td><b><code>images</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1122
                            <td>create complete j2sdk and j2re images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1123
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1124
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1125
                            <td><b><code>install</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1126
                            <td>install the generated images locally, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1127
                                typically in <code>/usr/local</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1128
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1129
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1130
                            <td><b><code>clean</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1131
                            <td>remove all files generated by make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1132
                                but not those generated by <code>configure</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1133
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1134
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1135
                            <td><b><code>dist-clean</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1136
                            <td>remove all files generated by both 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1137
                                and <code>configure</code> (basically killing the configuration)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1138
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1139
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1140
                            <td><b><code>help</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1141
                            <td>give some help on using <code>make</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1142
                                including some interesting make targets</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1143
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1144
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1145
                </table>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1146
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1147
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1148
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1149
        <!-- ====================================================== -->
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1150
        <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1151
        <h2><a name="testing">Testing</a></h2>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1152
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1153
            When the build is completed, you should see the generated
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1154
            binaries and associated files in the <code>j2sdk-image</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1155
            directory in the output directory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1156
            In particular, the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1157
            <code>build/<i>*</i>/images/j2sdk-image/bin</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1158
            directory should contain executables for the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1159
            OpenJDK tools and utilities for that configuration.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1160
            The testing tool <code>jtreg</code> will be needed
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1161
            and can be found at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1162
            <a href="http://openjdk.java.net/jtreg/" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1163
                the jtreg site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1164
            The provided regression tests in the repositories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1165
            can be run with the command:
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1166
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1167
                <code><b>cd test &amp;&amp; make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all</b></code>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1168
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1169
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1170
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1171
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1172
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1173
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1174
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1175
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1176
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1177
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1178
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1179
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1180
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1181
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1182
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1183
        <h2><a name="hints">Appendix A: Hints and Tips</a></h2>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1184
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1185
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1186
            <h3><a name="faq">FAQ</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1187
            <blockquote>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1188
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1189
                <p>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1190
                    <b>Q:</b> The <code>generated-configure.sh</code> file looks horrible! 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1191
                    How are you going to edit it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1192
                    <br>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1193
                    <b>A:</b> The <code>generated-configure.sh</code> file is generated (think
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1194
                    "compiled") by the autoconf tools. The source code is
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1195
                    in <code>configure.ac</code> and various .m4 files in common/autoconf,
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1196
                    which are much more readable.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1197
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1198
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1199
                <p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1200
                    <b>Q:</b> 
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1201
                    Why is the <code>generated-configure.sh</code> file checked in, 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1202
                    if it is generated?
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1203
                    <br>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1204
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1205
                    If it was not generated, every user would need to have the autoconf 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1206
                    tools installed, and re-generate the <code>configure</code> file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1207
                    as the first step. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1208
                    Our goal is to minimize the work needed to be done by the user 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1209
                    to start building OpenJDK, and to minimize
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1210
                    the number of external dependencies required.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1211
                </p>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1212
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1213
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1214
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1215
                    Do you require a specific version of autoconf for regenerating
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1216
                    <code>generated-configure.sh</code>?
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1217
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1218
                    <b>A:</b>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1219
                    Yes, version 2.69 is required and should be easy
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1220
                    enough to aquire on all supported operating
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1221
                    systems.  The reason for this is to avoid
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1222
                    large spurious changes in <code>generated-configure.sh</code>.
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1223
                </p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1224
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1225
                <p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1226
                    <b>Q:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1227
                    How do you regenerate <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1228
                    after making changes to the input files?
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1229
                    <br>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1230
                    <b>A:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1231
                    Regnerating <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1232
                    should always be done using the
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1233
                    script <code>common/autoconf/autogen.sh</code> to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1234
                    ensure that the correct files get updated. This
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1235
                    script should also be run after mercurial tries to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1236
                    merge <code>generated-configure.sh</code> as a
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1237
                    merge of the generated file is not guaranteed to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1238
                    be correct.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1239
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1240
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1241
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1242
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1243
                    What are the files in <code>common/makefiles/support/*</code> for? 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1244
                    They look like gibberish.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1245
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1246
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1247
                    They are a somewhat ugly hack to compensate for command line length
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1248
                    limitations on certain platforms (Windows, Solaris).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1249
                    Due to a combination of limitations in make and the shell, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1250
                    command lines containing too many files will not work properly. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1251
                    These
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1252
                    helper files are part of an elaborate hack that will compress the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1253
                    command line in the makefile and then uncompress it safely. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1254
                    We're
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1255
                    not proud of it, but it does fix the problem. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1256
                    If you have any better suggestions, we're all ears! :-)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1257
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1258
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1259
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1260
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1261
                    I want to see the output of the commands that make runs, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1262
                    like in the old build. How do I do that?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1263
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1264
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1265
                    You specify the <code>LOG</code> variable to make. There are
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1266
                    several log levels:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1267
                </p>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1268
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1269
                    <ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1270
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1271
                            <b><code>warn</code></b> &mdash; Default and very quiet.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1272
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1273
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1274
                            <b><code>info</code></b> &mdash; Shows more progress information
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1275
                            than warn.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1276
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1277
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1278
                            <b><code>debug</code></b> &mdash; Echos all command lines and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1279
                            prints all macro calls for compilation definitions.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1280
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1281
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1282
                            <b><code>trace</code></b> &mdash; Echos all $(shell) command
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1283
                            lines as well.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1284
                        </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1285
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1286
                </blockquote>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1287
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1288
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1289
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1290
                    When do I have to re-run <code>configure</code>?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1291
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1292
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1293
                    Normally you will run <code>configure</code> only once for creating a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1294
                    configuration. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1295
                    You need to re-run configuration only if you want to change any
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1296
                    configuration options, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1297
                    or if you pull down changes to the <code>configure</code> script.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1298
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1299
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1300
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1301
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1302
                    I have added a new source file. Do I need to modify the makefiles?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1303
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1304
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1305
                    Normally, no. If you want to create e.g. a new native
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1306
                    library, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1307
                    you will need to modify the makefiles. But for normal file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1308
                    additions or removals, no changes are needed. There are certan
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1309
                    exceptions for some native libraries where the source files are spread
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1310
                    over many directories which also contain sources for other
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1311
                    libraries. In these cases it was simply easier to create include lists
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1312
                    rather than excludes.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1313
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1314
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1315
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1316
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1317
                    When I run <code>configure --help</code>, I see many strange options, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1318
                    like <code>--dvidir</code>. What is this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1319
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1320
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1321
                    Configure provides a slew of options by default, to all projects 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1322
                    that use autoconf. Most of them are not used in OpenJDK,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1323
                    so you can safely ignore them. To list only OpenJDK specific features, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1324
                    use <code>configure --help=short</code> instead.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1325
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1326
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1327
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1328
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1329
                    <code>configure</code> provides OpenJDK-specific features such as
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1330
                    <code>--with-builddeps-server</code> that are not
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1331
                    described in this document. What about those? 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1332
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1333
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1334
                    Try them out if you like! But be aware that most of these are 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1335
                    experimental features. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1336
                    Many of them don't do anything at all at the moment; the option 
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1337
                    is just a placeholder. Others depend on
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1338
                    pieces of code or infrastructure that is currently 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1339
                    not ready for prime time.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1340
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1341
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1342
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1343
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1344
                    How will you make sure you don't break anything?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1345
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1346
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1347
                    We have a script that compares the result of the new build system
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1348
                    with the result of the old. For most part, we aim for (and achieve)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1349
                    byte-by-byte identical output. There are however technical issues 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1350
                    with e.g. native binaries, which might differ in a byte-by-byte 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1351
                    comparison, even
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1352
                    when building twice with the old build system. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1353
                    For these, we compare relevant aspects 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1354
                    (e.g. the symbol table and file size). 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1355
                    Note that we still don't have 100%
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1356
                    equivalence, but we're close.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1357
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1358
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1359
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1360
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1361
                    I noticed this thing X in the build that looks very broken by design. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1362
                    Why don't you fix it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1363
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1364
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1365
                    Our goal is to produce a build output that is as close as 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1366
                    technically possible to the old build output. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1367
                    If things were weird in the old build,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1368
                    they will be weird in the new build. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1369
                    Often, things were weird before due to obscurity, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1370
                    but in the new build system the weird stuff comes up to the surface.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1371
                    The plan is to attack these things at a later stage, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1372
                    after the new build system is established.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1373
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1374
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1375
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1376
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1377
                    The code in the new build system is not that well-structured.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1378
                    Will you fix this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1379
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1380
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1381
                    Yes! The new build system has grown bit by bit as we converted 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1382
                    the old system. When all of the old build system is converted,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1383
                    we can take a step back and clean up the structure of the new build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1384
                    system. Some of this we plan to do before replacing the old build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1385
                    system and some will need to wait until after.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1386
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1387
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1388
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1389
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1390
                    Is anything able to use the results of the new build's default make target?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1391
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1392
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1393
                    Yes, this is the minimal (or roughly minimal) 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1394
                    set of compiled output needed for a developer to actually 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1395
                    execute the newly built JDK. The idea is that in an incremental 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1396
                    development fashion, when doing a normal make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1397
                    you should only spend time recompiling what's changed 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1398
                    (making it purely incremental) and only do the work that's 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1399
                    needed to actually run and test your code.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1400
                    The packaging stuff that is part of the <code>images</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1401
                    target is not needed for a normal developer who wants to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1402
                    test his new code. Even if it's quite fast, it's still unnecessary. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1403
                    We're targeting sub-second incremental rebuilds! ;-) 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1404
                    (Or, well, at least single-digit seconds...)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1405
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1406
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1407
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1408
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1409
                    I usually set a specific environment variable when building, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1410
                    but I can't find the equivalent in the new build. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1411
                    What should I do?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1412
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1413
                    <b>A:</b>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1414
                    It might very well be that we have neglected to add support for
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1415
                    an option that was actually used from outside the build system.
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1416
                    Email us and we will add support for it!
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1417
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1418
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1419
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1420
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1421
            <h3><a name="performance">Build Performance Tips</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1422
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1423
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1424
                <p>Building OpenJDK requires a lot of horsepower. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1425
                    Some of the build tools can be adjusted to utilize more or less
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1426
                    of resources such as
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1427
                    parallel threads and memory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1428
                    The <code>configure</code> script analyzes your system and selects reasonable 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1429
                    values for such options based on your hardware.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1430
                    If you encounter resource problems, such as out of memory conditions, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1431
                    you can modify the detected values with:</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1432
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1433
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1434
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1435
                        <b><code>--with-num-cores</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1436
                        &mdash; 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1437
                        number of cores in the build system,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1438
                        e.g. <code>--with-num-cores=8</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1439
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1440
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1441
                        <b><code>--with-memory-size</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1442
                        &mdash; memory (in MB) available in the build system,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1443
                        e.g. <code>--with-memory-size=1024</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1444
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1445
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1446
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1447
                <p>It might also be necessary to specify the JVM arguments passed 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1448
                    to the Bootstrap JDK, using e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1449
                    <code>--with-boot-jdk-jvmargs="-Xmx8G -enableassertions"</code>. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1450
                    Doing this will override the default JVM arguments 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1451
                    passed to the Bootstrap JDK.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1452
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1453
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1454
                <p>One of the top goals of the new build system is to improve the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1455
                    build performance and decrease the time needed to build. This will
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1456
                    soon also apply to the java compilation when the Smart Javac wrapper
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
  1457
                    is fully supported.</p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1458
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1459
                <p>At the end of a successful execution of <code>configure</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1460
                    you will get a performance summary, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1461
                    indicating how well the build will perform. Here you will
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1462
                    also get performance hints. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1463
                    If you want to build fast, pay attention to those!</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1464
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1465
                <h4>Building with ccache</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1466
28812
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1467
                <p>The OpenJDK build supports building with ccache 
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1468
                    when using gcc or clang. Using ccache can
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1469
                    radically speed up compilation of native code if
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1470
                    you often rebuild the same sources. Your milage
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1471
                    may vary however so we recommend evaluating it for
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1472
                    yourself. To enable it, make sure it's on the path
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1473
                    and configure with <code>--enable-ccache</code>.</p> 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1474
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1475
                <h4>Building on local disk</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1476
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1477
                <p>If you are using network shares, e.g. via NFS, for your source code, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1478
                    make sure the build directory is situated on local disk. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1479
                    The performance
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1480
                    penalty is extremely high for building on a network share, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1481
                    close to unusable.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1482
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1483
                <h4>Building only one JVM</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1484
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1485
                <p>The old build builds multiple JVMs on 32-bit systems (client and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1486
                    server; and on Windows kernel as well). In the new build we have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1487
                    changed this default to only build server when it's available. This
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1488
                    improves build times for those not interested in multiple JVMs. To
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1489
                    mimic the old behavior on platforms that support it, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1490
                    use <code>--with-jvm-variants=client,server</code>.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1491
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1492
                <h4>Selecting the number of cores to build on</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1493
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1494
                <p>By default, <code>configure</code> will analyze your machine and run the make
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1495
                    process in parallel with as many threads as you have cores. This
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1496
                    behavior can be overridden, either "permanently" (on a <code>configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1497
                    basis) using <code>--with-num-cores=N</code> or for a single build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1498
                    only (on a make basis), using <code>make JOBS=N</code>.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1499
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1500
                <p>If you want to make a slower build just this time, to save some CPU
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1501
                    power for other processes, you can run
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1502
                    e.g. <code>make JOBS=2</code>. This will force the makefiles
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1503
                    to only run 2 parallel processes, or even <code>make JOBS=1</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1504
                    which will disable parallelism.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1505
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1506
                <p>If you want to have it the other way round, namely having slow 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1507
                    builds default and override with fast if you're
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1508
                    impatient, you should call <code>configure</code> with 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1509
                    <code>--with-num-cores=2</code>, making 2 the default. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1510
                    If you want to run with more
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1511
                    cores, run <code>make JOBS=8</code></p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1512
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1513
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1514
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1515
            <h3><a name="troubleshooting">Troubleshooting</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1516
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1517
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1518
                <h4>Solving build problems</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1519
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1520
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1521
                    If the build fails (and it's not due to a compilation error in 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1522
                    a source file you've changed), the first thing you should do
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1523
                    is to re-run the build with more verbosity. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1524
                    Do this by adding <code>LOG=debug</code> to your make command line.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1525
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1526
                    The build log (with both stdout and stderr intermingled,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1527
                    basically the same as you see on your console) can be found as
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1528
                    <code>build.log</code> in your build directory.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1529
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1530
                    You can ask for help on build problems with the new build system 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1531
                    on either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1532
                    <a href="http://mail.openjdk.java.net/mailman/listinfo/build-dev">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1533
                        build-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1534
                    or the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1535
                    <a href="http://mail.openjdk.java.net/mailman/listinfo/build-infra-dev">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1536
                        build-infra-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1537
                    mailing lists. Please include the relevant parts
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1538
                    of the build log.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1539
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1540
                    A build can fail for any number of reasons. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1541
                    Most failures
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1542
                    are a result of trying to build in an environment in which all the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1543
                    pre-build requirements have not been met. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1544
                    The first step in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1545
                    troubleshooting a build failure is to recheck that you have satisfied
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1546
                    all the pre-build requirements for your platform.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1547
                    Scanning the <code>configure</code> log is a good first step, making
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1548
                    sure that what it found makes sense for your system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1549
                    Look for strange error messages or any difficulties that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1550
                    <code>configure</code> had in finding things.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1551
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1552
                    Some of the more common problems with builds are briefly
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1553
                    described
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1554
                    below, with suggestions for remedies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1555
                    <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1556
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1557
                            <b>Corrupted Bundles on Windows:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1558
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1559
                                Some virus scanning software has been known to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1560
                                corrupt the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1561
                                downloading of zip bundles.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1562
                                It may be necessary to disable the 'on access' or 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1563
                                'real time'
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1564
                                virus scanning features to prevent this corruption.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1565
                                This type of "real time" virus scanning can also 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1566
                                slow down the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1567
                                build process significantly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1568
                                Temporarily disabling the feature, or excluding the build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1569
                                output directory may be necessary to get correct and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1570
                                faster builds.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1571
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1572
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1573
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1574
                            <b>Slow Builds:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1575
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1576
                                If your build machine seems to be overloaded from too many
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1577
                                simultaneous C++ compiles, try setting the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1578
                                <code>JOBS=1</code> on the <code>make</code> command line.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1579
                                Then try increasing the count slowly to an acceptable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1580
                                level for your system. Also:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1581
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1582
                                    Creating the javadocs can be very slow, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1583
                                    if you are running
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1584
                                    javadoc, consider skipping that step.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1585
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1586
                                    Faster CPUs, more RAM, and a faster DISK usually helps.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1587
                                    The VM build tends to be CPU intensive 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1588
                                    (many C++ compiles),
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1589
                                    and the rest of the JDK will often be disk intensive.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1590
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1591
                                    Faster compiles are possible using a tool called
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1592
                                    <a href="http://ccache.samba.org/" target="_blank">ccache</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1593
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1594
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1595
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1596
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1597
                            <b>File time issues:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1598
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1599
                                If you see warnings that refer to file time stamps, e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1600
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1601
                                    <i>Warning message:</i><code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1602
                                        File `xxx' has modification time in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1603
                                        the future.</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1604
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1605
                                    <i>Warning message:</i> <code> Clock skew detected. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1606
                                        Your build may
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1607
                                        be incomplete.</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1608
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1609
                                These warnings can occur when the clock on the build 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1610
                                machine is out of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1611
                                sync with the timestamps on the source files. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1612
                                Other errors, apparently
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1613
                                unrelated but in fact caused by the clock skew, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1614
                                can occur along with
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1615
                                the clock skew warnings. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1616
                                These secondary errors may tend to obscure the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1617
                                fact that the true root cause of the problem 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1618
                                is an out-of-sync clock.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1619
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1620
                                    If you see these warnings, reset the clock on the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1621
                                    build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1622
                                    machine, run "<code><i>gmake</i> clobber</code>" 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1623
                                    or delete the directory
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1624
                                    containing the build output, and restart the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1625
                                    build from the beginning.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1626
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1627
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1628
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1629
                            <b>Error message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1630
                                <code>Trouble writing out table to disk</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1631
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1632
                                Increase the amount of swap space on your build machine.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1633
                                This  could be caused by overloading the system and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1634
                                it may be necessary to use:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1635
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1636
                                    <code>make JOBS=1</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1637
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1638
                                to reduce the load on the system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1639
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1640
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1641
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1642
                            <b>Error Message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1643
                                <code>libstdc++ not found:</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1644
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1645
                                This is caused by a missing libstdc++.a library.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1646
                                This is installed as part of a specific package
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1647
                                (e.g. libstdc++.so.devel.386).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1648
                                By default some 64-bit Linux versions (e.g. Fedora)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1649
                                only install the 64-bit version of the libstdc++ package.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1650
                                Various parts of the JDK build require a static
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1651
                                link of the C++ runtime libraries to allow for maximum
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1652
                                portability of the built images.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1653
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1654
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1655
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1656
                            <b>Linux Error Message:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1657
                                <code>cannot restore segment prot after reloc</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1658
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1659
                                This is probably an issue with SELinux (See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1660
                                <a href="http://en.wikipedia.org/wiki/SELinux" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1661
                                    http://en.wikipedia.org/wiki/SELinux</a>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1662
                                Parts of the VM is built without the <code>-fPIC</code> for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1663
                                performance reasons.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1664
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1665
                                    To completely disable SELinux:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1666
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1667
                                    <li><code>$ su root</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1668
                                    <li><code># system-config-securitylevel</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1669
                                    <li><code>In the window that appears, select the SELinux tab</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1670
                                    <li><code>Disable SELinux</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1671
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1672
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1673
                                    Alternatively, instead of completely disabling it you could
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1674
                                    disable just this one check.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1675
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1676
                                    <li>Select System->Administration->SELinux Management</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1677
                                    <li>In the SELinux Management Tool which appears,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1678
                                        select "Boolean" from the menu on the left</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1679
                                    <li>Expand the "Memory Protection" group</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1680
                                    <li>Check the first item, labeled
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1681
                                        "Allow all unconfined executables to use 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1682
                                        libraries requiring text relocation ..."</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1683
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1684
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1685
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1686
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1687
                            <b>Windows Error Messages:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1688
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1689
                            <code>*** fatal error - couldn't allocate heap, ... </code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1690
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1691
                            <code>rm fails with "Directory not empty"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1692
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1693
                            <code>unzip fails with "cannot create ... Permission denied"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1694
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1695
                            <code>unzip fails with "cannot create ... Error 50"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1696
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1697
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1698
                                The CYGWIN software can conflict with other non-CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1699
                                software. See the CYGWIN FAQ section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1700
                                <a href="http://cygwin.com/faq/faq.using.html#faq.using.bloda" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1701
                                    BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1702
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1703
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1704
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1705
                            <b>Windows Error Message: <code>spawn failed</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1706
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1707
                                Try rebooting the system, or there could be some kind of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1708
                                issue with the disk or disk partition being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1709
                                Sometimes it comes with a "Permission Denied" message.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1710
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1711
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1712
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1713
                </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1714
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1715
            </blockquote> <!-- Troubleshooting -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1716
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1717
        </blockquote> <!-- Appendix A -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1718
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1719
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1720
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1721
        <h2><a name="gmake">Appendix B: GNU make</a></h2>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1722
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1723
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1724
            The Makefiles in the OpenJDK are only valid when used with the 
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1725
            GNU version of the utility command <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1726
            (usually called <code>gmake</code> on Solaris).
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1727
            A few notes about using GNU make:
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1728
            <ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1729
                <li>
29865
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
  1730
                    You need GNU make version 3.81 or newer. On Windows 4.0 or
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
  1731
                    newer is recommended.
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
  1732
                    If the GNU make utility on your systems is not of a suitable
60e4eefce6e4 8072023: Investigate and upgrade the minimum supported gnumake for JDK 9, from 3.81 to 4.0
erikj
parents: 29643
diff changeset
  1733
                    version see <a href="#buildgmake">"Building GNU make"</a>.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1734
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1735
                <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1736
                    Place the location of the GNU make binary in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1737
                    <code>PATH</code>. 
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1738
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1739
                <li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1740
                    <strong>Solaris:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1741
                    Do NOT use <code>/usr/bin/make</code> on Solaris.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1742
                    If your Solaris system has the software
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1743
                    from the Solaris Developer Companion CD installed, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1744
                    you should try and use <code>gmake</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1745
                    which will be located in either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1746
                    <code>/usr/bin</code>, <code>/opt/sfw/bin</code> or 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1747
                    <code>/usr/sfw/bin</code> directory.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1748
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1749
                <li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1750
                    <strong>Windows:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1751
                    Make sure you start your build inside a bash shell.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1752
                </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1753
                <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1754
                    <strong>Mac OS X:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1755
                    The XCode "command line tools" must be installed on your Mac.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1756
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1757
            </ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1758
            <p>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1759
                Information on GNU make, and access to ftp download sites, are
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1760
                available on the
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1761
                <a href="http://www.gnu.org/software/make/make.html" target="_blank">
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1762
                    GNU make web site
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1763
                </a>.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1764
                The latest source to GNU make is available at
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1765
                <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank">
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1766
                    ftp.gnu.org/pub/gnu/make/</a>.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1767
            </p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1768
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1769
            <h3><a name="buildgmake">Building GNU make</a></h3>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1770
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1771
                First step is to get the GNU make 3.81 or newer source from
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1772
                <a href="http://ftp.gnu.org/pub/gnu/make/" target="_blank">
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1773
                    ftp.gnu.org/pub/gnu/make/</a>.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1774
                Building is a little different depending on the OS but is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1775
                basically done with:
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1776
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1777
                    <code>bash ./configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1778
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1779
                    <code>make</code>
12494
6cf597938c70 7154130: Add Mac OS X Instructions to README-builds.html
ewendeli
parents: 10208
diff changeset
  1780
                </blockquote>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1781
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1782
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1783
        </blockquote> <!-- Appendix B -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1784
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1785
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1786
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1787
        <h2><a name="buildenvironments">Appendix C: Build Environments</a></h2>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1788
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1789
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1790
            <h3><a name="MBE">Minimum Build Environments</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1791
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1792
                This file often describes specific requirements for what we 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1793
                call the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1794
                "minimum build environments" (MBE) for this 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1795
                specific release of the JDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1796
                What is listed below is what the Oracle Release
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1797
                Engineering Team will use to build the Oracle JDK product.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1798
                Building with the MBE will hopefully generate the most compatible
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1799
                bits that install on, and run correctly on, the most variations
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1800
                of the same base OS and hardware architecture.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1801
                In some cases, these represent what is often called the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1802
                least common denominator, but each Operating System has different
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1803
                aspects to it.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1804
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1805
                    In all cases, the Bootstrap JDK version minimum is critical,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1806
                    we cannot guarantee builds will work with older Bootstrap JDK's.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1807
                    Also in all cases, more RAM and more processors is better,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1808
                    the minimums listed below are simply recommendations.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1809
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1810
                    With Solaris and Mac OS X, the version listed below is the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1811
                    oldest release we can guarantee builds and works, and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1812
                    specific version of the compilers used could be critical.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1813
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1814
                    With Windows the critical aspect is the Visual Studio compiler
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1815
                    used, which due to it's runtime, generally dictates what Windows
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1816
                    systems can do the builds and where the resulting bits can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1817
                    be used.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1818
                    <b>NOTE: We expect a change here off these older Windows OS releases
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1819
                        and to a 'less older' one, probably Windows 2008R2 X64.</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1820
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1821
                    With Linux, it was just a matter of picking a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1822
                    stable distribution that is a good representative for Linux
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1823
                    in general.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1824
                    <b>NOTE: We expect a change here from Fedora 9 to something else,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1825
                        but it has not been completely determined yet, possibly
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1826
                        Ubuntu 12.04 X64, unbiased community feedback would be welcome on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1827
                        what a good choice would be here.</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1828
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1829
                    It is understood that most developers will NOT be using these 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1830
                    specific versions, and in fact creating these specific versions
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1831
                    may be difficult due to the age of some of this software.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1832
                    It is expected that developers are more often using the more
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1833
                    recent releases and distributions of these operating systems.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1834
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1835
                    Compilation problems with newer or different C/C++ compilers is a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1836
                    common problem.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1837
                    Similarly, compilation problems related to changes to the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1838
                    <code>/usr/include</code> or system header files is also a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1839
                    common problem with older, newer, or unreleased OS versions.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1840
                    Please report these types of problems as bugs so that they
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1841
                    can be dealt with accordingly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1842
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1843
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1844
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1845
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1846
                            <th>Base OS and Architecture</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1847
                            <th>OS</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1848
                            <th>C/C++ Compiler</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1849
                            <th>Bootstrap JDK</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1850
                            <th>Processors</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1851
                            <th>RAM Minimum</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1852
                            <th>DISK Needs</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1853
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1854
                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1855
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1856
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1857
                            <td>Linux X86 (32-bit) and X64 (64-bit)</td>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1858
                            <td>Oracle Enterprise Linux 6.4</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1859
                            <td>gcc 4.8.2 </td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1860
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1861
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1862
                            <td>1 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1863
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1864
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1865
                        <tr>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1866
                            <td>Solaris SPARCV9 (64-bit)</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1867
                            <td>Solaris 10 Update 10</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1868
                            <td>Studio 12 Update 3 + patches</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1869
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1870
                            <td>4 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1871
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1872
                            <td>8 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1873
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1874
                        <tr>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1875
                            <td>Solaris X64 (64-bit)</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1876
                            <td>Solaris 10 Update 10</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1877
                            <td>Studio 12 Update 3 + patches</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1878
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1879
                            <td>4 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1880
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1881
                            <td>8 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1882
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1883
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1884
                            <td>Windows X86 (32-bit)</td>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1885
                            <td>Windows Server 2012 R2 x64</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1886
                            <td>Microsoft Visual Studio C++ 2013 Professional Edition</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1887
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1888
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1889
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1890
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1891
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1892
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1893
                            <td>Windows X64 (64-bit)</td>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1894
                            <td>Windows Server 2012 R2 x64</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1895
                            <td>Microsoft Visual Studio C++ 2013 Professional Edition</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1896
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1897
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1898
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1899
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1900
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1901
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1902
                            <td>Mac OS X X64 (64-bit)</td>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1903
                            <td>Mac OS X 10.9 "Mavericks"</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1904
                            <td>XCode 5.1.1 or newer</td>
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  1905
                            <td>JDK 8</td>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1906
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1907
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1908
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1909
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1910
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1911
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1912
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1913
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1914
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1915
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1916
            <h3><a name="SDBE">Specific Developer Build Environments</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1917
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1918
                We won't be listing all the possible environments, but
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1919
                we will try to provide what information we have available to us.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1920
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1921
                    <strong>NOTE: The community can help out by updating
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1922
                        this part of the document.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1923
                    </strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1924
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1925
                <h4><a name="fedora">Fedora</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1926
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1927
                    After installing the latest
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1928
                    <a href="http://fedoraproject.org">Fedora</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1929
                    you need to install several build dependencies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1930
                    The simplest way to do it is to execute the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1931
                    following commands as user <code>root</code>:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1932
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1933
                        <code>yum-builddep java-1.7.0-openjdk</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1934
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1935
                        <code>yum install gcc gcc-c++</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1936
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1937
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1938
                        In addition, it's necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1939
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1940
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1941
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1942
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1943
                        <code>export PATH="/usr/lib/jvm/java-openjdk/bin:${PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1944
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1945
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1946
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1947
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1948
                <h4><a name="centos">CentOS 5.5</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1949
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1950
                    After installing
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1951
                    <a href="http://www.centos.org/">CentOS 5.5</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1952
                    you need to make sure you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1953
                    the following Development bundles installed:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1954
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1955
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1956
                            <li>Development Libraries</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1957
                            <li>Development Tools</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1958
                            <li>Java Development</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1959
                            <li>X Software Development (Including XFree86-devel)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1960
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1961
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1962
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1963
                        Plus the following packages:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1964
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1965
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1966
                            <li>cups devel: Cups Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1967
                            <li>alsa devel: Alsa Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1968
                            <li>Xi devel: libXi.so Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1969
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1970
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1971
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1972
                        The freetype 2.3 packages don't seem to be available,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1973
                        but the freetype 2.3 sources can be downloaded, built,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1974
                        and installed easily enough from
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1975
                        <a href="http://downloads.sourceforge.net/freetype">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1976
                            the freetype site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1977
                        Build and install with something like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1978
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1979
                        <code>bash ./configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1980
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1981
                        <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1982
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1983
                        <code>sudo -u root make install</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1984
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1985
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1986
                        Mercurial packages could not be found easily, but a Google
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1987
                        search should find ones, and they usually include Python if
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1988
                        it's needed.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1989
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1990
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1991
                <h4><a name="debian">Debian 5.0 (Lenny)</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1992
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1993
                    After installing <a href="http://debian.org">Debian</a> 5 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1994
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1995
                    The simplest way to install the build dependencies is to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1996
                    execute the following commands as user <code>root</code>:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1997
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1998
                        <code>aptitude build-dep openjdk-7</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1999
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2000
                        <code>aptitude install openjdk-7-jdk libmotif-dev</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2001
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2002
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2003
                        In addition, it's necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2004
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2005
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2006
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2007
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2008
                        <code>export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2009
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2010
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2011
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2012
                <h4><a name="ubuntu">Ubuntu 12.04</a></h4>
29643
89e91c724316 8076531: Switch default compiler on Windows to VS2013
erikj
parents: 28812
diff changeset
  2013
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2014
                    After installing <a href="http://ubuntu.org">Ubuntu</a> 12.04 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2015
                    you need to install several build dependencies. The simplest
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2016
                    way to do it is to execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2017
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2018
                        <code>sudo aptitude build-dep openjdk-7</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2019
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2020
                        <code>sudo aptitude install openjdk-7-jdk</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2021
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2022
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2023
                        In addition, it's necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2024
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2025
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2026
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2027
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2028
                        <code>export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2029
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2030
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2031
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2032
                <h4><a name="opensuse">OpenSUSE 11.1</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2033
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2034
                    After installing <a href="http://opensuse.org">OpenSUSE</a> 11.1 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2035
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2036
                    The simplest way to install the build dependencies is to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2037
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2038
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2039
                        <code>sudo zypper source-install -d java-1_7_0-openjdk</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2040
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2041
                        <code>sudo zypper install make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2042
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2043
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2044
                        In addition, it is necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2045
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2046
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2047
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2048
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2049
                        <code>export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:$[PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2050
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2051
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2052
                        Finally, you need to unset the <code>JAVA_HOME</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2053
                        environment variable:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2054
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2055
                        <code>export -n JAVA_HOME</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2056
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2057
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2058
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2059
                <h4><a name="mandriva">Mandriva Linux One 2009 Spring</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2060
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2061
                    After installing <a href="http://mandriva.org">Mandriva</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2062
                    Linux One 2009 Spring 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2063
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2064
                    The simplest way to install the build dependencies is to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2065
                    execute the following commands as user <code>root</code>:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2066
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2067
                        <code>urpmi java-1.7.0-openjdk-devel make gcc gcc-c++ 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2068
                            freetype-devel zip unzip libcups2-devel libxrender1-devel
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2069
                            libalsa2-devel libstc++-static-devel libxtst6-devel 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2070
                            libxi-devel</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2071
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2072
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2073
                        In addition, it is necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2074
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2075
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2076
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2077
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2078
                        <code>export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:${PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2079
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2080
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2081
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2082
                <h4><a name="opensolaris">OpenSolaris 2009.06</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2083
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2084
                    After installing <a href="http://opensolaris.org">OpenSolaris</a> 2009.06 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2085
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2086
                    The simplest way to install the build dependencies is to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2087
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2088
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2089
                        <code>pfexec pkg install SUNWgmake SUNWj7dev 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2090
                            sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2091
                            SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2092
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2093
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2094
                        In addition, it is necessary to set a few environment 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2095
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2096
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2097
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2098
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2099
                        <code>export PATH="/opt/SunStudioExpress/bin:${PATH}"</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2100
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2101
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2102
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2103
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2104
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2105
        </blockquote> <!-- Appendix C -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2106
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2107
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2108
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2109
        <!-- Leave out Appendix D --
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2110
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2111
<hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2112
<h2><a name="mapping">Appendix D: Mapping Old to New</a></h2>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2113
<blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2114
    <p>This table will help you convert some idioms of the old build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2115
        system to the new build system.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2116
    <table summary="Cheat sheet for converting from old to new build system">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2117
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2118
            <th>In the old build system, you used to...</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2119
            <th>In the new build system, you should ...</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2120
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2121
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2122
            <td>run <code>make sanity</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2123
            <td>run <code>bash ./configure</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2124
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2125
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2126
            <td>set <code>ALT_OUTPUTDIR=build/my-special-output</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2127
            <td>before building the first time:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2128
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2129
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2130
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2131
                <code>bash ../../configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2132
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2133
                to build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2134
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2135
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2136
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2137
                <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2138
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2139
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2140
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2141
            <td>set <code>ALT_BOOTDIR=/opt/java/jdk7</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2142
            <td>run <code>configure --with-boot-jdk=/opt/java/jdk7</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2143
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2144
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2145
            <td>run <code>make ARCH_DATA_MODEL=32</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2146
            <td>run <code>configure --with-target-bits=32</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2147
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2148
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2149
            <td>set <code>BUILD_CLIENT_ONLY=true</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2150
            <td>run <code>configure --with-jvm-variants=client</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2151
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2152
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2153
            <td>set <code>ALT_FREETYPE_LIB_PATH=/opt/freetype/lib</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2154
                and <code>ALT_FREETYPE_HEADERS_PATH=/opt/freetype/include</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2155
            <td>run <code>configure --with-freetype=/opt/freetype</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2156
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2157
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2158
            <td>set <code>ALT_CUPS_HEADERS_PATH=/opt/cups/include</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2159
            <td>run <code>configure --with-cups=/opt/cups</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2160
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2161
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2162
            <td>set <code>ALT_OPENWIN_HOME=/opt/X11R6</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2163
            <td>run <code>configure --with-x=/opt/X11R6</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2164
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2165
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2166
            <td>set <code>ALT_MSVCRNN_DLL_PATH=c:/vc_redist</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2167
            <td>run <code>configure --with-msvcr100dll=/cygdrive/c/vc_redist</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2168
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2169
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2170
            <td>set <code>ALT_COMPILER_PATH=/opt/my-gcc/bin/gcc</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2171
            <td>run <code>CC=/opt/my-gcc/bin/gcc configure</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2172
                or <code>CXX=/opt/my-gcc/bin/g++ configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2173
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2174
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2175
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2176
            <td>set <code>BUILD_HEADLESS_ONLY=true</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2177
            <td>run <code>configure --disable-headful</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2178
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2179
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2180
            <td>set <code>ALT_DEVTOOLS_PATH=/opt/mytools</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2181
            <td>just run <code>configure</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2182
                your tools should be detected automatically. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2183
                If you have an unusual configuration, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2184
                add the tools directory to your <code>PATH</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2185
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2186
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2187
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2188
            <td>set <code>ALT_DROPS_DIR=/home/user/dropdir</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2189
            <td>source drops are not used anymore</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2190
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2191
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2192
            <td>set <code>USE_ONLY_BOOTDIR_TOOLS=true</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2193
            <td>not needed, <code>configure</code> should always do the Right Thing automatically</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2194
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2195
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2196
            <td>set <code>ALT_JDK_IMPORT_PATH=/opt/java/import-jdk</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2197
                or <code>ALT_BUILD_JDK_IMPORT_PATH=/opt/java/import-jdk</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2198
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2199
            <td>Importing JDKs is no longer possible, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2200
                but hotspot can be imported using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2201
                <code>--with-import-hotspot</code>. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2202
                Documentation on how to achieve a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2203
                similar solution will come soon!
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2204
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2205
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2206
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2207
            <td>set <code>EXTRA_CFLAGS=-Xfoo</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2208
            <td>run <code>CFLAGS=-Xfoo configure</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2209
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2210
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2211
            <td>set <code>CROSS_COMPILE_ARCH=i586</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2212
            <td>see <a href="#sec7.3"> section 7.3, Cross-compilation</a></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2213
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2214
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2215
            <td>set <code>SKIP_BOOT_CYCLE=false</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2216
            <td>Run <code>make bootcycle-images</code>.</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2217
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2218
    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2219
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2220
    <h3><a name="variables">Environment/Make Variables</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2221
    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2222
        Some of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2223
        environment or make variables (just called <b>variables</b> in this
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2224
        document) that can impact the build are:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2225
    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2226
        <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2227
            <dt><a name="path"><code>PATH</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2228
            <dd>Typically you want to set the <code>PATH</code> to include:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2229
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2230
                    <li>The location of the GNU make binary</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2231
                    <li>The location of the Bootstrap JDK <code>java</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2232
                        (see <a href="#bootjdk">Bootstrap JDK</a>)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2233
                    <li>The location of the C/C++ compilers 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2234
                        (see <a href="#compilers"><code>compilers</code></a>)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2235
                    <li>The location or locations for the Unix command utilities
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2236
                        (e.g. <code>/usr/bin</code>)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2237
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2238
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2239
            <dt><code>MILESTONE</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2240
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2241
                The milestone name for the build (<i>e.g.</i>"beta"). 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2242
                The default value is "internal".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2243
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2244
            <dt><code>BUILD_NUMBER</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2245
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2246
                The build number for the build (<i>e.g.</i> "b27"). 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2247
                The default value is "b00".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2248
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2249
            <dt><a name="arch_data_model"><code>ARCH_DATA_MODEL</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2250
            <dd>The <code>ARCH_DATA_MODEL</code> variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2251
                is used to specify whether the build is to generate 32-bit or 64-bit
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2252
                binaries. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2253
                The Solaris build supports either 32-bit or 64-bit builds, but
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2254
                Windows and Linux will support only one, depending on the specific
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2255
                OS being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2256
                Normally, setting this variable is only necessary on Solaris.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2257
                Set <code>ARCH_DATA_MODEL</code> to <code>32</code> for generating 32-bit binaries, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2258
                or to <code>64</code> for generating 64-bit binaries.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2259
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2260
            <dt><a name="ALT_BOOTDIR"><code>ALT_BOOTDIR</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2261
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2262
                The location of the bootstrap JDK installation. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2263
                See <a href="#bootjdk">Bootstrap JDK</a> for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2264
                You should always install your own local Bootstrap JDK and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2265
                always set <code>ALT_BOOTDIR</code> explicitly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2266
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2267
            <dt><a name="ALT_OUTPUTDIR"><code>ALT_OUTPUTDIR</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2268
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2269
                An override for specifying the (absolute) path of where the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2270
                build output is to go.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2271
                The default output directory will be build/<i>platform</i>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2272
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2273
            <dt><a name="ALT_COMPILER_PATH"><code>ALT_COMPILER_PATH</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2274
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2275
                The location of the C/C++ compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2276
                The default varies depending on the platform. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2277
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2278
            <dt><code><a name="ALT_CACERTS_FILE">ALT_CACERTS_FILE</a></code></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2279
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2280
                The location of the <a href="#cacerts">cacerts</a> file.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2281
                The default will refer to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2282
                <code>jdk/src/share/lib/security/cacerts</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2283
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2284
            <dt><a name="ALT_CUPS_HEADERS_PATH"><code>ALT_CUPS_HEADERS_PATH</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2285
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2286
                The location of the CUPS header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2287
                See <a href="#cups">CUPS information</a> for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2288
                If this path does not exist the fallback path is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2289
                <code>/usr/include</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2290
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2291
            <dt><a name="ALT_FREETYPE_LIB_PATH"><code>ALT_FREETYPE_LIB_PATH</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2292
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2293
                The location of the FreeType shared library. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2294
                See <a href="#freetype">FreeType information</a> for details. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2295
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2296
            <dt><a name="ALT_FREETYPE_HEADERS_PATH"><code>ALT_FREETYPE_HEADERS_PATH</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2297
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2298
                The location of the FreeType header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2299
                See <a href="#freetype">FreeType information</a> for details. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2300
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2301
            <dt><a name="ALT_JDK_DEVTOOLS_PATH"><code>ALT_JDK_DEVTOOLS_PATH</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2302
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2303
                The default root location of the devtools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2304
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2305
                <code>$(ALT_SLASH_JAVA)/devtools</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2306
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2307
            <dt><code><a name="ALT_DEVTOOLS_PATH">ALT_DEVTOOLS_PATH</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2308
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2309
                The location of tools like the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2310
                <a href="#zip"><code>zip</code> and <code>unzip</code></a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2311
                binaries, but might also contain the GNU make utility
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2312
                (<code><i>gmake</i></code>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2313
                So this area is a bit of a grab bag, especially on Windows.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2314
                The default value depends on the platform and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2315
                Unix Commands being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2316
                On Linux the default will be 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2317
                <code>$(ALT_JDK_DEVTOOLS_PATH)/linux/bin</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2318
                on Solaris
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2319
                <code>$(ALT_JDK_DEVTOOLS_PATH)/<i>{sparc,i386}</i>/bin</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2320
                and on Windows with CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2321
                <code>/usr/bin</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2322
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2323
            <dt><a name="ALT_UNIXCCS_PATH"><code>ALT_UNIXCCS_PATH</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2324
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2325
                <strong>Solaris only:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2326
                An override for specifying where the Unix CCS
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2327
                command set are located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2328
                The default location is <code>/usr/ccs/bin</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2329
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2330
            <dt><a name="ALT_SLASH_JAVA"><code>ALT_SLASH_JAVA</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2331
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2332
                The default root location for many of the ALT path locations
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2333
                of the following ALT variables.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2334
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2335
                <code>"/java"</code> on Solaris and Linux, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2336
                <code>"J:"</code> on Windows.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2337
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2338
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2339
            <dt><a name="ALT_OPENWIN_HOME"><code>ALT_OPENWIN_HOME</code></a></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2340
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2341
                The top-level directory of the libraries and include files 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2342
                for the platform's 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2343
                graphical programming environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2344
                The default location is platform specific. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2345
                For example, on Linux it defaults to <code>/usr/X11R6/</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2346
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2347
            <dt><strong>Windows specific:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2348
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2349
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2350
                    <dt><a name="ALT_WINDOWSSDKDIR"><code>ALT_WINDOWSSDKDIR</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2351
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2352
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2353
                        Microsoft Windows SDK where some tools will be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2354
                        located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2355
                        The default is whatever WINDOWSSDKDIR is set to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2356
                        (or WindowsSdkDir) or the path
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2357
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2358
                        <code>c:\Program Files\Microsoft SDKs\Windows\v7.0a</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2359
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2360
                    <dt><code><a name="ALT_DXSDK_PATH">ALT_DXSDK_PATH</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2361
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2362
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2363
                        <a href="#dxsdk">Microsoft DirectX 9 SDK</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2364
                        The default will be to try and use the DirectX environment
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2365
                        variable <code>DXSDK_DIR</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2366
                        failing that, look in <code>C:/DXSDK</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2367
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2368
                    <dt><code><a name="ALT_MSVCRNN_DLL_PATH">ALT_MSVCRNN_DLL_PATH</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2369
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2370
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2371
                        <a href="#msvcrNN"><code>MSVCR100.DLL</code></a>. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2372
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2373
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2374
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2375
            <dt><strong>Cross-Compilation Support:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2376
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2377
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2378
                    <dt><a name="CROSS_COMPILE_ARCH"><code>CROSS_COMPILE_ARCH</code></a> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2379
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2380
                        Set to the target architecture of a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2381
                        cross-compilation build. If set, this
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2382
                        variable is used to signify that we are 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2383
                        cross-compiling. The expectation
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2384
                        is that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2385
                        <a href="#ALT_COMPILER_PATH"><code>ALT_COMPILER_PATH</code></a> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2386
                        is set
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2387
                        to point to the cross-compiler and that any
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2388
                        cross-compilation specific flags
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2389
                        are passed using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2390
                        <a href="#EXTRA_CFLAGS"><code>EXTRA_CFLAGS</code></a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2391
                        The <a href="#ALT_OPENWIN_HOME"><code>ALT_OPENWIN_HOME</code></a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2392
                        variable should 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2393
                        also be set to point to the graphical header files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2394
                        (e.g. X11) provided with 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2395
                        the cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2396
                        When cross-compiling we skip execution of any demos 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2397
                        etc that may be built, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2398
                        also skip binary-file verification.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2399
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2400
                    <dt><code><a name="EXTRA_CFLAGS">EXTRA_CFLAGS</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2401
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2402
                        Used to pass cross-compilation options to the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2403
                        cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2404
                        These are added to the <code>CFLAGS</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2405
                        and <code>CXXFLAGS</code> variables. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2406
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2407
                    <dt><code><a name="USE_ONLY_BOOTDIR_TOOLS">USE_ONLY_BOOTDIR_TOOLS</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2408
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2409
                        Used primarily for cross-compilation builds
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2410
                        (and always set in that case)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2411
                        this variable indicates that tools from the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2412
                        boot JDK should be used during
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2413
                        the build process, not the tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2414
                        (<code>javac</code>, <code>javah</code>, <code>jar</code>)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2415
                        just built (which can't execute on the build host).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2416
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2417
                    <dt><code><a name="HOST_CC">HOST_CC</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2418
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2419
                        The location of the C compiler to generate programs 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2420
                        to run on the build host.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2421
                        Some parts of the build generate programs that are
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2422
                        then compiled and executed
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2423
                        to produce other parts of the build. Normally the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2424
                        primary C compiler is used
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2425
                        to do this, but when cross-compiling that would be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2426
                        the cross-compiler and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2427
                        resulting program could not be executed. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2428
                        On Linux this defaults to <code>/usr/bin/gcc</code>; 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2429
                        on other platforms it must be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2430
                        set explicitly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2431
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2432
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2433
            <dt><strong>Specialized Build Options:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2434
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2435
                Some build variables exist to support specialized build 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2436
                environments and/or specialized
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2437
                build products. Their use is only supported in those contexts:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2438
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2439
                    <dt><code><a name="BUILD_CLIENT_ONLY">BUILD_CLIENT_ONLY</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2440
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2441
                        Indicates this build will only contain the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2442
                        Hotspot client VM. In addition to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2443
                        controlling the Hotspot build target, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2444
                        it ensures that we don't try to copy
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2445
                        any server VM files/directories, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2446
                        and defines a default <code>jvm.cfg</code> file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2447
                        suitable for a client-only environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2448
                        Using this in a 64-bit build will
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2449
                        generate a sanity warning as 64-bit client 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2450
                        builds are not directly supported.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2451
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2452
                    <dt><code><a name="BUILD_HEADLESS_ONLY"></a>BUILD_HEADLESS_ONLY</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2453
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2454
                        Used when the build environment has no graphical 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2455
                        capabilities at all. This
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2456
                        excludes building anything that requires graphical 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2457
                        libraries to be available.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2458
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2459
                    <dt><code><a name="JAVASE_EMBEDDED"></a>JAVASE_EMBEDDED</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2460
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2461
                        Used to indicate this is a build of the Oracle 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2462
                        Java SE Embedded product. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2463
                        This will enable the directives included in the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2464
                        SE-Embedded specific build 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2465
                        files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2466
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2467
                    <dt><code><a name="LIBZIP_CAN_USE_MMAP">LIBZIP_CAN_USE_MMAP</a></code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2468
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2469
                        If set to false, disables the use of mmap by the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2470
                        zip utility. Otherwise,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2471
                        mmap will be used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2472
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2473
                    <dt><code><a name="COMPRESS_JARS"></a>COMPRESS_JARS</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2474
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2475
                        If set to true, causes certain jar files that 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2476
                        would otherwise be built without
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2477
                        compression, to use compression.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2478
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2479
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2480
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2481
        </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2482
    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2483
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2484
</blockquote> <!-- Appendix D -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2485
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2486
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2487
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2488
        <p>End of OpenJDK README-builds.html document.<br>Please come again!
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  2489
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2490
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2491
    </body>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2492
</html>