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