Man page - cpp(1)
Available languages:
en jaManual
cpp
名 称書 式
解 説
オ プ シ ョ ン
関 連 項 目
COPYING
名 称
cpp - GNU-C 互 換 の コ ン パ イ ラ プ リ プ ロ セ ッ サ
書 式
|
cpp |
[ -$ ] [ -A predicate [ ( value ) ]] [ -C ] [ -D name [ = definition ]] [ -dD ] [ -dM ] [ -I directory ] [ -H ] [ -I- ] [ -imacros file ] [ -include file ] [ -idirafter dir ] [ -iprefix prefix ] [ -iwithprefix dir ] [ -lang-c ] [ -lang-c++ ] [ -lang-objc ] [ -lang-objc++ ] [ -lint ] [ -M [ -MG ]] [ -MM [ -MG ]] [ -MD file ] [ -MMD file ] [ -nostdinc ] [ -nostdinc++ ] [ -P ] [ -pedantic ] [ -pedantic-errors ] [ -traditional ] [ -trigraphs ] [ -U name ] [ -undef ] [ -Wtrigraphs ] [ -Wcomment ] [ -Wall ] [ -Wtraditional ] |
[ infile | - ] [ outfile | - ]
解 説
C プ リ プ ロ セ ッ サ は 、 実 際 の コ ン パ イ ル の 前 に プ ロ グ ラ ム を 変 換 す る た め に C コ ン パ イ ラ か ら 自 動 的 に 利 用 さ れ る マ ク ロ プ ロ セ ッ サ で す 。 長 い 記 述 を 簡 略 し て マ ク ロ と し て 定 義 す る こ と が で き る た め 、 マ ク ロ プ ロ セ ッ サ と 呼 ば れ ま す 。
C プ リ プ ロ セ ッ サ は 、 以 下 の 4つ の 機 能 を 提 供 し ま す 。
|
• |
ヘ ッ ダ フ ァ イ ル を 読 み 込 み ま す 。 こ れ は プ ロ グ ラ ム に 組 み 込 ま れ る (C 言 語 の )宣 言 の 入 っ た フ ァ イ ル で す 。 |
||
|
• |
C 言 語 の 任 意 の 部 分 の 省 略 形 と し て マ ク ロ を 定 義 し 、 C プ リ プ ロ セ ッ サ が プ ロ グ ラ ム 内 の 全 て の マ ク ロ を そ の 定 義 で 置 き 換 え ま す 。 |
||
|
• |
条 件 文 の 処 理 を し ま す 。 専 用 の プ リ プ ロ セ ッ サ コ マ ン ド を 用 い て 、 い ろ い ろ な 条 件 に し た が っ て プ ロ グ ラ ム の 一 部 を 含 め た り 除 外 し た り で き ま す 。 |
||
|
• |
行 番 号 の 制 御 を し ま す 。 ソ ー ス フ ァ イ ル と コ ン パ イ ル さ れ た 中 間 フ ァ イ ル と を 組 み 合 わ せ た り 再 ア レ ン ジ し た り す る プ ロ グ ラ ム を 用 い る 場 合 、 コ ン パ イ ラ に オ リ ジ ナ ル の ソ ー ス の 何 行 目 で あ る か を 知 ら せ る た め の 、 行 番 号 制 御 の プ リ プ ロ セ ッ サ コ マ ン ド を 利 用 で き ま す 。 |
C プ リ プ ロ セ ッ サ は 、 そ の イ ン プ リ メ ン ト に よ っ て 細 か な 部 分 に 違 い が い く つ か あ り ま す 。 GNU C プ リ プ ロ セ ッ サ の 完 全 な ド キ ュ メ ン ト は 、 info フ ァ イ ル の ‘ cpp.info ’, も し く は 、 マ ニ ュ ア ル の The C Preprocessor を 参 照 し て 下 さ い 。 こ の 双 方 は ‘ cpp.texinfo ’か ら 生 成 さ れ ま す 。 GNU C プ リ プ ロ セ ッ サ は ANSI Standard C の ス ー パ セ ッ ト と な っ て い ま す 。
ANSI Standard C で は 、 今 日 C プ ロ グ ラ ム で 一 般 的 に 用 い ら れ て い る 多 く の (無 害 な )構 造 が 認 め ら れ て い ま せ ん 。 こ の 非 互 換 性 は ユ ー ザ に と っ て は 不 便 で あ り 、 そ の た め GNU C preprocessor で は こ の 記 述 を デ フ ォ ル ト で 受 け 付 け る よ う に 作 ら れ て い ま す 。 厳 密 に い え ば 、 ANSI Standard C に す る た め に は オ プ シ ョ ン と し て ‘ -trigraphs ’, ‘ -undef ’, ‘ -pedantic ’を つ け な け れ ば な り ま せ ん 。 し か し 経 験 則 か ら 、 厳 密 な ANSI Standard C に あ わ せ て こ う し た 設 定 を 行 な う と 支 障 の あ る 場 合 が 多 い こ と が わ か っ て い ま す 。
ほ と ん ど の 場 合 は 、 C プ リ プ ロ セ ッ サ は 明 示 的 に 実 行 す る 必 要 は あ り ま せ ん 。 C コ ン パ イ ラ が 自 動 的 に 実 行 し て く れ る か ら で す 。 し か し な が ら 、 明 示 的 に プ リ プ ロ セ ッ サ を 実 行 す る の が 有 効 な こ と が 個 々 に は あ り ま す 。
C プ リ プ ロ セ ッ サ は 、 引 数 と し て infile と outfile の 2 つ の フ ァ イ ル 名 を 期 待 し ま す 。 プ リ プ ロ セ ッ サ は ‘ #include ’で 指 定 し た フ ァ イ ル と 一 緒 に infile を 読 み 込 み ま す 。 入 力 フ ァ イ ル の 組 み 合 わ せ で 作 ら れ た 出 力 は 、 全 て outfile に 書 か れ ま す 。
infile と outfile の 指 定 に ‘ - ’を 使 用 す る こ と が で き ま す 。 infile が ‘ - ’ で あ れ ば 標 準 入 力 か ら デ ー タ を 読 み 、 outfile が ‘ - ’ で あ れ ば 標 準 出 力 へ 結 果 を 書 き ま す 。 も し outfile も し く は 両 方 の フ ァ イ ル 名 が 省 略 さ れ た 場 合 、 省 略 さ れ た フ ァ イ ル の 代 わ り に 標 準 入 力 と 標 準 出 力 が 使 わ れ ま す 。
オ プ シ ョ ン
以 下 が C プ リ プ ロ セ ッ サ が 受 け 付 け る オ プ シ ョ ン の 一 覧 で す 。 こ れ ら の オ プ シ ョ ン は 、 プ リ プ ロ セ ッ サ が コ ン パ イ ラ か ら 起 動 さ れ て い る 場 合 に も 自 動 的 に 引 き 渡 さ れ る の で 、 C プ ロ グ ラ ム を コ ン パ イ ル す る 際 に も 指 定 す る こ と が で き ま す 。
|
-P |
‘ # ’-行 番 号 と い う 行 番 号 情 報 を プ リ プ ロ セ ッ サ の 出 力 に 含 め ま せ ん 。 こ れ は 、 C 以 外 の 言 語 で 行 番 号 情 報 が 含 ま れ て い る と エ ラ ー を 起 こ す 言 語 を 処 理 す る 場 合 に 有 用 で し ょ う 。 |
||
|
-C |
コ メ ン ト を 削 除 せ ず 、 そ の ま ま 出 力 フ ァ イ ル に 含 め ま す 。 マ ク ロ 呼 び 出 し の 引 数 に 現 れ る コ メ ン ト は マ ク ロ 呼 び 出 し の 展 開 後 に コ ピ ー さ れ ま す 。 |
-traditional
ANSI で は な く 、 旧 形 式 の C の 文 法 と し て 解 釈 し ま す 。
-trigraphs
ANSI標 準 の ト リ グ ラ フ (trigraph)構 文 を 処 理 し ま す 。 こ れ は ANSI C で 1 文 字 を 表 示 す る と 定 め ら れ た ‘ ?? ’ で 始 ま る 3 文 字 の 並 び で す 。 例 え ば 、 ‘ ??/ ’ は ‘ \ ’ を 表 し ま す の で 、 ‘ ’??/n’ ’ は 改 行 文 字 の 文 字 定 数 と な り ま す 。 厳 密 に 言 え ば 、 GNU C プ リ プ ロ セ ッ サ の ‘ -trigraphs ’ オ プ シ ョ ン は ANSI C 標 準 を 完 全 に は サ ポ ー ト し ま せ ん 。 が 、 普 通 の ユ ー ザ な ら ば そ の 違 い に 気 づ く 事 は 稀 で し ょ う 。
ト リ グ ラ フ に つ い て 、 こ れ 以 上 知 り た い と は 思 わ な い で し ょ ?
-pedantic
‘ #else ’ や ‘ #endif ’ の 後 に コ メ ン ト 以 外 の テ キ ス ト が つ く と い っ た 場 合 に 、 ANSI C 標 準 で 求 め ら れ る 警 告 を 出 力 し ま す 。
-pedantic-errors
‘ -pedantic ’ に 似 て い ま す が 、 警 告 で は な く エ ラ ー に し ま す 。
-Wtrigraphs
ト リ グ ラ フ が あ る と 警 告 を 出 力 し ま す (た だ し 、 ト リ グ ラ フ の 処 理 は 行 い ま す )。
-Wcomment
-Wcomments
コ メ ン ト 開 始 シ ー ケ ン ス で あ る ‘ /* ’ が コ メ ン ト 中 に 存 在 し た な ら ば 警 告 を 発 生 し ま す (両 形 式 は 同 じ 効 果 を 持 ち ま す )。
|
-Wall |
‘ -Wtrigraphs ’ と ‘ -Wcomment ’ (た だ し ‘ -Wtraditional ’ は 除 く ) を 指 定 し た の と 同 じ で す 。 |
-Wtraditional
ANSI と 伝 統 派 の C と で 異 な る 振 る 舞 い を と る 構 文 が 出 現 し た 場 合 に 警 告 を 発 し ま す 。
-I directory
デ ィ レ ク ト リ directory を ヘ ッ ダ フ ァ イ ル を 検 索 す る デ ィ レ ク ト リ リ ス ト の 末 尾 に 追 加 し ま す 。 こ の オ プ シ ョ ン は 、 指 定 し た デ ィ レ ク ト リ が シ ス テ ム の ヘ ッ ダ フ ァ イ ル が 格 納 さ れ て い る デ ィ レ ク ト リ よ り も 先 に 検 索 さ れ る の で 、 ユ ー ザ 自 身 の 作 成 し た バ ー ジ ョ ン で シ ス テ ム が 提 供 す る ヘ ッ ダ フ ァ イ ル を 上 書 き さ せ る こ と も で き ま す 。 1 つ 以 上 の ‘ -I ’ オ プ シ ョ ン を 使 用 す る 場 合 、 デ ィ レ ク ト リ は 左 か ら 右 の 順 番 で 検 索 さ れ 、 標 準 の シ ス テ ム ヘ ッ ダ フ ァ イ ル は そ の 後 に な り ま す 。
|
-I- |
‘ -I- ’ オ プ シ ョ ン よ り も 前 に 指 定 さ れ た ‘ -I ’ オ プ シ ョ ン で 与 え ら れ た デ ィ レ ク ト リ は 、 ‘ #include " file "’ の イ ン ク ル ー ド 文 の 場 合 に の み 検 索 さ れ ま す 。 ‘ #include < file >’ で は 検 索 さ れ ま せ ん 。 |
オ プ シ ョ ン ‘ -I- ’ の 後 の オ プ シ ョ ン ‘ -I ’ に 追 加 の デ ィ レ ク ト リ が 指 定 さ れ た 場 合 、 そ れ ら の デ ィ レ ク ト リ は 全 て の ‘ #include ’ 文 で 検 索 さ れ ま す 。
付 け 加 え て 言 う な ら ば 、 ‘ -I- ’ オ プ シ ョ ン を 指 定 す る と 、 カ レ ン ト デ ィ レ ク ト リ は ‘ #include "file "’ 文 に 対 す る 最 初 の 検 索 デ ィ レ ク ト リ で は な く な り ま す 。 そ れ ゆ え 、 カ レ ン ト デ ィ レ ク ト リ は 明 示 的 に ‘ -I. ’ と し て 指 定 さ れ た 場 合 に の み 検 索 さ れ る こ と に な り ま す 。 ‘ -I- ’ と ‘ -I. ’ を 双 方 と も 指 定 す る こ と で 、 ど の デ ィ レ ク ト リ が カ レ ン ト デ ィ レ ク ト リ の 前 に 、 あ る い は 後 に 検 索 さ れ る か を 厳 密 に 指 定 す る こ と が で き ま す 。
-nostdinc
ヘ ッ ダ フ ァ イ ル の 検 索 に 標 準 シ ス テ ム デ ィ レ ク ト リ を 用 い ま せ ん 。 ‘ -I ’ オ プ シ ョ ン で 指 定 し た デ ィ レ ク ト リ (と 、 も し 適 切 で あ る な ら ば カ レ ン ト デ ィ レ ク ト リ )が 検 索 さ れ ま す 。
-nostdinc++
ヘ ッ ダ フ ァ イ ル の 検 索 に C++ 仕 様 の 標 準 デ ィ レ ク ト リ を 用 い ま せ ん 。 が 、 そ の 他 の 標 準 デ ィ レ ク ト リ は 検 索 し ま す 。 (こ の オ プ シ ョ ン は libg++ の 構 築 時 に 用 い ら れ ま す 。 )
-D name
name を 既 定 義 の マ ク ロ と し て 、 ‘ 1 ’ に 定 義 し ま す 。
-D name = definition
name を マ ク ロ と し て definition に 定 義 し ま す 。 definition の 内 容 に 制 限 は あ り ま せ が 、 プ リ プ ロ セ ッ サ を シ ェ ル や シ ェ ル に 類 似 し た プ ロ グ ラ ム か ら 起 動 し て い る 場 合 、 シ ェ ル の 文 法 上 意 味 を 持 つ ス ペ ー ス な ど の 文 字 を 保 護 す る た め 、 そ の シ ェ ル の ク ォ ー ト 文 法 を 使 用 す る 必 要 が あ り ま す 。 も し 、 1 つ の name に 対 し て 複 数 の ‘ -D ’ を 指 定 し た な ら ば 、 も っ と も 右 側 の 定 義 が 有 効 と な り ま す 。
-U namename
を 定 義 し ま せ ん 。 同 一 の name に 対 し て ‘ -U ’ と ‘ -D ’ の 双 方 が 指 定 さ れ た 場 合 、 ‘ -U ’ が ‘ -D ’ に 優 先 し 、 name は 定 義 さ れ ま せ ん 。
|
-undef |
非 標 準 の マ ク ロ を 一 切 定 義 し ま せ ん 。 |
-A name( value )
( #assert コ マ ン ド と 同 じ 方 法 で ) 述 語 name に ト ー ク ン リ ス ト value を ア サ ー ト し ま す 。 シ ェ ル の コ マ ン ド ラ イ ン 上 で は 括 弧 を エ ス ケ ー プ す る な り ク ォ ー ト す る こ と を 忘 れ な い で 下 さ い 。
既 定 義 の ア サ ー シ ョ ン 全 て を 取 り 消 す の に 、 ‘ -A- ’ を 使 え ま す 。 こ れ は ま た 、 既 定 義 の マ ク ロ 全 て を 無 効 に し ま す 。
|
-dM |
プ リ プ ロ セ ッ サ の 結 果 を 出 力 す る 代 わ り に 、 プ リ プ ロ セ ッ サ の 実 行 中 に 定 義 さ れ た 、 既 定 義 の も の も 含 む 全 て の マ ク ロ の ‘ #define ’ コ マ ン ド の リ ス ト を 出 力 し ま す 。 こ れ は 、 使 用 し て い る プ リ プ ロ セ ッ サ の そ の バ ー ジ ョ ン で 、 ど ん な マ ク ロ が 既 定 義 で あ る か を 知 る 方 法 を 提 供 し て く れ ま す 。 そ れ に は 、 空 の フ ァ イ ル ‘ foo.h ’ を こ の オ プ シ ョ ン で 処 理 し て み れ ば よ い の で す 。 |
touch foo.h; cpp -dM foo.h
は す べ て の 既 定 義 マ ク ロ の 値 を 見 せ て く れ る で し ょ う 。
|
-dD |
‘ -dM ’ に 似 て い ま す が 、 2 つ の 相 違 点 が あ り ま す 。 こ れ は 既 定 義 マ ク ロ を 出 力 し ま せ ん 。 ま た 、 ‘ #define ’ コ マ ン ド と プ リ プ ロ セ ス 結 果 の 双 方 を 出 力 し ま す 。 こ れ ら の 出 力 は 両 方 と も 標 準 出 力 に 行 わ れ ま す 。 |
-M [ -MG ]
プ リ プ ロ セ ス の 結 果 を 出 力 す る 代 わ り に 、 main の ソ ー ス フ ァ イ ル の 依 存 性 を 記 述 す る make 規 則 を 出 力 し ま す 。 プ リ プ ロ セ ッ サ は ソ ー ス フ ァ イ ル の オ ブ ジ ェ ク ト フ ァ イ ル 名 、 コ ロ ン 、 そ の す べ て の イ ン ク ル ー ド フ ァ イ ル 名 か ら 成 る make 規 則 を 出 力 し ま す 。 複 数 の イ ン ク ル ー ド フ ァ イ ル が あ る 場 合 、 規 則 は ‘ \ ’-改 行 で 複 数 行 に 区 切 ら れ ま す 。
‘ -MG ’ は 、 見 つ け ら れ な か っ た ヘ ッ ダ フ ァ イ ル は (コ ン パ イ ル の 途 中 で )生 成 さ れ 、 ソ ー ス フ ァ イ ル と 同 じ デ ィ レ ク ト リ に 存 在 す る も の と し て 扱 い ま す 。 ‘ -M ’ と 共 に 指 定 し な け れ ば な り ま せ ん 。
こ の 機 能 は 自 動 的 に Makefile を 更 新 す る の に 使 い ま す 。
-MM [ -MG ]
こ れ は ‘ -M ’ に 似 て い ま す が 、 ‘ #include " file "’ で イ ン ク ル ー ド さ れ る フ ァ イ ル の み を 扱 う 点 が 異 な り ま す 。 ‘ #include < file >’ で イ ン ク ル ー ド さ れ る シ ス テ ム ヘ ッ ダ フ ァ イ ル は 無 視 さ れ ま す 。
-MD file
こ れ も ‘ -M ’ に 似 て い ま す が 、 依 存 情 報 が ‘ file ’ に 書 き 出 さ れ ま す 。 —‘ -MD ’ を 指 定 し た フ ァ イ ル の 処 理 も こ れ に 加 え て 行 わ れ 、 ‘ -M ’ の よ う に 通 常 の 処 理 を 抑 制 す る こ と は あ り ま せ ん 。
gcc を 実 行 す る 場 合 は ‘ file ’ 引 数 を 指 定 し て は い け ま せ ん 。 gcc は 、 入 力 フ ァ イ ル 名 の 末 尾 の ‘ .c ’ を ‘ .d ’ で 置 き 換 え た フ ァ イ ル 名 を 出 力 に 用 い る か ら で す 。
Mach で は 、 ‘ make ’ コ マ ン ド で 便 利 な よ う に 複 数 の フ ァ イ ル を 1 つ の 依 存 規 則 フ ァ イ ル に ま と め る ユ ー テ ィ リ テ ィ md が 利 用 で き ま す 。
-MMD file
‘ -MD ’ に 似 て い ま す が 、 ユ ー ザ の ヘ ッ ダ フ ァ イ ル の み を 扱 い 、 シ ス テ ム ヘ ッ ダ は 無 視 す る 点 が 異 な り ま す 。
|
-H |
通 常 の 動 作 に 加 え て 、 使 用 さ れ た ヘ ッ ダ フ ァ イ ル の フ ァ イ ル 名 を 出 力 し ま す 。 |
-imacros file
フ ァ イ ル file を 入 力 と し て 処 理 し ま す が 、 標 準 の 入 力 フ ァ イ ル を 処 理 す る 前 に そ の 結 果 の 出 力 を 破 棄 し ま す 。 file に よ っ て 生 成 さ れ る 出 力 は 捨 て ら れ る た め 、 ‘ -imacros file ’ の 処 理 結 果 の 影 響 は 、 file 中 に 記 述 さ れ た マ ク ロ が メ イ ン の 入 力 フ ァ イ ル 中 で 使 用 可 能 に な る こ と だ け で す 。 プ リ プ ロ セ ッ サ は 、 ‘ -imacros file ’ を 処 理 す る 前 に 、 コ マ ン ド ラ イ ン か ら 与 え ら れ た 全 て の ‘ -D ’ や ‘ -U ’ オ プ シ ョ ン を 評 価 し ま す 。
-include file
フ ァ イ ル file を 、 標 準 の 入 力 フ ァ イ ル の 前 に 処 理 し 、 そ の 結 果 出 力 を イ ン ク ル ー ド し ま す 。
-idirafter dir
デ ィ レ ク ト リ dir を 第 2 イ ン ク ル ー ド パ ス に 加 え ま す 。 第 2 イ ン ク ル ー ド パ ス 中 の デ ィ レ ク ト リ は 、 メ イ ン イ ン ク ル ー ド パ ス (オ プ シ ョ ン ‘ -I ’ に よ っ て 追 加 さ れ ま す ) 中 に ヘ ッ ダ フ ァ イ ル を 探 し た 結 果 発 見 で き な か っ た 場 合 に 検 索 さ れ ま す 。
-iprefix prefix
prefix を 、 そ の 後 に 続 く ‘ -iwithprefix ’ オ プ シ ョ ン 用 の プ レ フ ィ ッ ク ス と し て 使 用 し ま す 。
-iwithprefix dir
デ ィ レ ク ト リ を 第 2 イ ン ク ル ー ド パ ス に 追 加 し ま す 。 デ ィ レ ク ト リ 名 は prefix と dir を 連 結 す る こ と に よ っ て 得 ら れ ま す 。 こ こ で prefix は ‘ -iprefix ’ オ プ シ ョ ン に よ っ て 指 定 さ れ た も の で す 。
-lang-c
-lang-c++
-lang-objc
-lang-objc++
ソ ー ス の 言 語 を 指 定 し ま す 。 ‘ -lang-c++ ’ は 、 プ リ プ ロ セ ッ サ に C++ の コ メ ン ト 文 と 、 C++ 用 の 追 加 の デ フ ォ ル ト イ ン ク ル ー ド デ ィ レ ク ト リ を 処 理 さ せ 、 ‘ -lang-objc ’ は 、 Objective C の ‘ #import ’ デ ィ レ ク テ ィ ブ を 使 用 可 能 に し ま す 。 ‘ -lang-c ’ は 明 示 的 に こ れ ら の 機 能 の 切 り 離 し を 指 定 し 、 ‘ -lang-objc++ ’ は 双 方 を 利 用 可 能 に し ま す 。
こ れ ら の オ プ シ ョ ン は コ ン パ イ ラ ド ラ イ バ gcc に よ っ て 生 成 さ れ ま す が 、 ‘ gcc ’ の コ マ ン ド ラ イ ン か ら 引 き 渡 す こ と は で き ま せ ん 。
|
-lint |
コ メ ン ト 中 に 埋 め 込 ま れ た 、 プ ロ グ ラ ム チ ェ ッ カ lint の コ マ ン ド を 見 つ け 出 し 、 そ れ ら の 前 に ‘ #pragma lint ’ を 埋 め 込 み ま す 。 例 え ば 、 コ メ ン ト ‘ /* NOTREACHED */ ’ は ‘ #pragma lint NOTREACHED’ に な り ま す 。 |
こ の オ プ シ ョ ン は 直 接 cpp を 呼 び 出 す 場 合 に の み 使 え ま す 。 gcc は 、 コ マ ン ド ラ イ ン か ら こ の オ プ シ ョ ン を 引 き 渡 し ま せ ん 。
|
-$ |
識 別 子 中 で の ‘ $ ’ の 使 用 を 禁 止 し ま す 。 こ れ は 、 標 準 が 修 正 さ れ る 以 前 は 、 C 標 準 へ の 厳 密 な 準 拠 の た め に あ り ま し た 。 |
本 オ プ シ ョ ン は 、 cpp を 直 接 呼 ぶ と き の み 使 用 可 能 で す 。 gcc は コ マ ン ド 行 か ら こ れ を 渡 し ま せ ん 。
関 連 項 目
info
;
The C Preprocessor
, Richard M. Stallman. 中
の エ ン ト リ
‘
cpp
’
gcc
(
1
);
info
;
Using and Porting GNU CC
(for version 2.0)
, Richard M. Stallman. 中
の エ ン ト リ
‘
gcc
’
COPYING
Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.