README-builds.html
author mgerdin
Wed, 11 Sep 2013 08:57:02 +0200
changeset 19980 f8b00056ad24
parent 19525 9dac5000c015
child 19758 3e519fa7e632
permissions -rw-r--r--
8024176: [macosx] gc/metaspace/ClassMetaspaceSizeInJmapHeap.java failed since jdk8b105, hs25b47 Summary: The code for reading compressed klass pointers in the sa-agent on Mac used readCompOopAddress instead of readCompKlassAddress, this is wrong but has been hidden because compressed oops and compressed klasses has used the same base address in the past. Reviewed-by: sla, jmasa Contributed-by: stefan.johansson@oracle.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>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   148
                        hg clone http://hg.openjdk.java.net/jdk8/jdk8 
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
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   376
                        <b><i>Building JDK 8 requires use of a version
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   377
                        of JDK 7 that is at Update 7 or newer. JDK 8
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   378
                        developers should not use JDK 8 as the boot
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   379
                        JDK, to ensure that JDK 8 dependencies are
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   380
                        not introduced into the parts of the system
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   381
                        that are built with JDK 7.</i></b>
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   382
ab1fcd9738e8 8016780: README-builds.html misses crucial requirement on bootstrap JDK
smarks
parents: 15787
diff changeset
   383
                        <br>&nbsp;<br>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   384
                        The JDK 7 binaries can be downloaded from Oracle's 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   385
                        <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   386
                           target="_blank">JDK 7 download site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   387
                        For build performance reasons
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   388
                        is very important that this bootstrap JDK be made available 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   389
                        on the local disk of the machine doing the build.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   390
                        You should add its <code>bin</code> directory
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   391
                        to the <code>PATH</code> environment variable.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   392
                        If <code>configure</code> has any issues finding this JDK, you may
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   393
                        need to use the <code>configure</code> option
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   394
                        <code>--with-boot-jdk</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   395
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   396
                    <li>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
   397
                        Ensure that GNU make, the Bootstrap JDK,
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   398
                        and the compilers are all
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   399
                        in your PATH environment variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   400
                    </li>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   401
                </ul>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   402
                And for specific systems:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   403
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   404
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   405
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   406
                            <th>Linux</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   407
                            <th>Solaris</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   408
                            <th>Windows</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   409
                            <th>Mac OS X</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   410
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   411
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   412
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   413
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   414
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   415
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   416
                                packages needed including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   417
                                <a href="#alsa">alsa</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   418
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   419
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   420
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   421
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   422
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   423
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   424
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   425
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   426
                                Install all the software development
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   427
                                packages needed  including
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   428
                                <a href="#studio">Studio Compilers</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   429
                                <a href="#freetype">freetype</a>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   430
                                <a href="#cups">cups</a>, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   431
                                <a href="#xrender">xrender</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   432
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   433
                                See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   434
                                <a href="#SDBE">specific system packages</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   435
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   436
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   437
                                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   438
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   439
                                        Install one of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   440
                                        <a href="#cygwin">CYGWIN</a> or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   441
                                        <a href="#msys">MinGW/MSYS</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   442
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   443
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   444
                                        Install
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   445
                                        <a href="#vs2010">Visual Studio 2010</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   446
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   447
                                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   448
                                        Install the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   449
                                        <a href="#dxsdk">Microsoft DirectX SDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   450
                                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   451
                                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   452
                            </td>
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
                                Install 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   455
                                <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
   456
                                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
   457
                                preferences pane "Downloads"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   458
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   459
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   460
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   461
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   462
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   463
                <h4><a name="linux">Linux</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   464
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   465
                    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
   466
                    building your own
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   467
                    or getting packages from other areas.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   468
                    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
   469
                    available packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   470
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   471
                    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
   472
                    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
   473
                    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
   474
                    your Linux system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   475
                    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
   476
                    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
   477
                    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
   478
                    settings make sense for building the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   479
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   482
                <h4><a name="solaris">Solaris</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   483
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   484
                    <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
   485
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   486
                        At a minimum, the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   487
                        <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
   488
                            Studio 12 Update 1 Compilers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   489
                        (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
   490
                        including specific patches.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   491
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   492
                            The Solaris SPARC patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   493
                        <ul>
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
                                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
   496
                            </li>
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
                                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
   499
                            </li>
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
                                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
   502
                            </li>
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
                                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
   505
                            </li>
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
                                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
   508
                            </li>
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
                                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
   511
                            </li>
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
                                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
   514
                            </li>
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
                                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
   517
                            </li>
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
                                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
   520
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   521
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   522
                                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
   523
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   524
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   525
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   526
                            The Solaris X86 patch list is:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   527
                        <ul>
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
                                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
   530
                            </li>
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
                                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
   533
                            </li>
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
                                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
   536
                            </li>
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
                                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
   539
                            </li>
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
                                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
   542
                            </li>
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
                                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
   545
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   546
                            <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   547
                                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
   548
                            </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   549
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   550
                        <p> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   551
                            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
   552
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   553
                            The Oracle Solaris Studio Express compilers at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   554
                            <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
   555
                                Oracle Solaris Studio Express Download site</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   556
                            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
   557
                            been extensively used yet.
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
                </blockquote> <!-- Solaris -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   561
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   562
                <h4><a name="windows">Windows</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   563
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   564
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   565
                    <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
   566
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   567
                        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
   568
                        Unix-like shell.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   569
                        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
   570
                        <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
   571
                        <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
   572
                        currently supported for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   573
                        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
   574
                        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
   575
                        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
   576
                        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
   577
                        Depending
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   578
                        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
   579
                        problems can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   580
                        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
   581
                        backslashes to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   582
                        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
   583
                        translating the path names to their 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   584
                        <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
   585
                            "8.3" version</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   586
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   587
                        <h6><a name="cygwin">CYGWIN</a></h6>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   588
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   589
                            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
   590
                            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
   591
                            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
   592
                            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
   593
                            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
   594
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   595
                                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
   596
                                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
   597
                                (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
   598
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   599
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   600
                                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
   601
                                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
   602
                                the <code>PATH</code> variable contains directories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   603
                                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
   604
                                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
   605
                                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
   606
                                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
   607
                                which CYGWIN understands, but only CYGWIN understands.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   608
                            </p>
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
                                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
   611
                                Information about CYGWIN can
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   612
                                be obtained from the CYGWIN website at
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   613
                                <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
   614
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   615
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   616
                                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
   617
                                the OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   618
                                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
   619
                                the following tools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   620
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   621
                                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   622
                                    <thead>
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
                                            <td>Binary Name</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   625
                                            <td>Category</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   626
                                            <td>Package</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   627
                                            <td>Description</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   628
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   629
                                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   630
                                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   631
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   632
                                            <td>ar.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   633
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   634
                                            <td>binutils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   635
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   636
                                                The GNU assembler, linker and binary utilities
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   637
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   638
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   639
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   640
                                            <td>make.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   641
                                            <td>Devel</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   642
                                            <td>make</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   643
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   644
                                                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
   645
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   646
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   647
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   648
                                            <td>m4.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   649
                                            <td>Interpreters</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   650
                                            <td>m4</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   651
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   652
                                                GNU implementation of the traditional Unix macro
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   653
                                                processor
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   654
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   655
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   656
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   657
                                            <td>cpio.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   658
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   659
                                            <td>cpio</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   660
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   661
                                                A program to manage archives of files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   662
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   663
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   664
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   665
                                            <td>gawk.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   666
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   667
                                            <td>awk</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   668
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   669
                                                Pattern-directed scanning and processing language
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   670
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   671
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   672
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   673
                                            <td>file.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   674
                                            <td>Utils</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   675
                                            <td>file</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   676
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   677
                                                Determines file type using 'magic' numbers
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   678
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   679
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   680
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   681
                                            <td>zip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   682
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   683
                                            <td>zip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   684
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   685
                                                Package and compress (archive) files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   686
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   687
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   688
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   689
                                            <td>unzip.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   690
                                            <td>Archive</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   691
                                            <td>unzip</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   692
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   693
                                                Extract compressed files in a ZIP archive
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   694
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   695
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   696
                                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   697
                                            <td>free.exe</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   698
                                            <td>System</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   699
                                            <td>procps</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   700
                                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   701
                                                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
   702
                                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   703
                                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   704
                                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   705
                                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   706
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   707
                            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
   708
                            software on your Windows system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   709
                            CYGWIN provides a
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   710
                            <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
   711
                            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
   712
                            section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   713
                            <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
   714
                                BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   715
                        </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   716
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   717
                        <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
   718
                        <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   719
                            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
   720
                            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
   721
                            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
   722
                            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
   723
                            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
   724
                            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
   725
                            and <code>make</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   726
                            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
   727
                            for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   728
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   729
                                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
   730
                                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
   731
                                <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
   732
                                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
   733
                                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
   734
                                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
   735
                                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
   736
                                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
   737
                                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
   738
                                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
   739
                                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
   740
                                    replace such parameters by drive letters</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   741
                            </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   742
                            <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   743
                                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
   744
                                by default, you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   745
                                to manually install the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   746
                                <code>msys-zip</code> and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   747
                                <code>msys-unzip</code> packages.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   748
                                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
   749
                            <blockquote> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   750
                                <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
   751
                                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   752
                                <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
   753
                            </blockquote> 
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   756
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   757
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   758
                    <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
   759
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   760
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   761
                            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
   762
                            Microsoft Visual Studio C++ 2010 (VS2010) Professional
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   763
                            Edition or Express compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   764
                            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
   765
                            in the location defined by the variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   766
                            <code>VS100COMNTOOLS</code> which
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   767
                            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
   768
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   769
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   770
                            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
   771
                            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
   772
                            install directory.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   773
                            Always reboot your system after installing VS2010.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   774
                            The system environment variable VS100COMNTOOLS 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   775
                            should be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   776
                            set in your environment.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   777
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   778
                        <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   779
                            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
   780
                            in the environment
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   781
                            and refer to Windows paths that exist, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   782
                            like <code>C:\temp</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   783
                            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
   784
                            and not <code>C:/temp</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   785
                            <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
   786
                            it is assumed that this area is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   787
                            private to the user, so by default 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   788
                            after installs you should
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   789
                            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
   790
                        </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   791
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   792
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   793
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   794
                </blockquote> <!-- Windows -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   795
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   796
                <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
   797
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   798
                    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
   799
                </blockquote> <!-- Mac OS X -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   800
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   803
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   804
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   805
            <h3><a name="configure">Configure</a></h3>
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
   806
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   807
                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
   808
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   809
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   810
                    <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
   811
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   812
                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
   813
                "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
   814
                This directory typically looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   815
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   816
                    <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
   817
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   818
                <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
   819
                and where all necessary build components are.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   820
                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
   821
                it should find everything.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   822
                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
   823
                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
   824
                When this happens, read more below in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   825
                <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
   826
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   827
                    Some examples:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   828
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   829
                <table border="1">
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
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   832
                            <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   833
                            <th>Configure Command Line</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   834
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   835
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   836
                    <tbody>
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
                            <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
   839
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   840
                                <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
   841
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   842
                        </tr>
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
                            <td>Debug 64bit Build</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   845
                            <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   846
                                <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
   847
                            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   848
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   849
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   850
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   851
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   852
                <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   853
                <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
   854
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   855
                    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
   856
                    be seen with:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   857
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   858
                        <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
   859
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   860
                    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
   861
                    available.
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
                    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
   864
                    e.g. debug, release, 32, 64, etc.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   865
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   866
                    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
   867
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   868
                    <table border="1">
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
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   871
                                <th width="300">OpenJDK Configure Option</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   872
                                <th>Description</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   873
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   874
                        </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   875
                        <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   876
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   877
                                <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
   878
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   879
                                    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
   880
                                    <code>--with-debug-level=fastdebug</code>)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   881
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   882
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   883
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   884
                                <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
   885
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   886
                                    select the location of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   887
                                    <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
   888
                                    <br>                        
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   889
                                    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
   890
                                    required for building the OpenJDK on Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   891
                                    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
   892
                                    of "libasound"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   893
                                    development package,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   894
                                    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
   895
                                    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
   896
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   897
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   898
                            </tr>   
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
                                <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
   901
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   902
                                    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
   903
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   904
                            </tr>                      
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   905
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   906
                                <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
   907
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   908
                                    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
   909
                                    <a href="#bootjdk">Bootstrap JDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   910
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   911
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   912
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   913
                                <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
   914
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   915
                                    select the path to the cacerts file.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   916
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   917
                                    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
   918
                                        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
   919
                                    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
   920
                                    A certificates file named "cacerts"
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   921
                                    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
   922
                                    In JDK and JRE
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   923
                                    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
   924
                                    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
   925
                                    The source contain a cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   926
                                    without CA root certificates. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   927
                                    Formal JDK builders will need to secure
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   928
                                    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
   929
                                    own custom cacerts file. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   930
                                    Failure to provide a populated cacerts file
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   931
                                    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
   932
                                    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
   933
                                    fine for most JDK developers.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   934
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   935
                            </tr>    
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   936
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   937
                                <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
   938
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   939
                                    select the CUPS install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   940
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   941
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   942
                                    <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
   943
                                    are required for building the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   944
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   945
                                    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
   946
                                    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
   947
                                    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
   948
                                    directory <code>/opt/sfw/cups</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   949
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   950
                                    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
   951
                                    <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
   952
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   953
                            </tr>    
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
                                <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
   956
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   957
                                    select the CUPS include directory location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   958
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   959
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   960
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   961
                                <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
   962
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   963
                                    select the debug information level of release,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   964
                                    fastdebug, or slowdebug
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   965
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   966
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   967
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   968
                                <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
   969
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   970
                                    select location of the compiler install or
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   971
                                    developer install location
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   972
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   973
                            </tr>       
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   974
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   975
                                <td><b><code>--with-dxsdk=</code></b><i>path</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   976
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   977
                                    select location of the Windows Direct X SDK install
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
                                    The <a name="dxsdk">Microsoft DirectX 9.0 SDK</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   980
                                    header files and libraries
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   981
                                    from the Summer 2004 edition
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   982
                                    are required for building OpenJDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   983
                                    This SDK can be downloaded from 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   984
                                    <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FD044A42-9912-42A3-9A9E-D857199F888E&amp;displaylang=en" target="_blank">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   985
                                        Microsoft DirectX 9.0 SDK (Summer 2004)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   986
                                    If the link above becomes obsolete, the SDK can be found from 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   987
                                    <a href="http://download.microsoft.com" target="_blank">the Microsoft Download Site</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   988
                                    (search with "DirectX 9.0 SDK Update Summer 2004"). 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   989
                                    Installation usually will set the environment variable
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   990
                                    <code>DXSDK_DIR</code> to it's install location.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   991
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   992
                            </tr>       
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   993
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   994
                                <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
   995
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   996
                                    select the freetype files to use.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   997
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   998
                                    Expecting the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
   999
                                    <a name="freetype">freetype</a> libraries under
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1000
                                    <code>lib/</code> and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1001
                                    headers under <code>include/</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1002
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1003
                                    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
  1004
                                    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
  1005
                                    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
  1006
                                    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
  1007
                                    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
  1008
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1009
                                    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
  1010
                                    <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
  1011
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1012
                                    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
  1013
                                    however on Windows refer to the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1014
                                    <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
  1015
                                        Windows FreeType DLL build instructions</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1016
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1017
                                    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
  1018
                                    support disabled due to licensing restrictions.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1019
                                    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
  1020
                                    differ from Sun's official JDK build.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1021
                                    See
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1022
                                    <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
  1023
                                        the SourceForge FreeType2 Home Page
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1024
                                    </a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1025
                                    for more information.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1026
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1027
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1028
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1029
                                <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
  1030
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1031
                                    select the location to find hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1032
                                    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
  1033
                                    hotspot
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1034
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1035
                            </tr>                          
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1036
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1037
                                <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
  1038
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1039
                                    select 32 or 64 bit build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1040
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1041
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1042
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1043
                                <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
  1044
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1045
                                    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
  1046
                                    separated list that can include:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1047
                                    server, client, kernel, zero and zeroshark
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
                            </tr>                           
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1050
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1051
                                <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
  1052
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1053
                                    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
  1054
                                    this system has
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
                            </tr>                            
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1057
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1058
                                <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
  1059
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1060
                                    select the <code>msvcr100.dll</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1061
                                    file to include in the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1062
                                    Windows builds (C/C++ runtime library for
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1063
                                    Visual Studio).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1064
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1065
                                    This is usually picked up automatically
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1066
                                    from the redist
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1067
                                    directories of Visual Studio 2010.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1068
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1069
                            </tr>                            
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1070
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1071
                                <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
  1072
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1073
                                    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
  1074
                                    count or CPU count)
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
                            <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1078
                                <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
  1079
                                <td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1080
                                    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
  1081
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1082
                                    The
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1083
                                    <a name="xrender">XRender Extension Headers</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1084
                                    are required for building the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1085
                                    OpenJDK on Solaris and Linux.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1086
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1087
                                    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
  1088
                                    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
  1089
                                    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
  1090
                                    you are using.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1091
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1092
                                    The Solaris XRender header files is
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1093
                                    included with the other X11 header files
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1094
                                    in the package <strong>SFWxwinc</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1095
                                    on new enough versions of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1096
                                    Solaris and will be installed in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1097
                                    <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
  1098
                                    <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
  1099
                                </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1100
                            </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1101
                        </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1102
                    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1103
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1104
1119
a39bfff7f8fb 6724787: OpenJDK README-builds.html suggested changes
ohair
parents: 876
diff changeset
  1105
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1106
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1107
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1108
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1109
            <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
  1110
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1111
                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
  1112
                looks like:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1113
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1114
                    <b><code>make all</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1115
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1116
                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
  1117
                "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
  1118
                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
  1119
                the available targets.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1120
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1121
                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
  1122
                are of general interest:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1123
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1124
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1125
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1126
                            <th>Make Target</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1127
                            <th>Description</th>
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
                    </thead>                   
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1130
                    <tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1131
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1132
                            <td><i>empty</i></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1133
                            <td>build everything but no images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1134
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1135
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1136
                            <td><b><code>all</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1137
                            <td>build everything including images</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1138
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1139
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1140
                            <td><b><code>all-conf</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1141
                            <td>build all configurations</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
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1144
                            <td><b><code>images</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1145
                            <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
  1146
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1147
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1148
                            <td><b><code>install</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1149
                            <td>install the generated images locally, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1150
                                typically in <code>/usr/local</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1151
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1152
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1153
                            <td><b><code>clean</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1154
                            <td>remove all files generated by make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1155
                                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
  1156
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1157
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1158
                            <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
  1159
                            <td>remove all files generated by both 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1160
                                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
  1161
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1162
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1163
                            <td><b><code>help</code></b></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1164
                            <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
  1165
                                including some interesting make targets</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1166
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1167
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1168
                </table>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1169
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1170
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1171
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1172
        <!-- ====================================================== -->
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1173
        <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1174
        <h2><a name="testing">Testing</a></h2>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1175
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1176
            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
  1177
            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
  1178
            directory in the output directory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1179
            In particular, the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1180
            <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
  1181
            directory should contain executables for the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1182
            OpenJDK tools and utilities for that configuration.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1183
            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
  1184
            and can be found at:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1185
            <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
  1186
                the jtreg site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1187
            The provided regression tests in the repositories
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1188
            can be run with the command:
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1189
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1190
                <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
  1191
            </blockquote>
3793
9cc5500d129d 6872735: Further update build readme for new platforms
robilad
parents: 3668
diff changeset
  1192
        </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1193
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1194
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1195
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1196
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1197
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1198
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1199
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1200
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1201
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1202
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1203
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1204
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1205
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1206
        <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
  1207
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1208
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1209
            <h3><a name="faq">FAQ</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1210
            <blockquote>
8646
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>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1213
                    <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
  1214
                    How are you going to edit it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1215
                    <br>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1216
                    <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
  1217
                    "compiled") by the autoconf tools. The source code is
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1218
                    in <code>configure.ac</code> and various .m4 files in common/autoconf,
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1219
                    which are much more readable.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1220
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1221
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1222
                <p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1223
                    <b>Q:</b> 
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1224
                    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
  1225
                    if it is generated?
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1226
                    <br>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1227
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1228
                    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
  1229
                    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
  1230
                    as the first step. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1231
                    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
  1232
                    to start building OpenJDK, and to minimize
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1233
                    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
  1234
                </p>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1235
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1236
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1237
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1238
                    Do you require a specific version of autoconf for regenerating
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1239
                    <code>generated-configure.sh</code>?
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1240
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1241
                    <b>A:</b>
19525
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1242
                    Yes, version 2.69 is required and should be easy
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1243
                    enough to aquire on all supported operating
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1244
                    systems.  The reason for this is to avoid
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1245
                    large spurious changes in <code>generated-configure.sh</code>.
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1246
                </p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1247
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1248
                <p>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1249
                    <b>Q:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1250
                    How do you regenerate <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1251
                    after making changes to the input files?
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1252
                    <br>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1253
                    <b>A:</b>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1254
                    Regnerating <code>generated-configure.sh</code>
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1255
                    should always be done using the
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1256
                    script <code>common/autoconf/autogen.sh</code> to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1257
                    ensure that the correct files get updated. This
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1258
                    script should also be run after mercurial tries to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1259
                    merge <code>generated-configure.sh</code> as a
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1260
                    merge of the generated file is not guaranteed to
9dac5000c015 8023957: Lock down version of autoconf
erikj
parents: 19314
diff changeset
  1261
                    be correct.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1262
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1263
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1264
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1265
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1266
                    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
  1267
                    They look like gibberish.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1268
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1269
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1270
                    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
  1271
                    limitations on certain platforms (Windows, Solaris).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1272
                    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
  1273
                    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
  1274
                    These
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1275
                    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
  1276
                    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
  1277
                    We're
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1278
                    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
  1279
                    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
  1280
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1281
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1282
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1283
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1284
                    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
  1285
                    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
  1286
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1287
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1288
                    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
  1289
                    several log levels:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1290
                </p>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1291
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1292
                    <ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1293
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1294
                            <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
  1295
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1296
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1297
                            <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
  1298
                            than warn.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1299
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1300
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1301
                            <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
  1302
                            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
  1303
                        </li>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1304
                        <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1305
                            <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
  1306
                            lines as well.
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1307
                        </li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1308
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1309
                </blockquote>
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1310
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1311
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1312
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1313
                    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
  1314
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1315
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1316
                    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
  1317
                    configuration. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1318
                    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
  1319
                    configuration options, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1320
                    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
  1321
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1322
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1323
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1324
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1325
                    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
  1326
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1327
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1328
                    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
  1329
                    library, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1330
                    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
  1331
                    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
  1332
                    exceptions for some native libraries where the source files are spread
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1333
                    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
  1334
                    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
  1335
                    rather than excludes.
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1336
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1337
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1338
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1339
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1340
                    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
  1341
                    like <code>--dvidir</code>. What is this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1342
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1343
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1344
                    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
  1345
                    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
  1346
                    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
  1347
                    use <code>configure --help=short</code> instead.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1348
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1349
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1350
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1351
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1352
                    <code>configure</code> provides OpenJDK-specific features such as
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1353
                    <code>--with-builddeps-server</code> that are not
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1354
                    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
  1355
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1356
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1357
                    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
  1358
                    experimental features. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1359
                    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
  1360
                    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
  1361
                    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
  1362
                    not ready for prime time.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1363
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1364
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1365
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1366
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1367
                    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
  1368
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1369
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1370
                    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
  1371
                    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
  1372
                    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
  1373
                    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
  1374
                    comparison, even
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1375
                    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
  1376
                    For these, we compare relevant aspects 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1377
                    (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
  1378
                    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
  1379
                    equivalence, but we're close.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1380
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1381
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1382
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1383
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1384
                    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
  1385
                    Why don't you fix it?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1386
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1387
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1388
                    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
  1389
                    technically possible to the old build output. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1390
                    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
  1391
                    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
  1392
                    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
  1393
                    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
  1394
                    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
  1395
                    after the new build system is established.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1396
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1397
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1398
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1399
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1400
                    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
  1401
                    Will you fix this?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1402
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1403
                    <b>A:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1404
                    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
  1405
                    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
  1406
                    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
  1407
                    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
  1408
                    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
  1409
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1410
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1411
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1412
                    <b>Q:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1413
                    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
  1414
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1415
                    <b>A:</b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1416
                    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
  1417
                    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
  1418
                    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
  1419
                    development fashion, when doing a normal make, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1420
                    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
  1421
                    (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
  1422
                    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
  1423
                    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
  1424
                    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
  1425
                    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
  1426
                    We're targeting sub-second incremental rebuilds! ;-) 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1427
                    (Or, well, at least single-digit seconds...)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1428
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1429
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1430
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1431
                    <b>Q:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1432
                    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
  1433
                    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
  1434
                    What should I do?
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1435
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1436
                    <b>A:</b>
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1437
                    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
  1438
                    an option that was actually used from outside the build system.
19314
47e1fb987c56 8023216: Feedback on README-builds.html
erikj
parents: 18049
diff changeset
  1439
                    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
  1440
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1441
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1442
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1443
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1444
            <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
  1445
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1446
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1447
                <p>Building OpenJDK requires a lot of horsepower. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1448
                    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
  1449
                    of resources such as
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1450
                    parallel threads and memory. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1451
                    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
  1452
                    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
  1453
                    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
  1454
                    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
  1455
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1456
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1457
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1458
                        <b><code>--with-num-cores</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1459
                        &mdash; 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1460
                        number of cores in the build system,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1461
                        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
  1462
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1463
                    <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1464
                        <b><code>--with-memory-size</code></b> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1465
                        &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
  1466
                        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
  1467
                    </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1468
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1469
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1470
                <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
  1471
                    to the Bootstrap JDK, using e.g.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1472
                    <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
  1473
                    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
  1474
                    passed to the Bootstrap JDK.</p>
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
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1477
                <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
  1478
                    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
  1479
                    soon also apply to the java compilation when the Smart Javac wrapper
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1480
                    is making its way into jdk8. It can be tried in the build-infra
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1481
                    repository already. You are likely to find that the new build system
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1482
                    is faster than the old one even without this feature.</p>
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>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
  1485
                    you will get a performance summary, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1486
                    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
  1487
                    also get performance hints. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1488
                    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
  1489
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1490
                <h4>Building with ccache</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1491
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1492
                <p>A simple way to radically speed up compilation of native code
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1493
                    (typically hotspot and native libraries in JDK) is to install
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1494
                    ccache. This will cache and reuse prior compilation results, if the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1495
                    source code is unchanged. However, ccache versions prior to 3.1.4
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1496
                    does not work correctly with the precompiled headers used in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1497
                    OpenJDK. So if your platform supports ccache at 3.1.4 or later, we
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1498
                    highly recommend installing it. This is currently only supported on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1499
                    linux.</p> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1500
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1501
                <h4>Building on local disk</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1502
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1503
                <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
  1504
                    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
  1505
                    The performance
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1506
                    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
  1507
                    close to unusable.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1508
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1509
                <h4>Building only one JVM</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1510
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1511
                <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
  1512
                    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
  1513
                    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
  1514
                    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
  1515
                    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
  1516
                    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
  1517
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1518
                <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
  1519
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1520
                <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
  1521
                    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
  1522
                    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
  1523
                    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
  1524
                    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
  1525
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1526
                <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
  1527
                    power for other processes, you can run
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1528
                    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
  1529
                    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
  1530
                    which will disable parallelism.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1531
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1532
                <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
  1533
                    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
  1534
                    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
  1535
                    <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
  1536
                    If you want to run with more
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1537
                    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
  1538
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1539
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1540
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1541
            <h3><a name="troubleshooting">Troubleshooting</a></h3>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1542
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1543
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1544
                <h4>Solving build problems</h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1545
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1546
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1547
                    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
  1548
                    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
  1549
                    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
  1550
                    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
  1551
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1552
                    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
  1553
                    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
  1554
                    <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
  1555
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1556
                    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
  1557
                    on either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1558
                    <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
  1559
                        build-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1560
                    or the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1561
                    <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
  1562
                        build-infra-dev</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1563
                    mailing lists. Please include the relevant parts
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1564
                    of the build log.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1565
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1566
                    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
  1567
                    Most failures
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1568
                    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
  1569
                    pre-build requirements have not been met. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1570
                    The first step in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1571
                    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
  1572
                    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
  1573
                    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
  1574
                    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
  1575
                    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
  1576
                    <code>configure</code> had in finding things.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1577
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1578
                    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
  1579
                    described
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1580
                    below, with suggestions for remedies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1581
                    <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1582
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1583
                            <b>Corrupted Bundles on Windows:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1584
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1585
                                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
  1586
                                corrupt the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1587
                                downloading of zip bundles.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1588
                                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
  1589
                                'real time'
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1590
                                virus scanning features to prevent this corruption.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1591
                                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
  1592
                                slow down the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1593
                                build process significantly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1594
                                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
  1595
                                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
  1596
                                faster builds.
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
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1599
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1600
                            <b>Slow Builds:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1601
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1602
                                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
  1603
                                simultaneous C++ compiles, try setting the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1604
                                <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
  1605
                                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
  1606
                                level for your system. Also:
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
                                    Creating the javadocs can be very slow, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1609
                                    if you are running
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1610
                                    javadoc, consider skipping that step.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1611
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1612
                                    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
  1613
                                    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
  1614
                                    (many C++ compiles),
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1615
                                    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
  1616
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1617
                                    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
  1618
                                    <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
  1619
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1620
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1621
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1622
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1623
                            <b>File time issues:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1624
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1625
                                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
  1626
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1627
                                    <i>Warning message:</i><code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1628
                                        File `xxx' has modification time in
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1629
                                        the future.</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1630
                                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1631
                                    <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
  1632
                                        Your build may
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1633
                                        be incomplete.</code>
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
                                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
  1636
                                machine is out of
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1637
                                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
  1638
                                Other errors, apparently
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1639
                                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
  1640
                                can occur along with
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1641
                                the clock skew warnings. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1642
                                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
  1643
                                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
  1644
                                is an out-of-sync clock.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1645
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1646
                                    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
  1647
                                    build
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1648
                                    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
  1649
                                    or delete the directory
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1650
                                    containing the build output, and restart the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1651
                                    build from the beginning.
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>Error message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1656
                                <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
  1657
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1658
                                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
  1659
                                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
  1660
                                it may be necessary to use:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1661
                                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1662
                                    <code>make JOBS=1</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1663
                                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1664
                                to reduce the load on the system.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1665
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1666
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1667
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1668
                            <b>Error Message: 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1669
                                <code>libstdc++ not found:</code></b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1670
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1671
                                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
  1672
                                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
  1673
                                (e.g. libstdc++.so.devel.386).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1674
                                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
  1675
                                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
  1676
                                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
  1677
                                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
  1678
                                portability of the built images.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1679
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1680
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1681
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1682
                            <b>Linux Error Message:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1683
                                <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
  1684
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1685
                                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
  1686
                                <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
  1687
                                    http://en.wikipedia.org/wiki/SELinux</a>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1688
                                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
  1689
                                performance reasons.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1690
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1691
                                    To completely disable SELinux:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1692
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1693
                                    <li><code>$ su root</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1694
                                    <li><code># system-config-securitylevel</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1695
                                    <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
  1696
                                    <li><code>Disable SELinux</code></li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1697
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1698
                                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1699
                                    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
  1700
                                    disable just this one check.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1701
                                <ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1702
                                    <li>Select System->Administration->SELinux Management</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1703
                                    <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
  1704
                                        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
  1705
                                    <li>Expand the "Memory Protection" group</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1706
                                    <li>Check the first item, labeled
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1707
                                        "Allow all unconfined executables to use 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1708
                                        libraries requiring text relocation ..."</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1709
                                </ol>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1710
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1711
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1712
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1713
                            <b>Windows Error Messages:</b>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1714
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1715
                            <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
  1716
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1717
                            <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
  1718
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1719
                            <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
  1720
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1721
                            <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
  1722
                            <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1723
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1724
                                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
  1725
                                software. See the CYGWIN FAQ section on
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1726
                                <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
  1727
                                    BLODA (applications that interfere with CYGWIN)</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1728
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1729
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1730
                        <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1731
                            <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
  1732
                            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1733
                                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
  1734
                                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
  1735
                                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
  1736
                            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1737
                        </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1738
                    </ul>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1739
                </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1740
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1741
            </blockquote> <!-- Troubleshooting -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1742
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1743
        </blockquote> <!-- Appendix A -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1744
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1745
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1746
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1747
        <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
  1748
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1749
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1750
            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
  1751
            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
  1752
            (usually called <code>gmake</code> on Solaris).
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1753
            A few notes about using GNU make:
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1754
            <ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1755
                <li>
8646
f07e5ed381a8 6896934: README: Document how the drop source bundles work for jaxp/jaxws
ohair
parents: 8057
diff changeset
  1756
                    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
  1757
                    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
  1758
                    3.81 or newer,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1759
                    see <a href="#buildgmake">"Building GNU make"</a>.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1760
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1761
                <li>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1762
                    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
  1763
                    <code>PATH</code>. 
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1764
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1765
                <li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1766
                    <strong>Solaris:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1767
                    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
  1768
                    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
  1769
                    from the Solaris Developer Companion CD installed, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1770
                    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
  1771
                    which will be located in either the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1772
                    <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
  1773
                    <code>/usr/sfw/bin</code> directory.
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1774
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1775
                <li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1776
                    <strong>Windows:</strong>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1777
                    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
  1778
                </li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1779
                <li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1780
                    <strong>Mac OS X:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1781
                    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
  1782
                </li>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1783
            </ul>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1784
            <p>
7650
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1785
                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
  1786
                available on the
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1787
                <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
  1788
                    GNU make web site
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1789
                </a>.
6a3a53d8eacc 7003845: README-builds document proper location of forest extension, provide alternatives
ohair
parents: 7360
diff changeset
  1790
                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
  1791
                <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
  1792
                    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
  1793
            </p>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1794
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1795
            <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
  1796
            <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1797
                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
  1798
                <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
  1799
                    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
  1800
                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
  1801
                basically done with:
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1802
                <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1803
                    <code>bash ./configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1804
                    <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1805
                    <code>make</code>
12494
6cf597938c70 7154130: Add Mac OS X Instructions to README-builds.html
ewendeli
parents: 10208
diff changeset
  1806
                </blockquote>
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1807
            </blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1808
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1809
        </blockquote> <!-- Appendix B -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1810
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1811
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  1812
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1813
        <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
  1814
        <blockquote>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1815
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1816
            <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
  1817
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1818
                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
  1819
                call the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1820
                "minimum build environments" (MBE) for this 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1821
                specific release of the JDK.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1822
                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
  1823
                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
  1824
                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
  1825
                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
  1826
                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
  1827
                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
  1828
                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
  1829
                aspects to it.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1830
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1831
                    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
  1832
                    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
  1833
                    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
  1834
                    the minimums listed below are simply recommendations.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1835
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1836
                    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
  1837
                    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
  1838
                    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
  1839
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1840
                    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
  1841
                    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
  1842
                    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
  1843
                    be used.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1844
                    <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
  1845
                        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
  1846
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1847
                    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
  1848
                    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
  1849
                    in general.<br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1850
                    <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
  1851
                        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
  1852
                        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
  1853
                        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
  1854
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1855
                    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
  1856
                    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
  1857
                    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
  1858
                    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
  1859
                    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
  1860
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1861
                    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
  1862
                    common problem.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1863
                    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
  1864
                    <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
  1865
                    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
  1866
                    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
  1867
                    can be dealt with accordingly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1868
                </p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1869
                <table border="1">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1870
                    <thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1871
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1872
                            <th>Base OS and Architecture</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1873
                            <th>OS</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1874
                            <th>C/C++ Compiler</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1875
                            <th>Bootstrap JDK</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1876
                            <th>Processors</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1877
                            <th>RAM Minimum</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1878
                            <th>DISK Needs</th>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1879
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1880
                    </thead>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1881
                    <tbody>
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>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
  1884
                            <td>Fedora 9</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1885
                            <td>gcc 4.3 </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>1 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>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
  1893
                            <td>Solaris 10 Update 6</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1894
                            <td>Studio 12 Update 1 + patches</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>4 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1897
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1898
                            <td>8 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>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
  1902
                            <td>Solaris 10 Update 6</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1903
                            <td>Studio 12 Update 1 + patches</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>4 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>8 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
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1910
                            <td>Windows X86 (32-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1911
                            <td>Windows XP</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1912
                            <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
  1913
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1914
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1915
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1916
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1917
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1918
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1919
                            <td>Windows X64 (64-bit)</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1920
                            <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
  1921
                            <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
  1922
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1923
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1924
                            <td>2 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1925
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1926
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1927
                        <tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1928
                            <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
  1929
                            <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
  1930
                            <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
  1931
                            <td>JDK 7u7</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1932
                            <td>2 or more</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1933
                            <td>4 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1934
                            <td>6 GB</td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1935
                        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1936
                    </tbody>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1937
                </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1938
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1939
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1940
            <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1941
            <hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1942
            <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
  1943
            <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1944
                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
  1945
                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
  1946
                <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1947
                    <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
  1948
                        this part of the document.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1949
                    </strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1950
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1951
                <h4><a name="fedora">Fedora</a></h4>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1952
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1953
                    After installing the latest
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1954
                    <a href="http://fedoraproject.org">Fedora</a>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1955
                    you need to install several build dependencies.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1956
                    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
  1957
                    following commands as user <code>root</code>:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1958
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1959
                        <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
  1960
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1961
                        <code>yum install gcc gcc-c++</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1962
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1963
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1964
                        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
  1965
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1966
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1967
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1968
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1969
                        <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
  1970
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1971
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1972
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1973
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1974
                <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
  1975
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1976
                    After installing
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1977
                    <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
  1978
                    you need to make sure you have
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1979
                    the following Development bundles installed:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1980
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1981
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1982
                            <li>Development Libraries</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1983
                            <li>Development Tools</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1984
                            <li>Java Development</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1985
                            <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
  1986
                        </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1987
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1988
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1989
                        Plus the following packages:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1990
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1991
                        <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1992
                            <li>cups devel: Cups Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1993
                            <li>alsa devel: Alsa Development Package</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1994
                            <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
  1995
                        </ul>
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
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  1998
                        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
  1999
                        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
  2000
                        and installed easily enough from
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2001
                        <a href="http://downloads.sourceforge.net/freetype">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2002
                            the freetype site</a>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2003
                        Build and install with something like:
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>bash ./configure</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>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2008
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2009
                        <code>sudo -u root make install</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2010
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2011
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2012
                        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
  2013
                        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
  2014
                        it's needed.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2015
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2016
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2017
                <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
  2018
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2019
                    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
  2020
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2021
                    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
  2022
                    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
  2023
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2024
                        <code>aptitude build-dep openjdk-7</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2025
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2026
                        <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
  2027
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2028
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2029
                        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
  2030
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2031
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2032
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2033
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2034
                        <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
  2035
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2036
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2037
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2038
                <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
  2039
                <blockquote>                       
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2040
                    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
  2041
                    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
  2042
                    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
  2043
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2044
                        <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
  2045
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2046
                        <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
  2047
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2048
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2049
                        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
  2050
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2051
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2052
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2053
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2054
                        <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
  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="opensuse">OpenSUSE 11.1</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://opensuse.org">OpenSUSE</a> 11.1 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2061
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2062
                    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
  2063
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2064
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2065
                        <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
  2066
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2067
                        <code>sudo zypper install make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2068
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2069
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2070
                        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
  2071
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2072
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2073
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2074
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2075
                        <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
  2076
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2077
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2078
                        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
  2079
                        environment variable:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2080
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2081
                        <code>export -n JAVA_HOME</code>
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
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2084
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2085
                <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
  2086
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2087
                    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
  2088
                    Linux One 2009 Spring 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2089
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2090
                    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
  2091
                    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
  2092
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2093
                        <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
  2094
                            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
  2095
                            libalsa2-devel libstc++-static-devel libxtst6-devel 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2096
                            libxi-devel</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2097
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2098
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2099
                        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
  2100
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2101
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2102
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2103
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2104
                        <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
  2105
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2106
                </blockquote>
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
                <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
  2109
                <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2110
                    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
  2111
                    you need to install several build dependencies. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2112
                    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
  2113
                    execute the following commands:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2114
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2115
                        <code>pfexec pkg install SUNWgmake SUNWj7dev 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2116
                            sunstudioexpress SUNWcups SUNWzip SUNWunzip SUNWxwhl 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2117
                            SUNWxorg-headers SUNWaudh SUNWfreetype2</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2118
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2119
                    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2120
                        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
  2121
                        variables for the build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2122
                    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2123
                        <code>export LANG=C</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2124
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2125
                        <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
  2126
                    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2127
                </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2128
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2129
            </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2130
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2131
        </blockquote> <!-- Appendix C -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2132
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2133
        <!-- ====================================================== -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2134
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2135
        <!-- Leave out Appendix D --
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2136
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2137
<hr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2138
<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
  2139
<blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2140
    <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
  2141
        system to the new build system.</p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2142
    <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
  2143
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2144
            <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
  2145
            <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
  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>run <code>make sanity</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2149
            <td>run <code>bash ./configure</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_OUTPUTDIR=build/my-special-output</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2153
            <td>before building the first time:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2154
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2155
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2156
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2157
                <code>bash ../../configure</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2158
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2159
                to build:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2160
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2161
                <code>cd build/my-special-output</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2162
                <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2163
                <code>make</code>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2164
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2165
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2166
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2167
            <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
  2168
            <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
  2169
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2170
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2171
            <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
  2172
            <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
  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_CLIENT_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 --with-jvm-variants=client</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_FREETYPE_LIB_PATH=/opt/freetype/lib</code> 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2180
                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
  2181
            <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
  2182
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2183
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2184
            <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
  2185
            <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
  2186
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2187
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2188
            <td>set <code>ALT_OPENWIN_HOME=/opt/X11R6</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2189
            <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
  2190
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2191
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2192
            <td>set <code>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
  2193
            <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
  2194
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2195
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2196
            <td>set <code>ALT_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
  2197
            <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
  2198
                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
  2199
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2200
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2201
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2202
            <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
  2203
            <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
  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>ALT_DEVTOOLS_PATH=/opt/mytools</code></td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2207
            <td>just run <code>configure</code>, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2208
                your tools should be detected automatically. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2209
                If you have an unusual configuration, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2210
                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
  2211
            </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>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
  2215
            <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
  2216
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2217
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2218
            <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
  2219
            <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
  2220
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2221
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2222
            <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
  2223
                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
  2224
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2225
            <td>Importing JDKs is no longer possible, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2226
                but hotspot can be imported using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2227
                <code>--with-import-hotspot</code>. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2228
                Documentation on how to achieve a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2229
                similar solution will come soon!
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2230
            </td>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2231
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2232
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2233
            <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
  2234
            <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
  2235
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2236
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2237
            <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
  2238
            <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
  2239
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2240
        <tr valign="top">
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2241
            <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
  2242
            <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
  2243
        </tr>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2244
    </table>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2245
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2246
    <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
  2247
    <p>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2248
        Some of the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2249
        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
  2250
        document) that can impact the build are:
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2251
    <blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2252
        <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2253
            <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
  2254
            <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
  2255
                <ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2256
                    <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
  2257
                    <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
  2258
                        (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
  2259
                    <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
  2260
                        (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
  2261
                    <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
  2262
                        (e.g. <code>/usr/bin</code>)</li>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2263
                </ul>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2264
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2265
            <dt><code>MILESTONE</code> </dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2266
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2267
                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
  2268
                The default value is "internal".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2269
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2270
            <dt><code>BUILD_NUMBER</code> </dt>
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
                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
  2273
                The default value is "b00".
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2274
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2275
            <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
  2276
            <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
  2277
                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
  2278
                binaries. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2279
                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
  2280
                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
  2281
                OS being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2282
                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
  2283
                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
  2284
                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
  2285
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2286
            <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
  2287
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2288
                The location of the bootstrap JDK installation. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2289
                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
  2290
                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
  2291
                always set <code>ALT_BOOTDIR</code> explicitly.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2292
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2293
            <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
  2294
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2295
                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
  2296
                build output is to go.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2297
                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
  2298
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2299
            <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
  2300
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2301
                The location of the C/C++ compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2302
                The default varies depending on the platform. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2303
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2304
            <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
  2305
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2306
                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
  2307
                The default will refer to 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2308
                <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
  2309
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2310
            <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
  2311
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2312
                The location of the CUPS header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2313
                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
  2314
                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
  2315
                <code>/usr/include</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2316
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2317
            <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
  2318
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2319
                The location of the FreeType shared library. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2320
                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
  2321
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2322
            <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
  2323
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2324
                The location of the FreeType header files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2325
                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
  2326
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2327
            <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
  2328
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2329
                The default root location of the devtools.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2330
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2331
                <code>$(ALT_SLASH_JAVA)/devtools</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2332
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2333
            <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
  2334
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2335
                The location of tools like the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2336
                <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
  2337
                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
  2338
                (<code><i>gmake</i></code>).
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2339
                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
  2340
                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
  2341
                Unix Commands being used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2342
                On Linux the default will be 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2343
                <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
  2344
                on Solaris
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2345
                <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
  2346
                and on Windows with CYGWIN
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2347
                <code>/usr/bin</code>.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2348
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2349
            <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
  2350
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2351
                <strong>Solaris only:</strong>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2352
                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
  2353
                command set are located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2354
                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
  2355
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2356
            <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
  2357
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2358
                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
  2359
                of the following ALT variables.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2360
                The default value is 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2361
                <code>"/java"</code> on Solaris and Linux, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2362
                <code>"J:"</code> on Windows.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2363
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2364
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2365
            <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
  2366
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2367
                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
  2368
                for the platform's 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2369
                graphical programming environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2370
                The default location is platform specific. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2371
                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
  2372
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2373
            <dt><strong>Windows specific:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2374
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2375
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2376
                    <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
  2377
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2378
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2379
                        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
  2380
                        located.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2381
                        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
  2382
                        (or WindowsSdkDir) or the path
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2383
                        <br>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2384
                        <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
  2385
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2386
                    <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
  2387
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2388
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2389
                        <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
  2390
                        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
  2391
                        variable <code>DXSDK_DIR</code>,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2392
                        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
  2393
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2394
                    <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
  2395
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2396
                        The location of the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2397
                        <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
  2398
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2399
                </dl>
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
            <dt><strong>Cross-Compilation Support:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2402
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2403
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2404
                    <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
  2405
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2406
                        Set to the target architecture of a 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2407
                        cross-compilation build. If set, this
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2408
                        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
  2409
                        cross-compiling. The expectation
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2410
                        is that
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2411
                        <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
  2412
                        is set
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2413
                        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
  2414
                        cross-compilation specific flags
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2415
                        are passed using 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2416
                        <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
  2417
                        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
  2418
                        variable should 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2419
                        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
  2420
                        (e.g. X11) provided with 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2421
                        the cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2422
                        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
  2423
                        etc that may be built, and
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2424
                        also skip binary-file verification.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2425
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2426
                    <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
  2427
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2428
                        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
  2429
                        cross-compiler.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2430
                        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
  2431
                        and <code>CXXFLAGS</code> variables. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2432
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2433
                    <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
  2434
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2435
                        Used primarily for cross-compilation builds
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2436
                        (and always set in that case)
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2437
                        this variable indicates that tools from the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2438
                        boot JDK should be used during
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2439
                        the build process, not the tools
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2440
                        (<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
  2441
                        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
  2442
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2443
                    <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
  2444
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2445
                        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
  2446
                        to run on the build host.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2447
                        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
  2448
                        then compiled and executed
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2449
                        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
  2450
                        primary C compiler is used
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2451
                        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
  2452
                        the cross-compiler and the
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2453
                        resulting program could not be executed. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2454
                        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
  2455
                        on other platforms it must be
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2456
                        set explicitly.
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
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2459
            <dt><strong>Specialized Build Options:</strong></dt>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2460
            <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2461
                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
  2462
                environments and/or specialized
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2463
                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
  2464
                <dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2465
                    <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
  2466
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2467
                        Indicates this build will only contain the 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2468
                        Hotspot client VM. In addition to
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2469
                        controlling the Hotspot build target, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2470
                        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
  2471
                        any server VM files/directories, 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2472
                        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
  2473
                        suitable for a client-only environment. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2474
                        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
  2475
                        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
  2476
                        builds are not directly supported.
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
                    <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
  2479
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2480
                        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
  2481
                        capabilities at all. This
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2482
                        excludes building anything that requires graphical 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2483
                        libraries to be available.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2484
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2485
                    <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
  2486
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2487
                        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
  2488
                        Java SE Embedded product. 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2489
                        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
  2490
                        SE-Embedded specific build 
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2491
                        files.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2492
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2493
                    <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
  2494
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2495
                        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
  2496
                        zip utility. Otherwise,
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2497
                        mmap will be used.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2498
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2499
                    <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
  2500
                    <dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2501
                        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
  2502
                        would otherwise be built without
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2503
                        compression, to use compression.
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2504
                    </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2505
                </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2506
            </dd>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2507
        </dl>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2508
    </blockquote>
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2509
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2510
</blockquote> <!-- Appendix D -->
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2511
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2512
        <!-- ====================================================== -->
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2513
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2514
        <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
  2515
        <hr>
15787
496cd89abcc5 8004712: build-infra: Move user guide from web pages to repository
ohair
parents: 14069
diff changeset
  2516
333
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2517
    </body>
d4540117530e 6563616: Clarify instructions for unpacking openjdk binary "plug"
ohair
parents: 15
diff changeset
  2518
</html>