これはちょっと本気度が足りなかった。ほんとにビルドしただけで標準ライブラリ動かんし。インストーラーまで生成してこそやろ!
というか主目的のCodeLLDBの動作には至らなかったというだけなんですけどね、はい。
ビルドの準備
改めてビルドの準備をしていく。
.NET 3.5
Windows10では.NET 3.5がデフォルトで無効になっている。
に従って有効化する。
Visual Studio
2015以上であればよい。私はVisual Studio 2019を選んだ。C#とC++のコンパイルが普通にできれば十分だとは思うが、なんせ私の環境にはいろいろ入れているので最小構成がよくわからない。
MSVC v140 - VS2015 C++ ビルドツール
とかも必要である可能性はある。
まあなんなら下にVS installerの構成ファイル置いておくので適宜いじって読み込ませてほしい。
choclatey
必須というわけではないが、ないと説明が面倒くさいので。
にあるとおりに入れてほしい。
Mercurial
管理者権限のあるPowershellないしコマンドプロンプトで
choco install hg -y
Python
PythonをビルドするにはPythonが必要である。おおっと、鶏と卵の問題というかブートストラップ問題だ。
choco install python3 -y
sphinx
さっそくPythonについてくるpipの出番だ。
pip install Sphinx
Tcl
これがなんなのかわかっていないがとにかく必要らしい。なんとなくIDLEのためじゃないかという気がするが・・・。
ftp://ftp.tcl.tk/pub/tcl/tcl8_6/
からtcl-core8.6.6-src.tar.gz
をダウンロードする。
HTML Help Workshop
Visual Studio 2017以降のインストーラーでは入れられないので自分で持ってくる必要がある。Download Htmlhelp.exe
をクリック。
ダウンロードしたら実行してどんどん次に進んでいけば終わる。
Build
Download & 展開
XZ compressed source tarballを落として展開する。
追加のファイル配置
その中にexternals
というディレクトリを作る。そこにtcl-core8.6.6-src.tar.gz
を展開する。フォルダー名はtcl-core-8.6.6.0
に。これをやらないと、下のTootのようなエラーに見舞われる。
環境変数の設定
VSの開発者コマンドプロンプトを立ち上げる。以下の環境変数を設定する。
rem python2.7もしくは3.4以降の`python.exe`のフルパス。 rem 今回はchocolateyで入れているから`"C:\Python37\python.exe"` set PYTHON="C:\Python37\python.exe" rem where sphinx-buildすれば教えてくれるだろう。 set SPHINXBUILD="C:\Python37\Scripts\sphinx-build.exe" rem 1つ目はhg.exeの場所。where hgすれば教えてくれるだろう rem もう一つはhhc.exeの場所。デフォルトでは"C:\Program Files (x86)\HTML Help Workshop\hhc.exe" set PATH="C:\Program Files\Mercurial\hg.exe";"C:\Program Files (x86)\HTML Help Workshop\hhc.exe";%PATH%
ビルド
ビルドにはとても時間がかかる。PCを放置して別の作業をしたいが、PGOビルドをするときにネットワーク接続をしようとしてWindowsのファイアウォールから許諾画面が出てくる。ただまあビルドの最終盤で気がついて許可したけど多分間に合ってなかったろうし、やっぱり放置してもいい気がする。
ビルドコマンドは極めてシンプルだ。-o
にはビルド成果物を置く場所を指定する。
cd Tools\msi buildrelease.bat -x64 -o "C:\tmp\python"
最終的に
Total Copied Skipped Mismatch FAILED Extras Dirs : 1 0 1 0 0 0 Files : 71 28 43 0 0 0 Bytes : 96.69 m 49.61 m 47.08 m 0 0 0 Times : 0:00:00 0:00:00 0:00:00 0:00:00 Speed : 481735111 Bytes/sec. Speed : 27565.104 MegaBytes/min. Ended : 2019年8月27日 17:26:31
のようなログが出て終わった。
install
先程-o
で指定したディレクトリにamd64
というディレクトリが作られているはずだ。python-3.6.9-amd64.exe
がよくお見かけするpythonのインストーラーだ。
これを実行する。