Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page >

ビルドオプション

このセクションには、インテルベースのMacintoshコンピュータ上でXcode 2.2を使用するときに気をつける必要のあるビルドオプションが含まれています。デフォルトのコンパイルオプションの一覧を示し、アーキテクチャ固有のオプションの設定方法を論じ、GNU Autoconfマクロの使用に関する情報を提供します。

In this section:

デフォルトのコンパイラオプション
アーキテクチャ固有のオプション
Autoconfマクロ


デフォルトのコンパイラオプション

インテルベースのMacintoshコンピュータ上のXcode 2.1以降で、GCCの標準ディストリビューションとデフォルトが異なるコンパイラフラグのリストをTable 1-1に示します。

Table 1-1  インテルベースのMacintoshコンピュータにおけるコンパイラフラグのデフォルト値

コンパイラフラグ

デフォルト値

指定の内容

-mfpmath

sse

浮動小数点演算にSSE命令を使用します。

-msse2

デフォルトでOn

インテル命令セットアーキテクチャのMMX拡張、SSE拡張、SSE2拡張を有効にします。

アーキテクチャ固有のオプション

ほとんどの開発者は、プロジェクトの中でアーキテクチャ固有のオプションを使用する必要はありません。

Xcodeでは、インテルベースのMacintosh用のフラグを1つ設定し、PowerPC用に別のフラグを設定するには、PER_ARCH_CFLAGS_i386およびPER_ARCH_CFLAGS_ppcビルド設定変数を使用してアーキテクチャ固有の設定を渡します。

たとえば、アーキテクチャ固有のフラグ、-faltivecおよび-msse3を設定するには、次のビルド設定を追加します。

PER_ARCH_CFLAGS_i386 = -msse3
PER_ARCH_CFLAGS_ppc = -faltivec 

同様に、アーキテクチャ固有のリンカフラグを渡すには、OTHER_LDFLAGS_i386およびOTHER_LDFLAGS_ppcビルド設定変数を使用します。

gccld、およびas-archフラグを渡すことが可能です。指定可能な値は、i386ppcです。両方のフラグを次のように指定できます。

-arch ppc -arch i386

アーキテクチャ固有のオプションの詳細については、『Xcode 2.2 User Guide』の「Building Universal Binaries」を参照してください。

Autoconfマクロ

GNU Autoconfを使用するプロジェクトをコンパイルしてPowerPCベースとインテルベースのMacintoshコンピュータの両方を対象としてビルド行う場合は、プロジェクトの自動設定時にランタイムシステムのエンディアンのタイプを判別するAutoconfマクロが使われないようにする必要があります。たとえば、プロジェクトの中でAutoconfのAC_C_BIGENDIANマクロを使用していると、プロジェクトの自動設定時のターゲットとなるアーキテクチャでないもう一方のアーキテクチャでプログラムを実行するとプログラムが正しく動作しません。PowerPCベースとインテルベースMacintoshコンピュータの両方に正しくビルドするには、コードの中でコンパイラに定義されている__BIG_ENDIAN__および__LITTLE_ENDIAN__マクロを使用します。

詳細については、『Porting UNIX/Linux Applications to Mac OS X』の「Using GNU Autoconf」を参照してください。



< Previous PageNext Page >


Last updated: 2006-03-08




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice