BBv2

Visual Studio 2017 on Boost 1.63.0

Visual Studio 2017がリリースされたのでビルド試してみました。 フォルダ構成が変わったり、インストール先がレジストリに書き込まれなくなったり、いろいろ変わっていてBBv2のコンパイラ自動検出が上手く動きません。 とりあえず、user-config.jamで local…

Windows Kitのバージョンアップとrewrite-setup-scripts

超久しぶりですが、備蓄録として書いておこうかと。 Direct3D12のサンプル見て書いたコードのビルドが通らなくて、おかしいなと思ったらWindows Kitが一つ古かったのです。 で、VS2015 Update3のセットアッププログラムから最新のWindows Kitをインストール…

BBv2の警告メッセージ抑制

Boost.勉強会で時間がなくて話せなかった「警告メッセージ抑制」について説明しておきます。 import path ; local broot = [ modules.peek : BOOST_ROOT ] ; local bdir = [ path.make $(broot) ] ; for local lib in graph mpi python regex { module Jamfi…

make_project

trunkのBBv2でHamigakiライブラリをビルドできなくなっていたので、jamファイルを修正しました。 差分 project.initializeが__binding__変数を要求するようになったようです。

BBv2 on x64

とりあえずBoostのビルドが出来る環境だけ整えました。 Boostの退行テストを見る限り、 VC++は「address-model=64」でx64用ビルドができるようです。 ちなみにbjam自体の64ビット版は64ビットコンパイラにパスを通した状態でbjamをビルドすれば出来ます。

Boost SVN r45117 対応

Boost.Flyweightビルド時にコンパイルが通らず、久々にsvn updateしたらexec.jamが動かなくなっていたので直しておきました。 差分 importを追加しただけです。 ルールを別モジュールにIMPORTした場合、そのルールはIMPORT先のモジュール内で動作するため、…

Boostまでインストールされる問題

#今日はネタサイトめぐりで無駄に時間を潰してしまったので、全然進んでません。 パッケージングした後で気が付いたんですが、Hamigaki 0.41.0をインストールすると、リンクに必要なBoostのライブラリまでコピーされます。 どのみちビルド時のBoostと同じも…

pkg-configの注意点

X11版gl_test.cppのJamfileがいろいろバグっていたので修正しました。 差分 VMwareを落とした後でJamfile書いたので、テストしてませんでした。すみません。 GTK+2のコンパイルオプションを調べるために、 local gtk-cflags = [ SHELL "pkg-config --cflags …

続 Bjamのオプション

プロパティの書式/設定例とターゲットの説明を追加して、BBv2のオプションもいくつか書き足しました。 差分 http://hamigaki.sourceforge.jp/doc/html/bbv2/bjam-options.html ちなみに、「gcc/link=static,shared」を「toolset=gcc/link=static,shared」と…

Bjamのオプション

bjamのオプションについて書くのを忘れていたので書き始めました。 http://hamigaki.sourceforge.jp/doc/html/bbv2/bjam-options.html 「-d」オプションの意味調べるのに無駄に時間かけてしまいました。 肝心のプロパティの設定方法が書き足りないので、続き…

BBv2 Tutorial その11

「カスタムコマンド」のセクションにターゲット変数を使った例を追加しました。 差分 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html 実ターゲットという単語が説明もなく出てきているので要修正です。 仮想ターゲットと実ターゲットの違いを理解する…

BBv2 Tutorial その10

説明の都合上、if文が必要になったので、「制御フロー」のセクションを追加しました。 差分 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html ちなみに、英語版wikipediaによると、"flow control"と"control flow"は別ものらしいです。 flow control プ…

BBv2 Tutorial その9

今日はnotfileの使い方を追加しただけです。 差分 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html notfileはregister.typeした拡張子のファイルしか扱えないみたいです。 この仕様に気付くのに時間がかかりました。

BBv2 Tutorial その8

結局「変数」の説明を独立させて、「ルール」のセクションも追加しました。 「カスタムコマンド」もmakeルールの使い方だけ書きました。 差分 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html あと、決め打ちだったパスを環境変数から取得するように変…

BBv2 Tutorial その7

カスタムコマンドの説明にどうしても変数が必要なので、変数の説明を加筆しました。 差分 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html カスタムコマンド自体の説明は途中まで書いたんですけど、その前にアクションの説明が必要で、どう書くか考え中…

BBv2 Tutorial その6

「プロジェクトの利用」、「ビルド済みライブラリ」のセクションを追加しました。 今日の差分 ビルドしたものはこちら。 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html 「ビルド済みライブラリ」の例は力技になっているのであまり良くないですねぇ。 …

BBv2 Tutorial その5

今日はあまり進みませんでした。 「単体テスト」のセクションを追加しただけです。 今日の差分 ビルドしたものはこちら。 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html 文法的なことはなるべく書かない方針で書いてきたんですけど、かなり無理があり…

BBv2 Tutorial その4

「プロジェクト設定」、「ターゲットのインストール」のセクションを追加しました。 今日の差分 ビルドしたものはこちら。 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html 読みにくかったのでコードの部分だけスタイルシートを適用しました。 ELF環境…

BBv2 Tutorial その3

「ライブラリのリンク」、「サブプロジェクト」のセクションを追加しました。 今日の差分 ビルドしたものはこちら。 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html う〜ん、説明する順序やどこまで書くべきかとか難しいですね。

BBv2 Tutorial その2

「環境設定」、「簡単な使い方」、「ライブラリのビルド」のセクションを追加しました。 今日の差分 とりあえずビルドしたものをこっちに置きました。 http://www12.ocn.ne.jp/~dante98/bbv2-tutorial.html ドキュメントそのものよりドキュメントをビルドす…

続 runテストを再実行する方法

昨日のよりもっと簡単な方法を見つけました。 import notfile ; import testing ; unit-test hello : hello.cpp ; notfile rm-temps : @testing.RmTemps : hello ; notfileは名前の通りファイルでないターゲットを作成するルールで、testing.RmTempsはソース…

BBv2 Tutorial その1

BBv2のTutorialを書き始めました。 bbv2-tutorial.xml 最初の例題はこれ。 EXIT Hello, world! ;

runテストを再実行する方法

BBv2で作成した実行ファイルを起動するのには、通常testingモジュールのrunルールを使うと思います。 ただし、これは自動単体テスト向けの機能なので、実行ファイルが更新されない限り再度実行されることはありません。 これはGUIプログラムを単に起動したい…

virtual-target

virtual-targetのドキュメントを追加しました。 http://hamigaki.sourceforge.jp/doc/html/bbv2/reference/virtual-target/virtual-target.html virtual-targetはabstract-targetクラスのgenerateメソッドが生成するものです。 abstract-targetは「fooという…

type.register

libルールは見つかるのに、exeルールやobjルールの定義が見当たらないなぁと思って探していたら、type.registerの中にありました。 rule register ( type : suffixes * : base-type ? ) { # 〜中略〜 { # 〜中略〜 main-rule-name = [ type-to-rule-name $(t…

jam2bbk

jamモジュールからclassとruleの宣言を抜き出して、BoostBook(実質DocBook)形式で吐き出すツールを作成しました。 jam2bbk.cpp パースとXMLの出力はすごくテキトーです。 Hamigaki.Bjamを使えば完全なパースができるんですが、どのファイルで何が定義された…

typed-target

引数/戻り値の説明とbasic-target/typed-targetのリファレンスを追加しました。 http://hamigaki.sourceforge.jp/doc/html/bbv2/reference/targets/basic-target.html http://hamigaki.sourceforge.jp/doc/html/bbv2/reference/targets/typed-target.html Do…

project-target

今日はFedora8のアップデートに何度も失敗したせいでほとんど進んでません。 パッケージアップデータがよくハングするので、少しずつ選んでアップデートするはめに、、、。 アップデート中はBBv2のjamファイルを読んでました。 さて、BBv2のtutorialを用意し…

ヘルプコメント

BBv2のヘルプコメントに対応しました。 差分 Hamigakiライブラリのビルドカスタマイズのドキュメントは、結局のところbjamモジュールの使い方についてなので、これで代用することにしました。 一つ問題があって、Hamigakiライブラリではproject-root.jamの中…

ビルド設定を修正

引き続きbjamがらみの修正をしていました。 NO_DEBUG_BOOSTを定義することでデバッグビルドでもリリース版のBoostにリンクできる機能を追加 昨日の修正でWindowsのダイナミックリンクが動かなくなっていたのを修正 boost-version.jamでBOOST_ROOTよりBOOST_I…