レクセル マスターピース マットブラック&ラスターオレンジ 20 5H112 9J+35 ベンツ Sクラス W221 W222 CL W216 CLS C218 アウディ A5 4本

BLITZ ブリッツ マフラー NUR-SPEC VS 【63509】 N-BOXカスタム(N BOX Custom) 11/12-13/12 DBA-JF1 S07A NA専用,2WD専用,新制度適合楽しみに来なさい

KMC Staff Blog

JTAG-ICE デバッガベンダー ミシュラン Premier プレミア LTX サマータイヤ 235/55R20 WEDS ウェッズ Kranze クレンツェ Weaval 100EVO ホイールセット 4本 20インチ 20 X 8.5 +35 5穴 114.3、京都マイクロコンピュータ株式会社 (Kyoto Microcomputer Co., Ltd. ; KMC) スタッフのブログです。(現在スパムコメントがあまりにも多いため、半角英数字のみのコメント/トラックバック サマータイヤ 235/35R19 91W XL ヨコハマ ブルーアース・エース AE50 & クレンツェ エルアボラ 8.0-19 タイヤホイール4本セット、国外の IP アドレスからのコメント、改行が 10 個以上あるコメントは受け付けない設定になってます。)

BLITZ ブリッツ マフラー NUR-SPEC VS 【63509】 N-BOXカスタム(N BOX Custom) 11/12-13/12 DBA-JF1 S07A NA専用,2WD専用,新制度適合お買い得セール開催中!

BLITZ ブリッツ マフラー NUR-SPEC VS 【63509】 N-BOXカスタム(N BOX Custom) 11/12-13/12 DBA-JF1 S07A NA専用,2WD専用,新制度適合アウトレット割引

Warp は Facebook 社が D 言語の作者 Walter Bright 氏と協力して開発した C/C++ プリプロセッサで、自社のビルドシステムの高速化のために開発したそうです。D 言語で書かれていて、非常に緩い Boost Software License 1.0 で GitHub に公開されています。

「Under the Hood: warp, a fast C and C++ preprocessor」
https://code.facebook.com/posts/476987592402291/under-the-hood-warp-a-fast-c-and-c-preprocessor/
https://github.com/facebook/warp

Cent OS 6 以外では動作確認されていないそうですが、いろいろ試行錯誤した結果、Windows の MSYS + GDC(D Programming Language for GCC)環境で、とりあえず warp の生成までは成功したので、その時のメモです。(builtin_defines.sh というシェルスクリプトが git リポジトリに入っていないようで、ドライバプログラム warpdrive の生成は失敗しました。)



195/45R16 80W TOYO TIRES トーヨー タイヤ NANOENERGY3 PLUS ナノエナジー3 プラス SHALLEN OLD SCHOOL STYLE MESH シャレン オールドスクールスタイル メッシュ サマータイヤホイール4本セット
ソースコードは git clone https://github.com/facebook/warp.git で、適当な場所に取得しておいてください。

(1) MSYS + GDC 環境構築

VMWare 上のまっさらな Windows 7 64bit 環境で試しました。
(git や 7-zip のインストールや使い方は省略します。)

- MSYS のインストール

今回は MinGW は使用しないので 245/40R18 93V DUNLOP ダンロップ VEURO VE303 ビューロ VE303 Euro Speed G10 ユーロスピード G10 サマータイヤホイール4本セット、mingw-get-setup.exe で「msys-base」のみをインストールしました。
http://sourceforge.net/projects/mingw/files/Installer/mingw-get/

- GDC のインストール

今回は、以下の x64 バイナリを使用しました。
http://gdcproject.org/downloads/binaries/x86_64-w64-mingw32/native_2.065_gcc4.9.0_a8ad6a6678_20140615.7z

7-zip で圧縮されているので、適当な所に x86_64-gdcproject-mingw32 というフォルダを展開して PATH を通しておいてください。
(今回は C:\ 直下に展開して、MSYS 上で一時的に PATH を設定しました。)
$ export PATH=$PATH:/c/x86_64-gdcproject-mingw32/bin/

(2) warp のビルド

Makefile が、おそらく facebook 社のビルド環境(Cent OS 6)に決め打ちになっているようなので、今回の環境に合わせて修正してから make します。(Windows の GDC だと、プログラム名が gdc ではなく gdc.exe だったり、libphobos2.a が、libgphobos2.a になっていたり、微妙な差異があります。)
$ diff -u Makefile.orig Makefile
--- Makefile.orig 2014-08-12 10:29:35 +0900
+++ Makefile 2014-08-12 13:34:52 +0900
@@ -6,7 +6,7 @@
 endif
 endif
-ifeq (gdc,$(notdir $(DC)))
+ifeq (gdc.exe,$(notdir $(DC)))
 DFLAGS=-c -O4 -frelease -fno-bounds-check -fbuiltin
 OFSYNTAX=-o
 else
@@ -44,7 +44,7 @@
 $(DC) $(DFLAGS) $(OFSYNTAX)$@ $(SRCS)
 warp : warp.o
- gcc -m64 -Bthird-party2/binutils/2.21.1/centos6-native/da39a3e/bin/gold
-Bthird-party2/glibc/2.17/gcc-4.8.1-glibc-2.17-fb/99df8fc/lib -L/home/aalexandre
/bin/../d/phobos/generated/linux/release/default -l:libphobos2.a -lpthread -lm -
lrt -o $@ $^
+ gcc -m64 -o $@ $^ -lgphobos2
 $(WARPDRIVE) : warpdrive.d $(GENERATED_DEFINES)
 $(DC) $(DFLAGS) $(OFSYNTAX)$@ $^
$ make
/c/x86_64-gdcproject-mingw32/bin/gdc.exe -c -O4 -frelease -fno-bounds-check -fbu
iltin -owarp.o cmdline.d constexpr.d context.d directive.d expanded.d file.d id.
d lexer.d loc.d macros.d main.d number.d outdeps.d ranges.d skip.d sources.d str
inglit.d textbuf.d charclass.d
gcc -m64 -o warp warp.o -lgphobos2
./builtin_defines.sh 'cc ' 'c++ ' >generated_defines.d.tmp
/bin/sh: ./builtin_defines.sh: No such file or directory
make: *** [generated_defines.d] Error 127
おそらく builtin_defines.sh というシェルスクリプトが git リポジトリに存在しないことが原因で、ドライバプログラム warpdrive の生成には失敗してしまいますが、とりあえず warp.exe はできました。

warp だけでは、コンパイラ固有の定義済みマクロなどが何も設定されていないので 【RSR】 エスティマ 等にお勧め Super☆i 車高調整サスペンションキット アールエスアール Super・i スーパーアイ 型式等:GSR55W 品番:SIT502M / SIT502H、windows.h などはこのままではプリプロセスできませんが(例えば _WIN32 が定義されていないと 、ヘッダのプリプロセス途中で #error になる)、純粋なプリプロセス機能は warp 単体で動作するようです。可変長引数などもサポートしています。
$ cat test.c
#define FOO 1
#define dbg(fmt, ...) \
 printf("debug:" fmt, __VA_ARGS__)
int f()
{
 dbg("%d %d %d\n", 1, 2, 3);
 return FOO;
}
$ warp.exe test.c --stdout
# 1 "test.c"
# 1 "c:\Work\warp//"
# 1 ""
# 1 "test.c"
# 6 "test.c"
int f()
{
 printf("debug:" "%d %d %d\n", 1, 2, 3);
 return 1;
# 10 "test.c"
}

余談

成功手順だけ書くと簡単ですが、最初に作った GDC の環境では大量のコンパイルエラーが出てしまい(D は言語仕様やランタイム環境の変化が激しいようで、また GDC は様々な人がビルドして配布しているので、どれを使えば良いのかも手探り状態でした)、デジタルマース社の DMD 環境で試して途中までコンパイルはできたものの、今度は DMD で生成したオブジェクトファイルが GCC でうまくリンクできず(TDM-GCC の環境に GDC を上書きして使っていたりと 【専用設計】CoverCraft製/UVS100 高品質 サンシェード/日除け BMW X4 F26 Mスポーツ カバークラフト MADE IN USA、この時はかなり環境がゴチャゴチャしていた)、これは Windows なのが悪いのかと問題の切り分けのために Cent OS 7 の環境を VMWare 上に準備して試したりと、不慣れな D 言語と Cent OS の環境で試行錯誤し、

[KYB] カヤバ ショック NEW SR SPECIAL フロント右 1本 SX4 YA11S 06/07~ M15A FF [E / G / XG] 送料1000円(税別) ※北海道・沖縄・離島は送料別途

BLITZ ブリッツ マフラー NUR-SPEC VS 【63509】 N-BOXカスタム(N BOX Custom) 11/12-13/12 DBA-JF1 S07A NA専用,2WD専用,新制度適合 【日本一安い価格】

18インチエクストレイルT32系7人乗りWEDS クレンツェ グラベン680EVO BK/POブロンズクリア 7.5Jx18プロクセス CF2 SUV 225/60R18;15インチ サマータイヤ セット【適応車種:ソニカ(L400系)】WEDS レオニス グレイラ ベータ ブラック/ミラーカット 4.5Jx15Bluearth AE-01 165/55R15;17インチ サマータイヤ セット【適応車種:ビーゴ(200系)】WEDS レオニス CH パールブラックミラーカット 7.0Jx17LEMANS V LM5 215/60R17

BLITZ ブリッツ マフラー NUR-SPEC VS 【63509】 N-BOXカスタム(N BOX Custom) 11/12-13/12 DBA-JF1 S07A NA専用,2WD専用,新制度適合;15インチカローラ フィールダー120系 全グレードWORK エモーション T7R アッシュドチタン 6.5Jx15ディレッツァ DZ102 195/60R15;【送料無料 BMW3シリーズ(F30・F31)】 DUNLOP ダンロップ ウインターマックス 02 WM02 225/45R18 18インチ スタッドレスタイヤ ホイール4本セット 輸入車 KELLENERS ケレナーズスポーツ ケレナーズJr GF5(マットブラック) 8J 8.00-18;SIGNET シグネット リベッター・ナッター本体 大型ハンドリベッター;SWAGE-LINE PRO フロントホースキット バイピース (レッド・ブルー/クリアホース仕様) YZF-R1/SP 04-06

ヨシムラ TMR34-MJNインナーKIT250SB 796-124-6100 JP店, bB[QNC2#][H17.12~H28.8]TUFREQルーフキャリア【Pシリーズショートモデル】代引注文不可, Bellezza ベレッツァ シートカバー ワイルドステッチDX フィットシャトル GG7/GG8 H24/10~H25/8 ブラウン×ブラウン, 【 BRIGHTZ ピクシストラック S201U S211U スモークテールライトカバー 】 【 SMO-REA-150 】S210 S211 S 210 211 ピクシス トラック, 195/45R15 78W FALKEN ファルケン ZIEX ZE912 ジークス ZE912 EuroSpeed C-07 ユーロスピード C-07 サマータイヤホイール4本セット zoom/ズーム ダウンサス ダウンフォースHG S80 TB6284 VOLVO/ボルボ

、そこで成功した環境の Windows 版を MSYS 環境に持ってきて整理して、やっと Windows 上で成功と、実際はかなり手間取ってしまいました。(今思えば、Cent OS が特に Warp のビルドや D 言語のセットアップが楽ということも無かったので、使い慣れた Ubuntu 環境でも良かったと思います。)

「メモ」カテゴリの最新記事

    トラックバックURL

    コメントする

    記事検索
    人気記事
    名前
     
     
     
     
    月別アーカイブ
    最新コメント
    アクセスカウンター
    • 今日:
    • 昨日:
    • 累計:

    タグクラウド
    QRコード

    {yahoojp} {blog.kmckk.com}
    {yahoojp}jpprem01-zenjp40-wl-zd-91353