| 194 | |
| 195 | <varlistentry> |
| 196 | <term>supported_archs</term> |
| 197 | |
| 198 | <listitem> |
| 199 | <para>The architecture the port can be built for.</para> |
| 200 | |
| 201 | <para>Its value will be used to define the <code>configure.build_arch</code> |
| 202 | and <code>configure.universal_archs</code> variables.</para> |
| 203 | |
| 204 | <para>Supported values are : <code>noarch</code> or any combination of |
| 205 | <code>ppc</code>, <code>ppc64</code>, <code>i386</code>, <code>x86_64</code>. |
| 206 | <code>noarch</code> is used to indicate that the port is architecture independent |
| 207 | (eg. a java program).</para> |
| 208 | |
| 209 | <para>If the building architecture isn't among <code>supported_archs</code>, |
| 210 | port fails with an error message except when building on <code>x86_64</code> |
| 211 | (resp. <code>ppc64</code>) and <code>supported_archs</code> contains |
| 212 | <code>i386</code> (resp. <code>ppc</code>). In this case, the port will be built |
| 213 | in 32 bit mode.</para> |
| 214 | |
| 215 | <para>One should use <code>supported_archs</code> instead of hard-coding |
| 216 | <code>configure.build_arch</code> or <code>configure.universal_archs</code> |
| 217 | in the Portfile, eg. when a programs uses the Carbon API and |
| 218 | hence wont build in 64 bit mode.</para> |
| 219 | |
| 220 | <programlisting>supported_archs ppc i386</programlisting> |
| 221 | </listitem> |
| 222 | </varlistentry> |