README-builds.html
author minqi
Wed, 15 Apr 2015 17:34:28 -0700
changeset 30240 a7ba42fa1df6
parent 28812 6c36bc1ccc0e
child 29643 89e91c724316
permissions -rw-r--r--
8074354: Make CreateMinidumpOnCrash a new name and available on all platforms Summary: Rename CreateMinidumpOnCrash which is used only for Windows as CreateCoredumpOnCrash and make it available for all platforms. Changed order for dumping core on Windows to be similar on other platforms. Also reviewed by thomas.stuefe@gmail.com Reviewed-by: dcubed Contributed-by: yumin.qi@oracle.com, thomas.stuefe@gmail.com
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>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    44
                        Any GNU make 3.81 or newer should work
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    45
                    </li>
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
                        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
    48
                        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
    49
                    </li>
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
                        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
    52
                        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
    53
                        of sub processes during the build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    54
                    </li>
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
                        Windows MKS usage is no longer supported
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    57
                    </li>
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
                        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
    60
                        <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
    61
                    </li>
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
                        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
    64
                    </li>
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
                        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
    67
                        build is no longer supported
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    68
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    69
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    70
            </blockquote>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    71
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    72
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    73
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    74
        <hr>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    75
        <h2><a name="contents">Contents</a></h2>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    76
        <blockquote>
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
    77
            <ul>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
    78
                <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
    79
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    80
                <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
    81
                    <ul>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    82
                        <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
    83
                        <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
    84
                    </ul>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
    85
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    86
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    87
                <li><a href="#building">Building</a>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
    88
                    <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    89
                        <li><a href="#setup">System Setup</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    90
                            <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    91
                                <li><a href="#linux">Linux</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    92
                                <li><a href="#solaris">Solaris</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    93
                                <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
    94
                                <li><a href="#windows">Windows</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    95
                            </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    96
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    97
                        <li><a href="#configure">Configure</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
    98
                        <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
    99
                    </ul>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
   100
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   101
                <li><a href="#testing">Testing</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   102
            </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   103
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   104
            <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   105
                <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
   106
                    <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   107
                        <li><a href="#faq">FAQ</a></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   108
                        <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
   109
                        <li><a href="#troubleshooting">Troubleshooting</a></li>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   110
                    </ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   111
                </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   112
                <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
   113
                <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
   114
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   115
                <!-- Leave out
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   116
                <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
   117
                -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   118
0
fd16c54261b3 Initial load
duke
parents:
diff changeset
   119
            </ul>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   120
        </blockquote>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   121
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   122
        <!-- ====================================================== -->
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   123
        <hr>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   124
        <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
   125
        <blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   126
            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
   127
            <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
   128
            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
   129
            <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
   130
                Beginner Guides</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   131
            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
   132
                Mercurial Book</a>.
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   133
            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
   134
            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
   135
            <br>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   136
            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
   137
            <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
   138
                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
   139
            section for more information.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   140
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   141
            <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
   142
            <blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   143
                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
   144
                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
   145
                root repository:
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   146
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   147
                    <code>
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   148
                        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
   149
                        <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   150
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   151
                        cd <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   152
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   153
                        bash ./get_source.sh
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   154
                    </code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   155
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   156
                Once you have all the repositories, keep in mind that each
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   157
                repository is its own independent repository.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   158
                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
   159
                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
   160
                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
   161
                "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
   162
                <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
   163
                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
   164
                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
   165
                command on every repository, e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   166
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   167
                    <code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   168
                        cd <i>YourOpenJDK</i>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   169
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   170
                        bash ./make/scripts/hgforest.sh status
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   171
                    </code>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   172
                </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   173
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   174
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   175
            <h3><a name="repositories">Repositories</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   176
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   177
                <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
   178
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   179
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   180
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   181
                            <th>Repository</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   182
                            <th>Contains</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   183
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   184
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   185
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   186
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   187
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   188
                                . (root)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   189
                            </td>
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
                                common configure and makefile logic
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   192
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   193
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   196
                                hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   197
                            </td>
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
                                source code and make files for building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   200
                                the OpenJDK Hotspot Virtual Machine                         
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   201
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   202
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   205
                                langtools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   206
                            </td>
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
                                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
   209
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   210
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   213
                                jdk
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   214
                            </td>
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
                                source code and make files for building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   217
                                the OpenJDK runtime libraries and misc files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   218
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   219
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   222
                                jaxp
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   223
                            </td>
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
                                source code for the OpenJDK JAXP functionality
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   226
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   227
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   230
                                jaxws
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   231
                            </td>
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
                                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
   234
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   235
                        </tr>
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
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   238
                                corba
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   239
                            </td>
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
                                source code for the OpenJDK Corba functionality
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   242
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   243
                        </tr>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   244
                        <tr>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   245
                            <td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   246
                                nashorn
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   247
                            </td>
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
                                source code for the OpenJDK JavaScript implementation
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   250
                            </td>
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   251
                        </tr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   252
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   253
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   254
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   255
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   256
            <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
   257
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   258
                There are some very basic guidelines:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   259
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   260
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   261
                        Use of whitespace in source files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   262
                        (.java, .c, .h, .cpp, and .hpp files)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   263
                        is restricted.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   264
                        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
   265
                        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
   266
                    </li>
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
                        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
   269
                        to the source repositories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   270
                    </li>
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
                        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
   273
                        the files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   274
                        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
   275
                        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
   276
                        <code>build/</code> directory.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   277
                    </li>
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
                        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
   280
                        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
   281
                        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
   282
                        fastdebug (optimized, -g plus assert logic).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   283
                    </li>
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
                        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
   286
                        must exist and should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   287
                        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
   288
                        optionally any
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   289
                        <tt>nbproject/private</tt> directories.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   290
                        <strong>It should NEVER</strong> include 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   291
                        anything in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   292
                        <tt>src/</tt> or <tt>test/</tt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   293
                        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
   294
                    </li>
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
                        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
   297
                        blanks or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   298
                        non-printing characters.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   299
                    </li>
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
                        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
   302
                        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
   303
                        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
   304
                        with some of the generated configure scripts.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   305
                    </li>
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
                        Files not needed for typical building
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   308
                        or testing of the repository
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   309
                        should not be added to the repository.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   310
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   311
                </ul>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   312
            </blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   313
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   314
        </blockquote>
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   315
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   316
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   317
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   318
        <h2><a name="building">Building</a></h2>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
   319
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   320
            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
   321
            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
   322
            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
   323
            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   324
            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
   325
            <a href="#configure"><code>configure</code></a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   326
            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
   327
            you need, followed by running
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   328
            <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
   329
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   330
                <b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   331
                    <code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   332
                        bash ./configure<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   333
                        make all
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   334
                    </code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   335
                </b>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
   336
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   337
            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
   338
            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
   339
            specific variable settings.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   340
            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
   341
            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
   342
            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
   343
            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
   344
            packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   345
            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   346
            <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
   347
            file does not have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   348
            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
   349
            <code>bash</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   350
            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
   351
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
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   354
            <h3><a name="setup">System Setup</a></h3>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   355
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   356
                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
   357
                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
   358
                For all systems:
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   359
                <ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   360
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   361
                        Be sure the GNU make utility is version 3.81 or newer,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   362
                        e.g. run "<code>make -version</code>"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   363
                    </li>
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
                        Install a
18049
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   366
                        <a name="bootjdk">Bootstrap JDK</a>.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   367
                        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
   368
                        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
   369
                        The general rule is that the bootstrap JDK
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   370
                        must be an instance of the previous major
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   371
                        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
   372
                        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
   373
                        particular update level.
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   374
                        <br>&nbsp;<br>
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   375
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   376
                        <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
   377
                        developers should not use JDK 9 as the boot
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   378
                        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
   379
                        not introduced into the parts of the system
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   380
                        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
   381
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   382
                        <br>&nbsp;<br>
23987
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   383
                        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
   384
                        <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
   385
                           target="_blank">JDK 8 download site</a>.
5afeaf4283ed 8041593: Update README-builds.html to refer to jdk9
erikj
parents: 19758
diff changeset
   386
                        For build performance reasons it
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   387
                        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
   388
                        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
   389
                        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
   390
                        to the <code>PATH</code> environment variable.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   391
                        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
   392
                        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
   393
                        <code>--with-boot-jdk</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   394
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   395
                    <li>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   396
                        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
   397
                        and the compilers are all
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   398
                        in your PATH environment variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   399
                    </li>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   400
                </ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   401
                And for specific systems:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   402
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   403
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   404
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   405
                            <th>Linux</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   406
                            <th>Solaris</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   407
                            <th>Windows</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   408
                            <th>Mac OS X</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   409
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   410
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   411
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   412
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   413
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   414
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   415
                                packages needed including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   416
                                <a href="#alsa">alsa</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   417
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   418
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   419
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   420
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   421
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   422
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   423
                            </td>
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
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   426
                                packages needed  including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   427
                                <a href="#studio">Studio Compilers</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   428
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   429
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   430
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   431
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   432
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   433
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   434
                            </td>
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
                                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   437
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   438
                                        Install one of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   439
                                        <a href="#cygwin">CYGWIN</a> or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   440
                                        <a href="#msys">MinGW/MSYS</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   441
                                    </li>
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
                                        Install
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   444
                                        <a href="#vs2010">Visual Studio 2010</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   445
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   446
                                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   447
                            </td>
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
                                Install 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   450
                                <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
   451
                                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
   452
                                preferences pane "Downloads"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   453
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   454
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   455
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   456
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   457
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   458
                <h4><a name="linux">Linux</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   459
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   460
                    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
   461
                    building your own
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   462
                    or getting packages from other areas.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   463
                    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
   464
                    available packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   465
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   466
                    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
   467
                    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
   468
                    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
   469
                    your Linux system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   470
                    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
   471
                    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
   472
                    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
   473
                    settings make sense for building the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   474
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   475
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   476
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   477
                <h4><a name="solaris">Solaris</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   478
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   479
                    <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
   480
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   481
                        At a minimum, the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   482
                        <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
   483
                            Studio 12 Update 1 Compilers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   484
                        (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
   485
                        including specific patches.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   486
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   487
                            The Solaris SPARC patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   488
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   489
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   490
                                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
   491
                            </li>
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
                                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
   494
                            </li>
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
                                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
   497
                            </li>
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
                                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
   500
                            </li>
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
                                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
   503
                            </li>
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
                                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
   506
                            </li>
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
                                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
   509
                            </li>
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
                                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
   512
                            </li>
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
                                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
   515
                            </li>
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
                                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
   518
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   519
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   520
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   521
                            The Solaris X86 patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   522
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   523
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   524
                                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
   525
                            </li>
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
                                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
   528
                            </li>
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
                                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
   531
                            </li>
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
                                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
   534
                            </li>
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
                                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
   537
                            </li>
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
                                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
   540
                            </li>
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
                                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
   543
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   544
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   545
                        <p> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   546
                            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
   547
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   548
                            The Oracle Solaris Studio Express compilers at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   549
                            <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
   550
                                Oracle Solaris Studio Express Download site</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   551
                            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
   552
                            been extensively used yet.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   553
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   554
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   555
                </blockquote> <!-- Solaris -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   556
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   557
                <h4><a name="windows">Windows</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   558
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   559
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   560
                    <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
   561
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   562
                        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
   563
                        Unix-like shell.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   564
                        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
   565
                        <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
   566
                        <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
   567
                        currently supported for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   568
                        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
   569
                        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
   570
                        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
   571
                        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
   572
                        Depending
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   573
                        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
   574
                        problems can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   575
                        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
   576
                        backslashes to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   577
                        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
   578
                        translating the path names to their 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   579
                        <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
   580
                            "8.3" version</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   581
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   582
                        <h6><a name="cygwin">CYGWIN</a></h6>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   583
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   584
                            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
   585
                            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
   586
                            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
   587
                            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
   588
                            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
   589
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   590
                                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
   591
                                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
   592
                                (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
   593
                            </p>
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
                                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
   596
                                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
   597
                                the <code>PATH</code> variable contains directories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   598
                                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
   599
                                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
   600
                                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
   601
                                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
   602
                                which CYGWIN understands, but only CYGWIN understands.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   603
                            </p>
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
                                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
   606
                                Information about CYGWIN can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   607
                                be obtained from the CYGWIN website at
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   608
                                <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
   609
                            </p>
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
                                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
   612
                                the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   613
                                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
   614
                                the following tools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   615
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   616
                                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   617
                                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   618
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   619
                                            <td>Binary Name</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   620
                                            <td>Category</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   621
                                            <td>Package</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   622
                                            <td>Description</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   623
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   624
                                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   625
                                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   626
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   627
                                            <td>ar.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   628
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   629
                                            <td>binutils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   630
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   631
                                                The GNU assembler, linker and binary utilities
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   632
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   633
                                        </tr>
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
                                            <td>make.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   636
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   637
                                            <td>make</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   638
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   639
                                                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
   640
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   641
                                        </tr>
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
                                            <td>m4.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   644
                                            <td>Interpreters</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   645
                                            <td>m4</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   646
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   647
                                                GNU implementation of the traditional Unix macro
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   648
                                                processor
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   649
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   650
                                        </tr>
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
                                            <td>cpio.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   653
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   654
                                            <td>cpio</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   655
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   656
                                                A program to manage archives of files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   657
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   658
                                        </tr>
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
                                            <td>gawk.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   661
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   662
                                            <td>awk</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   663
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   664
                                                Pattern-directed scanning and processing language
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   665
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   666
                                        </tr>
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
                                            <td>file.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   669
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   670
                                            <td>file</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   671
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   672
                                                Determines file type using 'magic' numbers
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   673
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   674
                                        </tr>
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
                                            <td>zip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   677
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   678
                                            <td>zip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   679
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   680
                                                Package and compress (archive) files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   681
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   682
                                        </tr>
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
                                            <td>unzip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   685
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   686
                                            <td>unzip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   687
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   688
                                                Extract compressed files in a ZIP archive
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   689
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   690
                                        </tr>
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
                                            <td>free.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   693
                                            <td>System</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   694
                                            <td>procps</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   695
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   696
                                                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
   697
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   698
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   699
                                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   700
                                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   701
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   702
                            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
   703
                            software on your Windows system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   704
                            CYGWIN provides a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   705
                            <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
   706
                            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
   707
                            section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   708
                            <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
   709
                                BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   710
                        </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   711
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   712
                        <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
   713
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   714
                            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
   715
                            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
   716
                            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
   717
                            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
   718
                            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
   719
                            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
   720
                            and <code>make</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   721
                            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
   722
                            for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   723
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   724
                                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
   725
                                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
   726
                                <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
   727
                                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
   728
                                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
   729
                                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
   730
                                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
   731
                                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
   732
                                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
   733
                                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
   734
                                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
   735
                                    replace such parameters by drive letters</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   736
                            </p>
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
                                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
   739
                                by default, you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   740
                                to manually install the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   741
                                <code>msys-zip</code> and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   742
                                <code>msys-unzip</code> packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   743
                                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
   744
                            <blockquote> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   745
                                <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
   746
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   747
                                <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
   748
                            </blockquote> 
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   751
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   752
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   753
                    <h5><a name="vs2010">Visual Studio 2010 Compilers</a></h5>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   754
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   755
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   756
                            The 32-bit and 64-bit OpenJDK Windows build requires
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   757
                            Microsoft Visual Studio C++ 2010 (VS2010) Professional
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   758
                            Edition or Express compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   759
                            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
   760
                            in the location defined by the variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   761
                            <code>VS100COMNTOOLS</code> which
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   762
                            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
   763
                        </p>
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
                            Only the C++ part of VS2010 is needed.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   766
                            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
   767
                            install directory.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   768
                            Always reboot your system after installing VS2010.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   769
                            The system environment variable VS100COMNTOOLS 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   770
                            should be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   771
                            set in your environment.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   772
                        </p>
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
                            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
   775
                            in the environment
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   776
                            and refer to Windows paths that exist, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   777
                            like <code>C:\temp</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   778
                            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
   779
                            and not <code>C:/temp</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   780
                            <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
   781
                            it is assumed that this area is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   782
                            private to the user, so by default 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   783
                            after installs you should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   784
                            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
   785
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   786
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   787
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
                </blockquote> <!-- Windows -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   790
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   791
                <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
   792
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   793
                    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
   794
                </blockquote> <!-- Mac OS X -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   795
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   796
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   797
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
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   800
            <h3><a name="configure">Configure</a></h3>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   801
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   802
                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
   803
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   804
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   805
                    <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
   806
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   807
                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
   808
                "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
   809
                This directory typically looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   810
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   811
                    <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
   812
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   813
                <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
   814
                and where all necessary build components are.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   815
                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
   816
                it should find everything.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   817
                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
   818
                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
   819
                When this happens, read more below in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   820
                <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
   821
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   822
                    Some examples:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   823
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   824
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   825
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   826
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   827
                            <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   828
                            <th>Configure Command Line</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   829
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   830
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   831
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   832
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   833
                            <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
   834
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   835
                                <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
   836
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   837
                        </tr>
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
                            <td>Debug 64bit Build</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   840
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   841
                                <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
   842
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   843
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   844
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   845
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   846
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
                <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
   849
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   850
                    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
   851
                    be seen with:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   852
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   853
                        <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
   854
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   855
                    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
   856
                    available.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   857
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   858
                    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
   859
                    e.g. debug, release, 32, 64, etc.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   860
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   861
                    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
   862
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   863
                    <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   864
                        <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   865
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   866
                                <th width="300">OpenJDK Configure Option</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   867
                                <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   868
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   869
                        </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   870
                        <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   871
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   872
                                <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
   873
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   874
                                    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
   875
                                    <code>--with-debug-level=fastdebug</code>)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   876
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   877
                            </tr>
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
                                <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
   880
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   881
                                    select the location of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   882
                                    <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
   883
                                    <br>                        
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   884
                                    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
   885
                                    required for building the OpenJDK on Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   886
                                    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
   887
                                    of "libasound"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   888
                                    development package,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   889
                                    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
   890
                                    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
   891
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   892
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   893
                            </tr>   
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
                                <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
   896
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   897
                                    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
   898
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   899
                            </tr>                      
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
                                <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
   902
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   903
                                    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
   904
                                    <a href="#bootjdk">Bootstrap JDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   905
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   906
                            </tr>
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
                                <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
   909
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   910
                                    select the path to the cacerts file.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   911
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   912
                                    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
   913
                                        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
   914
                                    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
   915
                                    A certificates file named "cacerts"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   916
                                    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
   917
                                    In JDK and JRE
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   918
                                    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
   919
                                    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
   920
                                    The source contain a cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   921
                                    without CA root certificates. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   922
                                    Formal JDK builders will need to secure
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   923
                                    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
   924
                                    own custom cacerts file. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   925
                                    Failure to provide a populated cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   926
                                    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
   927
                                    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
   928
                                    fine for most JDK developers.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   929
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   930
                            </tr>    
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
                                <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
   933
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   934
                                    select the CUPS install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   935
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   936
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   937
                                    <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
   938
                                    are required for building the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   939
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   940
                                    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
   941
                                    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
   942
                                    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
   943
                                    directory <code>/opt/sfw/cups</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   944
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   945
                                    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
   946
                                    <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
   947
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   948
                            </tr>    
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
                                <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
   951
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   952
                                    select the CUPS include directory location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   953
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   954
                            </tr>                           
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
                                <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
   957
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   958
                                    select the debug information level of release,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   959
                                    fastdebug, or slowdebug
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   960
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   961
                            </tr>                          
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
                                <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
   964
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   965
                                    select location of the compiler install or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   966
                                    developer install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   967
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   968
                            </tr>       
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
                                <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
   971
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   972
                                    select the freetype files to use.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   973
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   974
                                    Expecting the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   975
                                    <a name="freetype">freetype</a> libraries under
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   976
                                    <code>lib/</code> and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   977
                                    headers under <code>include/</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   978
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   979
                                    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
   980
                                    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
   981
                                    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
   982
                                    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
   983
                                    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
   984
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   985
                                    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
   986
                                    <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
   987
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   988
                                    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
   989
                                    however on Windows refer to the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   990
                                    <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
   991
                                        Windows FreeType DLL build instructions</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   992
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   993
                                    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
   994
                                    support disabled due to licensing restrictions.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   995
                                    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
   996
                                    differ from Sun's official JDK build.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   997
                                    See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   998
                                    <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
   999
                                        the SourceForge FreeType2 Home Page
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1000
                                    </a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1001
                                    for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1002
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1003
                            </tr>                          
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
                                <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
  1006
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1007
                                    select the location to find hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1008
                                    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
  1009
                                    hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1010
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1011
                            </tr>                          
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
                                <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
  1014
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1015
                                    select 32 or 64 bit build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1016
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1017
                            </tr>                           
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
                                <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
  1020
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1021
                                    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
  1022
                                    separated list that can include:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1023
                                    server, client, kernel, zero and zeroshark
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1024
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1025
                            </tr>                           
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
                                <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
  1028
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1029
                                    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
  1030
                                    this system has
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1031
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1032
                            </tr>                            
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
                                <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
  1035
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1036
                                    select the <code>msvcr100.dll</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1037
                                    file to include in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1038
                                    Windows builds (C/C++ runtime library for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1039
                                    Visual Studio).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1040
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1041
                                    This is usually picked up automatically
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1042
                                    from the redist
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1043
                                    directories of Visual Studio 2010.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1044
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1045
                            </tr>                            
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
                                <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
  1048
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1049
                                    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
  1050
                                    count or CPU count)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1051
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1052
                            </tr>
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
                                <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
  1055
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1056
                                    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
  1057
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1058
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1059
                                    <a name="xrender">XRender Extension Headers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1060
                                    are required for building the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1061
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1062
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1063
                                    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
  1064
                                    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
  1065
                                    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
  1066
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1067
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1068
                                    The Solaris XRender header files is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1069
                                    included with the other X11 header files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1070
                                    in the package <strong>SFWxwinc</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1071
                                    on new enough versions of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1072
                                    Solaris and will be installed in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1073
                                    <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
  1074
                                    <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
  1075
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1076
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1077
                        </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1078
                    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1079
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1080
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
  1081
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1082
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
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1085
            <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
  1086
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1087
                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
  1088
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1089
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1090
                    <b><code>make all</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1091
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1092
                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
  1093
                "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
  1094
                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
  1095
                the available targets.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1096
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1097
                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
  1098
                are of general interest:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1099
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1100
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1101
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1102
                            <th>Make Target</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1103
                            <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1104
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1105
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1106
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1107
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1108
                            <td><i>empty</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1109
                            <td>build everything but no images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1110
                        </tr>
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
                            <td><b><code>all</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1113
                            <td>build everything including images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1114
                        </tr>
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
                            <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
  1117
                            <td>build all configurations</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1118
                        </tr>
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
                            <td><b><code>images</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1121
                            <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
  1122
                        </tr>
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
                            <td><b><code>install</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1125
                            <td>install the generated images locally, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1126
                                typically in <code>/usr/local</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1127
                        </tr>
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
                            <td><b><code>clean</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1130
                            <td>remove all files generated by make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1131
                                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
  1132
                        </tr>
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
                            <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
  1135
                            <td>remove all files generated by both 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1136
                                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
  1137
                        </tr>
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
                            <td><b><code>help</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1140
                            <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
  1141
                                including some interesting make targets</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1142
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1143
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1144
                </table>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1145
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1146
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1147
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1148
        <!-- ====================================================== -->
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1149
        <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1150
        <h2><a name="testing">Testing</a></h2>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1151
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1152
            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
  1153
            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
  1154
            directory in the output directory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1155
            In particular, the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1156
            <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
  1157
            directory should contain executables for the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1158
            OpenJDK tools and utilities for that configuration.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1159
            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
  1160
            and can be found at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1161
            <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
  1162
                the jtreg site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1163
            The provided regression tests in the repositories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1164
            can be run with the command:
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1165
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1166
                <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
  1167
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1168
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1169
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
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1181
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1182
        <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
  1183
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1184
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1185
            <h3><a name="faq">FAQ</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1186
            <blockquote>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1187
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1188
                <p>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1189
                    <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
  1190
                    How are you going to edit it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1191
                    <br>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1192
                    <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
  1193
                    "compiled") by the autoconf tools. The source code is
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1194
                    in <code>configure.ac</code> and various .m4 files in common/autoconf,
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1195
                    which are much more readable.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1196
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1197
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1198
                <p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1199
                    <b>Q:</b> 
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1200
                    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
  1201
                    if it is generated?
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1202
                    <br>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1203
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1204
                    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
  1205
                    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
  1206
                    as the first step. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1207
                    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
  1208
                    to start building OpenJDK, and to minimize
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1209
                    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
  1210
                </p>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1211
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1212
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1213
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1214
                    Do you require a specific version of autoconf for regenerating
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1215
                    <code>generated-configure.sh</code>?
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1216
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1217
                    <b>A:</b>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1218
                    Yes, version 2.69 is required and should be easy
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1219
                    enough to aquire on all supported operating
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1220
                    systems.  The reason for this is to avoid
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1221
                    large spurious changes in <code>generated-configure.sh</code>.
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1222
                </p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1223
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1224
                <p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1225
                    <b>Q:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1226
                    How do you regenerate <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1227
                    after making changes to the input files?
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1228
                    <br>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1229
                    <b>A:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1230
                    Regnerating <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1231
                    should always be done using the
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1232
                    script <code>common/autoconf/autogen.sh</code> to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1233
                    ensure that the correct files get updated. This
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1234
                    script should also be run after mercurial tries to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1235
                    merge <code>generated-configure.sh</code> as a
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1236
                    merge of the generated file is not guaranteed to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1237
                    be correct.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1238
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1239
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1240
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1241
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1242
                    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
  1243
                    They look like gibberish.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1244
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1245
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1246
                    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
  1247
                    limitations on certain platforms (Windows, Solaris).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1248
                    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
  1249
                    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
  1250
                    These
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1251
                    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
  1252
                    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
  1253
                    We're
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1254
                    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
  1255
                    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
  1256
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1257
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1258
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1259
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1260
                    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
  1261
                    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
  1262
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1263
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1264
                    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
  1265
                    several log levels:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1266
                </p>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1267
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1268
                    <ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1269
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1270
                            <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
  1271
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1272
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1273
                            <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
  1274
                            than warn.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1275
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1276
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1277
                            <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
  1278
                            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
  1279
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1280
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1281
                            <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
  1282
                            lines as well.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1283
                        </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1284
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1285
                </blockquote>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1286
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1287
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1288
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1289
                    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
  1290
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1291
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1292
                    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
  1293
                    configuration. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1294
                    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
  1295
                    configuration options, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1296
                    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
  1297
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1298
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1299
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1300
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1301
                    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
  1302
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1303
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1304
                    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
  1305
                    library, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1306
                    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
  1307
                    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
  1308
                    exceptions for some native libraries where the source files are spread
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1309
                    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
  1310
                    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
  1311
                    rather than excludes.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1312
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1313
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1314
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1315
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1316
                    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
  1317
                    like <code>--dvidir</code>. What is this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1318
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1319
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1320
                    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
  1321
                    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
  1322
                    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
  1323
                    use <code>configure --help=short</code> instead.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1324
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1325
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1326
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1327
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1328
                    <code>configure</code> provides OpenJDK-specific features such as
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1329
                    <code>--with-builddeps-server</code> that are not
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1330
                    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
  1331
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1332
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1333
                    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
  1334
                    experimental features. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1335
                    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
  1336
                    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
  1337
                    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
  1338
                    not ready for prime time.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1339
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1340
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1341
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1342
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1343
                    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
  1344
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1345
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1346
                    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
  1347
                    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
  1348
                    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
  1349
                    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
  1350
                    comparison, even
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1351
                    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
  1352
                    For these, we compare relevant aspects 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1353
                    (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
  1354
                    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
  1355
                    equivalence, but we're close.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1356
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1357
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1358
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1359
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1360
                    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
  1361
                    Why don't you fix it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1362
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1363
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1364
                    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
  1365
                    technically possible to the old build output. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1366
                    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
  1367
                    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
  1368
                    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
  1369
                    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
  1370
                    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
  1371
                    after the new build system is established.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1372
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1373
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1374
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1375
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1376
                    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
  1377
                    Will you fix this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1378
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1379
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1380
                    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
  1381
                    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
  1382
                    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
  1383
                    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
  1384
                    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
  1385
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1386
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1387
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1388
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1389
                    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
  1390
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1391
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1392
                    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
  1393
                    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
  1394
                    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
  1395
                    development fashion, when doing a normal make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1396
                    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
  1397
                    (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
  1398
                    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
  1399
                    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
  1400
                    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
  1401
                    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
  1402
                    We're targeting sub-second incremental rebuilds! ;-) 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1403
                    (Or, well, at least single-digit seconds...)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1404
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1405
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1406
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1407
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1408
                    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
  1409
                    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
  1410
                    What should I do?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1411
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1412
                    <b>A:</b>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1413
                    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
  1414
                    an option that was actually used from outside the build system.
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1415
                    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
  1416
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1417
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1418
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1419
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1420
            <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
  1421
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1422
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1423
                <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
  1424
                    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
  1425
                    of resources such as
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1426
                    parallel threads and memory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1427
                    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
  1428
                    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
  1429
                    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
  1430
                    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
  1431
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1432
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1433
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1434
                        <b><code>--with-num-cores</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1435
                        &mdash; 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1436
                        number of cores in the build system,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1437
                        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
  1438
                    </li>
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
                        <b><code>--with-memory-size</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1441
                        &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
  1442
                        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
  1443
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1444
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1445
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1446
                <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
  1447
                    to the Bootstrap JDK, using e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1448
                    <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
  1449
                    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
  1450
                    passed to the Bootstrap JDK.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1451
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
                <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
  1454
                    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
  1455
                    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
  1456
                    is fully supported.</p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1457
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1458
                <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
  1459
                    you will get a performance summary, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1460
                    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
  1461
                    also get performance hints. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1462
                    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
  1463
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1464
                <h4>Building with ccache</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1465
28812
6c36bc1ccc0e 8062223: Upgrading to ccache 1.3.10 disables the use of ccache
erikj
parents: 23987
diff changeset
  1466
                <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
  1467
                    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
  1468
                    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
  1469
                    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
  1470
                    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
  1471
                    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
  1472
                    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
  1473
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1474
                <h4>Building on local disk</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1475
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1476
                <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
  1477
                    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
  1478
                    The performance
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1479
                    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
  1480
                    close to unusable.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1481
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1482
                <h4>Building only one JVM</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1483
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1484
                <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
  1485
                    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
  1486
                    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
  1487
                    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
  1488
                    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
  1489
                    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
  1490
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1491
                <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
  1492
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1493
                <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
  1494
                    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
  1495
                    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
  1496
                    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
  1497
                    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
  1498
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1499
                <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
  1500
                    power for other processes, you can run
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1501
                    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
  1502
                    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
  1503
                    which will disable parallelism.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1504
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1505
                <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
  1506
                    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
  1507
                    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
  1508
                    <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
  1509
                    If you want to run with more
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1510
                    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
  1511
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1512
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1513
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1514
            <h3><a name="troubleshooting">Troubleshooting</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1515
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1516
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1517
                <h4>Solving build problems</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1518
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1519
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1520
                    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
  1521
                    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
  1522
                    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
  1523
                    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
  1524
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1525
                    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
  1526
                    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
  1527
                    <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
  1528
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1529
                    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
  1530
                    on either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1531
                    <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
  1532
                        build-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1533
                    or the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1534
                    <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
  1535
                        build-infra-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1536
                    mailing lists. Please include the relevant parts
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1537
                    of the build log.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1538
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1539
                    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
  1540
                    Most failures
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1541
                    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
  1542
                    pre-build requirements have not been met. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1543
                    The first step in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1544
                    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
  1545
                    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
  1546
                    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
  1547
                    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
  1548
                    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
  1549
                    <code>configure</code> had in finding things.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1550
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1551
                    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
  1552
                    described
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1553
                    below, with suggestions for remedies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1554
                    <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1555
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1556
                            <b>Corrupted Bundles on Windows:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1557
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1558
                                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
  1559
                                corrupt the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1560
                                downloading of zip bundles.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1561
                                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
  1562
                                'real time'
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1563
                                virus scanning features to prevent this corruption.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1564
                                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
  1565
                                slow down the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1566
                                build process significantly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1567
                                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
  1568
                                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
  1569
                                faster builds.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1570
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1571
                        </li>
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
                            <b>Slow Builds:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1574
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1575
                                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
  1576
                                simultaneous C++ compiles, try setting the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1577
                                <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
  1578
                                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
  1579
                                level for your system. Also:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1580
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1581
                                    Creating the javadocs can be very slow, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1582
                                    if you are running
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1583
                                    javadoc, consider skipping that step.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1584
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1585
                                    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
  1586
                                    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
  1587
                                    (many C++ compiles),
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1588
                                    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
  1589
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1590
                                    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
  1591
                                    <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
  1592
                                </blockquote>
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
                        </li>
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
                            <b>File time issues:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1597
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1598
                                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
  1599
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1600
                                    <i>Warning message:</i><code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1601
                                        File `xxx' has modification time in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1602
                                        the future.</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1603
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1604
                                    <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
  1605
                                        Your build may
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1606
                                        be incomplete.</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1607
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1608
                                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
  1609
                                machine is out of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1610
                                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
  1611
                                Other errors, apparently
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1612
                                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
  1613
                                can occur along with
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1614
                                the clock skew warnings. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1615
                                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
  1616
                                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
  1617
                                is an out-of-sync clock.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1618
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1619
                                    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
  1620
                                    build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1621
                                    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
  1622
                                    or delete the directory
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1623
                                    containing the build output, and restart the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1624
                                    build from the beginning.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1625
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1626
                        </li>
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
                            <b>Error message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1629
                                <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
  1630
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1631
                                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
  1632
                                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
  1633
                                it may be necessary to use:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1634
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1635
                                    <code>make JOBS=1</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1636
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1637
                                to reduce the load on the system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1638
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1639
                        </li>
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
                            <b>Error Message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1642
                                <code>libstdc++ not found:</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1643
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1644
                                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
  1645
                                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
  1646
                                (e.g. libstdc++.so.devel.386).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1647
                                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
  1648
                                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
  1649
                                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
  1650
                                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
  1651
                                portability of the built images.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1652
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1653
                        </li>
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
                            <b>Linux Error Message:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1656
                                <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
  1657
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1658
                                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
  1659
                                <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
  1660
                                    http://en.wikipedia.org/wiki/SELinux</a>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1661
                                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
  1662
                                performance reasons.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1663
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1664
                                    To completely disable SELinux:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1665
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1666
                                    <li><code>$ su root</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1667
                                    <li><code># system-config-securitylevel</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1668
                                    <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
  1669
                                    <li><code>Disable SELinux</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1670
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1671
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1672
                                    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
  1673
                                    disable just this one check.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1674
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1675
                                    <li>Select System->Administration->SELinux Management</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1676
                                    <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
  1677
                                        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
  1678
                                    <li>Expand the "Memory Protection" group</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1679
                                    <li>Check the first item, labeled
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1680
                                        "Allow all unconfined executables to use 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1681
                                        libraries requiring text relocation ..."</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1682
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1683
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1684
                        </li>
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
                            <b>Windows Error Messages:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1687
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1688
                            <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
  1689
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1690
                            <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
  1691
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1692
                            <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
  1693
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1694
                            <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
  1695
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1696
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1697
                                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
  1698
                                software. See the CYGWIN FAQ section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1699
                                <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
  1700
                                    BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1701
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1702
                        </li>
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
                            <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
  1705
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1706
                                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
  1707
                                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
  1708
                                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
  1709
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1710
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1711
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1712
                </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1713
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1714
            </blockquote> <!-- Troubleshooting -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1715
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1716
        </blockquote> <!-- Appendix A -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1717
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1718
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1719
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1720
        <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
  1721
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1722
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1723
            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
  1724
            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
  1725
            (usually called <code>gmake</code> on Solaris).
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1726
            A few notes about using GNU make:
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1727
            <ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1728
                <li>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1729
                    You need GNU make version 3.81 or newer.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1730
                    If the GNU make utility on your systems is not
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1731
                    3.81 or newer,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1732
                    see <a href="#buildgmake">"Building GNU make"</a>.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1733
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1734
                <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1735
                    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
  1736
                    <code>PATH</code>. 
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1737
                </li>
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
                    <strong>Solaris:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1740
                    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
  1741
                    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
  1742
                    from the Solaris Developer Companion CD installed, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1743
                    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
  1744
                    which will be located in either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1745
                    <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
  1746
                    <code>/usr/sfw/bin</code> directory.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1747
                </li>
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
                    <strong>Windows:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1750
                    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
  1751
                </li>
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
                    <strong>Mac OS X:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1754
                    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
  1755
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1756
            </ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1757
            <p>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1758
                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
  1759
                available on the
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1760
                <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
  1761
                    GNU make web site
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1762
                </a>.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1763
                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
  1764
                <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
  1765
                    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
  1766
            </p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1767
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1768
            <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
  1769
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1770
                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
  1771
                <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
  1772
                    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
  1773
                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
  1774
                basically done with:
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1775
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1776
                    <code>bash ./configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1777
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1778
                    <code>make</code>
12494
6cf597938c70 7154130: Add Mac OS X Instructions to README-builds.html
ewendeli
parents: 10208
diff changeset
  1779
                </blockquote>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1780
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1781
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1782
        </blockquote> <!-- Appendix B -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1783
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1784
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1785
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1786
        <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
  1787
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1788
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1789
            <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
  1790
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1791
                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
  1792
                call the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1793
                "minimum build environments" (MBE) for this 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1794
                specific release of the JDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1795
                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
  1796
                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
  1797
                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
  1798
                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
  1799
                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
  1800
                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
  1801
                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
  1802
                aspects to it.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1803
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1804
                    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
  1805
                    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
  1806
                    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
  1807
                    the minimums listed below are simply recommendations.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1808
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1809
                    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
  1810
                    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
  1811
                    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
  1812
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1813
                    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
  1814
                    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
  1815
                    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
  1816
                    be used.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1817
                    <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
  1818
                        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
  1819
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1820
                    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
  1821
                    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
  1822
                    in general.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1823
                    <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
  1824
                        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
  1825
                        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
  1826
                        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
  1827
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1828
                    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
  1829
                    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
  1830
                    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
  1831
                    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
  1832
                    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
  1833
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1834
                    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
  1835
                    common problem.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1836
                    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
  1837
                    <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
  1838
                    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
  1839
                    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
  1840
                    can be dealt with accordingly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1841
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1842
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1843
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1844
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1845
                            <th>Base OS and Architecture</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1846
                            <th>OS</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1847
                            <th>C/C++ Compiler</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1848
                            <th>Bootstrap JDK</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1849
                            <th>Processors</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1850
                            <th>RAM Minimum</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1851
                            <th>DISK Needs</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1852
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1853
                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1854
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1855
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1856
                            <td>Linux X86 (32-bit) and X64 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1857
                            <td>Fedora 9</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1858
                            <td>gcc 4.3 </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1859
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1860
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1861
                            <td>1 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1862
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1863
                        </tr>
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
                            <td>Solaris SPARC (32-bit) and SPARCV9 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1866
                            <td>Solaris 10 Update 6</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1867
                            <td>Studio 12 Update 1 + patches</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1868
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1869
                            <td>4 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1870
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1871
                            <td>8 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1872
                        </tr>
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
                            <td>Solaris X86 (32-bit) and X64 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1875
                            <td>Solaris 10 Update 6</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1876
                            <td>Studio 12 Update 1 + patches</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1877
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1878
                            <td>4 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1879
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1880
                            <td>8 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1881
                        </tr>
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
                            <td>Windows X86 (32-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1884
                            <td>Windows XP</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1885
                            <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1886
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1887
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1888
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1889
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1890
                        </tr>
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
                            <td>Windows X64 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1893
                            <td>Windows Server 2003 - Enterprise x64 Edition</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1894
                            <td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1895
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1896
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1897
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1898
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1899
                        </tr>
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
                            <td>Mac OS X X64 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1902
                            <td>Mac OS X 10.7 "Lion"</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1903
                            <td>XCode 4.5.2 or newer</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1904
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1905
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1906
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1907
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1908
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1909
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1910
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1911
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1912
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
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1915
            <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
  1916
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1917
                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
  1918
                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
  1919
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1920
                    <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
  1921
                        this part of the document.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1922
                    </strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1923
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1924
                <h4><a name="fedora">Fedora</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1925
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1926
                    After installing the latest
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1927
                    <a href="http://fedoraproject.org">Fedora</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1928
                    you need to install several build dependencies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1929
                    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
  1930
                    following commands as user <code>root</code>:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1931
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1932
                        <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
  1933
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1934
                        <code>yum install gcc gcc-c++</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1935
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1936
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1937
                        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
  1938
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1939
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1940
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1941
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1942
                        <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
  1943
                    </blockquote>
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
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
                <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
  1948
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1949
                    After installing
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1950
                    <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
  1951
                    you need to make sure you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1952
                    the following Development bundles installed:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1953
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1954
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1955
                            <li>Development Libraries</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1956
                            <li>Development Tools</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1957
                            <li>Java Development</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1958
                            <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
  1959
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1960
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1961
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1962
                        Plus the following packages:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1963
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1964
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1965
                            <li>cups devel: Cups Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1966
                            <li>alsa devel: Alsa Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1967
                            <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
  1968
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1969
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1970
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1971
                        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
  1972
                        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
  1973
                        and installed easily enough from
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1974
                        <a href="http://downloads.sourceforge.net/freetype">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1975
                            the freetype site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1976
                        Build and install with something like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1977
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1978
                        <code>bash ./configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1979
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1980
                        <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1981
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1982
                        <code>sudo -u root make install</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1983
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1984
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1985
                        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
  1986
                        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
  1987
                        it's needed.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1988
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1989
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1990
                <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
  1991
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1992
                    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
  1993
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1994
                    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
  1995
                    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
  1996
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1997
                        <code>aptitude build-dep openjdk-7</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1998
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1999
                        <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
  2000
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2001
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2002
                        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
  2003
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2004
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2005
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2006
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2007
                        <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
  2008
                    </blockquote>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2011
                <h4><a name="ubuntu">Ubuntu 12.04</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2012
                <blockquote>                       
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2013
                    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
  2014
                    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
  2015
                    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
  2016
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2017
                        <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
  2018
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2019
                        <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
  2020
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2021
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2022
                        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
  2023
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2024
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2025
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2026
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2027
                        <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
  2028
                    </blockquote>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2031
                <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
  2032
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2033
                    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
  2034
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2035
                    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
  2036
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2037
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2038
                        <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
  2039
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2040
                        <code>sudo zypper install make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2041
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2042
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2043
                        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
  2044
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2045
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2046
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2047
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2048
                        <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
  2049
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2050
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2051
                        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
  2052
                        environment variable:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2053
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2054
                        <code>export -n JAVA_HOME</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2055
                    </blockquote>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2058
                <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
  2059
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2060
                    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
  2061
                    Linux One 2009 Spring 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2062
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2063
                    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
  2064
                    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
  2065
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2066
                        <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
  2067
                            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
  2068
                            libalsa2-devel libstc++-static-devel libxtst6-devel 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2069
                            libxi-devel</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2070
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2071
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2072
                        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
  2073
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2074
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2075
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2076
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2077
                        <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
  2078
                    </blockquote>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2081
                <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
  2082
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2083
                    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
  2084
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2085
                    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
  2086
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2087
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2088
                        <code>pfexec pkg install SUNWgmake SUNWj7dev 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2089
                            sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2090
                            SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2091
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2092
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2093
                        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
  2094
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2095
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2096
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2097
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2098
                        <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
  2099
                    </blockquote>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2102
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2103
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2104
        </blockquote> <!-- Appendix C -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2105
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
        <!-- Leave out Appendix D --
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2109
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2110
<hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2111
<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
  2112
<blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2113
    <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
  2114
        system to the new build system.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2115
    <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
  2116
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2117
            <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
  2118
            <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
  2119
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2120
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2121
            <td>run <code>make sanity</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2122
            <td>run <code>bash ./configure</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2123
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2124
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2125
            <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
  2126
            <td>before building the first time:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2127
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2128
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2129
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2130
                <code>bash ../../configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2131
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2132
                to build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2133
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2134
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2135
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2136
                <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2137
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2138
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2139
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2140
            <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
  2141
            <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
  2142
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2143
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2144
            <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
  2145
            <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
  2146
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2147
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2148
            <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
  2149
            <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
  2150
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2151
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2152
            <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
  2153
                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
  2154
            <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
  2155
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2156
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2157
            <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
  2158
            <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
  2159
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2160
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2161
            <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
  2162
            <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
  2163
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2164
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2165
            <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
  2166
            <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
  2167
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2168
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2169
            <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
  2170
            <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
  2171
                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
  2172
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2173
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2174
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2175
            <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
  2176
            <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
  2177
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2178
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2179
            <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
  2180
            <td>just run <code>configure</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2181
                your tools should be detected automatically. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2182
                If you have an unusual configuration, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2183
                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
  2184
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2185
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2186
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2187
            <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
  2188
            <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
  2189
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2190
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2191
            <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
  2192
            <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
  2193
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2194
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2195
            <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
  2196
                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
  2197
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2198
            <td>Importing JDKs is no longer possible, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2199
                but hotspot can be imported using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2200
                <code>--with-import-hotspot</code>. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2201
                Documentation on how to achieve a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2202
                similar solution will come soon!
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2203
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2204
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2205
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2206
            <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
  2207
            <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
  2208
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2209
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2210
            <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
  2211
            <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
  2212
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2213
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2214
            <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
  2215
            <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
  2216
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2217
    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2218
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2219
    <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
  2220
    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2221
        Some of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2222
        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
  2223
        document) that can impact the build are:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2224
    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2225
        <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2226
            <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
  2227
            <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
  2228
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2229
                    <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
  2230
                    <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
  2231
                        (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
  2232
                    <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
  2233
                        (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
  2234
                    <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
  2235
                        (e.g. <code>/usr/bin</code>)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2236
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2237
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2238
            <dt><code>MILESTONE</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2239
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2240
                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
  2241
                The default value is "internal".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2242
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2243
            <dt><code>BUILD_NUMBER</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2244
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2245
                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
  2246
                The default value is "b00".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2247
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2248
            <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
  2249
            <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
  2250
                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
  2251
                binaries. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2252
                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
  2253
                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
  2254
                OS being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2255
                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
  2256
                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
  2257
                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
  2258
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2259
            <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
  2260
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2261
                The location of the bootstrap JDK installation. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2262
                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
  2263
                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
  2264
                always set <code>ALT_BOOTDIR</code> explicitly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2265
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2266
            <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
  2267
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2268
                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
  2269
                build output is to go.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2270
                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
  2271
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2272
            <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
  2273
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2274
                The location of the C/C++ compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2275
                The default varies depending on the platform. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2276
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2277
            <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
  2278
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2279
                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
  2280
                The default will refer to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2281
                <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
  2282
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2283
            <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
  2284
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2285
                The location of the CUPS header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2286
                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
  2287
                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
  2288
                <code>/usr/include</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2289
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2290
            <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
  2291
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2292
                The location of the FreeType shared library. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2293
                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
  2294
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2295
            <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
  2296
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2297
                The location of the FreeType header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2298
                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
  2299
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2300
            <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
  2301
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2302
                The default root location of the devtools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2303
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2304
                <code>$(ALT_SLASH_JAVA)/devtools</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2305
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2306
            <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
  2307
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2308
                The location of tools like the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2309
                <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
  2310
                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
  2311
                (<code><i>gmake</i></code>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2312
                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
  2313
                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
  2314
                Unix Commands being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2315
                On Linux the default will be 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2316
                <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
  2317
                on Solaris
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2318
                <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
  2319
                and on Windows with CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2320
                <code>/usr/bin</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2321
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2322
            <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
  2323
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2324
                <strong>Solaris only:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2325
                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
  2326
                command set are located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2327
                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
  2328
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2329
            <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
  2330
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2331
                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
  2332
                of the following ALT variables.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2333
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2334
                <code>"/java"</code> on Solaris and Linux, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2335
                <code>"J:"</code> on Windows.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2336
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2337
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2338
            <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
  2339
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2340
                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
  2341
                for the platform's 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2342
                graphical programming environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2343
                The default location is platform specific. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2344
                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
  2345
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2346
            <dt><strong>Windows specific:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2347
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2348
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2349
                    <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
  2350
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2351
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2352
                        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
  2353
                        located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2354
                        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
  2355
                        (or WindowsSdkDir) or the path
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2356
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2357
                        <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
  2358
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2359
                    <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
  2360
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2361
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2362
                        <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
  2363
                        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
  2364
                        variable <code>DXSDK_DIR</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2365
                        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
  2366
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2367
                    <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
  2368
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2369
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2370
                        <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
  2371
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2372
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2373
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2374
            <dt><strong>Cross-Compilation Support:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2375
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2376
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2377
                    <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
  2378
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2379
                        Set to the target architecture of a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2380
                        cross-compilation build. If set, this
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2381
                        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
  2382
                        cross-compiling. The expectation
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2383
                        is that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2384
                        <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
  2385
                        is set
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2386
                        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
  2387
                        cross-compilation specific flags
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2388
                        are passed using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2389
                        <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
  2390
                        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
  2391
                        variable should 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2392
                        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
  2393
                        (e.g. X11) provided with 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2394
                        the cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2395
                        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
  2396
                        etc that may be built, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2397
                        also skip binary-file verification.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2398
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2399
                    <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
  2400
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2401
                        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
  2402
                        cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2403
                        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
  2404
                        and <code>CXXFLAGS</code> variables. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2405
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2406
                    <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
  2407
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2408
                        Used primarily for cross-compilation builds
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2409
                        (and always set in that case)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2410
                        this variable indicates that tools from the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2411
                        boot JDK should be used during
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2412
                        the build process, not the tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2413
                        (<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
  2414
                        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
  2415
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2416
                    <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
  2417
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2418
                        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
  2419
                        to run on the build host.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2420
                        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
  2421
                        then compiled and executed
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2422
                        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
  2423
                        primary C compiler is used
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2424
                        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
  2425
                        the cross-compiler and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2426
                        resulting program could not be executed. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2427
                        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
  2428
                        on other platforms it must be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2429
                        set explicitly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2430
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2431
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2432
            <dt><strong>Specialized Build Options:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2433
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2434
                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
  2435
                environments and/or specialized
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2436
                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
  2437
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2438
                    <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
  2439
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2440
                        Indicates this build will only contain the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2441
                        Hotspot client VM. In addition to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2442
                        controlling the Hotspot build target, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2443
                        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
  2444
                        any server VM files/directories, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2445
                        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
  2446
                        suitable for a client-only environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2447
                        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
  2448
                        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
  2449
                        builds are not directly supported.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2450
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2451
                    <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
  2452
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2453
                        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
  2454
                        capabilities at all. This
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2455
                        excludes building anything that requires graphical 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2456
                        libraries to be available.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2457
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2458
                    <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
  2459
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2460
                        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
  2461
                        Java SE Embedded product. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2462
                        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
  2463
                        SE-Embedded specific build 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2464
                        files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2465
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2466
                    <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
  2467
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2468
                        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
  2469
                        zip utility. Otherwise,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2470
                        mmap will be used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2471
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2472
                    <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
  2473
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2474
                        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
  2475
                        would otherwise be built without
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2476
                        compression, to use compression.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2477
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2478
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2479
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2480
        </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2481
    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2482
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2483
</blockquote> <!-- Appendix D -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2484
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2485
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2486
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2487
        <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
  2488
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2489
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2490
    </body>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2491
</html>