aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/_posts/2017-01-07-building-boost.md
diff options
context:
space:
mode:
Diffstat (limited to '_posts/2017-01-07-building-boost.md')
-rw-r--r--_posts/2017-01-07-building-boost.md140
1 files changed, 81 insertions, 59 deletions
diff --git a/_posts/2017-01-07-building-boost.md b/_posts/2017-01-07-building-boost.md
index fa0bd3d..a0f095a 100644
--- a/_posts/2017-01-07-building-boost.md
+++ b/_posts/2017-01-07-building-boost.md
@@ -27,8 +27,6 @@ auxiliary files, etc.
Windows' `cd`, for example, simply prints the current working directory;
Cygwin's `pwd` serves the same purpose.
`cat` is used to display files.
-Windows' command prompts are denoted with `>`s at the beginning of each line;
-Cygwin's — with `$`s.
Visual Studio
-------------
@@ -42,41 +40,43 @@ file names (the "gd" suffix).
### x86
-```
-> cd
+{% capture out1 %}
D:\workspace\third-party\boost_1_61_0\msvc
+{% endcapture %}
-> bootstrap
-...
-
-> b2 --stagedir=stage\x86 ^
+{% capture cmd3 %}
+b2 --stagedir=stage\x86 ^
runtime-link=static ^
--with-filesystem ^
--with-program_options ^
...
-...
-```
+{% endcapture %}
+
+{% include shell.html cmd='cd' out=out1 %}
+{% include shell.html cmd='bootstrap' %}
+{% include shell.html cmd=cmd3 %}
### x64
The only important difference is that you have to pass `address-model=64` to
`b2` (notice also the different "staging" directory).
-```
-> cd
+{% capture out1 %}
D:\workspace\third-party\boost_1_61_0\msvc
+{% endcapture %}
-> bootstrap
-...
-
-> b2 --stagedir=stage\x64 ^
+{% capture cmd3 %}
+b2 --stagedir=stage\x64 ^
runtime-link=static ^
address-model=64 ^
--with-filesystem ^
--with-program_options ^
...
-...
-```
+{% endcapture %}
+
+{% include shell.html cmd='cd' out=out1 %}
+{% include shell.html cmd='bootstrap' %}
+{% include shell.html cmd=cmd3 %}
Cygwin + MinGW-w64
------------------
@@ -100,17 +100,16 @@ on the target architecture.
### x86
-```
-$ pwd
+{% capture out1 %}
/cygdrive/d/workspace/third-party/boost_1_61_0/mingw
+{% endcapture %}
-$ ./bootstrap.sh
-...
-
-$ cat user-config-x86.jam
+{% capture out3 %}
using gcc : : i686-w64-mingw32-g++ ;
+{% endcapture %}
-$ ./b2 toolset=gcc-mingw \
+{% capture cmd4 %}
+./b2 toolset=gcc-mingw \
target-os=windows \
link=static \
variant=debug \
@@ -119,8 +118,12 @@ $ ./b2 toolset=gcc-mingw \
--with-filesystem \
--with-program_options \
...
-...
-```
+{% endcapture %}
+
+{% include shell.html cmd='pwd' out=out1 %}
+{% include shell.html cmd='./bootstrap.sh' %}
+{% include shell.html cmd='cat user-config-x86.jam' out=out3 %}
+{% include shell.html cmd=cmd4 %}
The "user" configuration file above stopped working at some point; not sure as
to who's to blame, Cygwin or Boost.
@@ -140,17 +143,16 @@ instead of `i686-w64-mingw32-g++`.
Again, as in the example for Visual Studio, a different "staging" directory
needs to be specified using the `--stagedir` parameter.
-```
-$ cd
+{% capture out1 %}
/cygdrive/d/workspace/third-party/boost_1_61_0/mingw
+{% endcapture %}
-$ ./bootstrap.sh
-...
-
-$ cat user-config-x64.jam
+{% capture out3 %}
using gcc : : x86_64-w64-mingw32-g++ ;
+{% endcapture %}
-$ ./b2 toolset=gcc-mingw \
+{% capture cmd4 %}
+./b2 toolset=gcc-mingw \
address-model=64 \
target-os=windows \
link=static \
@@ -160,8 +162,12 @@ $ ./b2 toolset=gcc-mingw \
--with-filesystem \
--with-program_options \
...
-...
-```
+{% endcapture %}
+
+{% include shell.html cmd='pwd' out=out1 %}
+{% include shell.html cmd='./bootstrap.sh' %}
+{% include shell.html cmd='cat user-config-x64.jam' out=out3 %}
+{% include shell.html cmd=cmd4 %}
The "user" configuration file above stopped working at some point; not sure as
to who's to blame, Cygwin or Boost.
@@ -180,31 +186,39 @@ You may want to adjust the paths.
#### x86
-```
-> cd
-D:\workspace\build\test_project\msvc\x64
+{% capture out1 %}
+D:\workspace\build\test_project\msvc\x86
+{% endcapture %}
-> cmake -G "Visual Studio 14 2015" ^
- -D BOOST_ROOT=D:\workspace\third-party\boost_1_61_0\msvc ^
+{% capture cmd2 %}
+cmake -G "Visual Studio 14 2015" ^
+ -D BOOST_ROOT=D:\workspace\third-party\boost_1_61_0\msvc ^
-D BOOST_LIBRARYDIR=D:\workspace\third-party\boost_1_61_0\msvc\stage\x86\lib ^
- -D Boost_USE_STATIC_LIBS=ON ^
+ -D Boost_USE_STATIC_LIBS=ON ^
-D Boost_USE_STATIC_RUNTIME=ON ^
...
-```
+{% endcapture %}
+
+{% include shell.html cmd='cd' out=out1 %}
+{% include shell.html cmd=cmd2 %}
#### x64
-```
-> cd
-D:\workspace\build\test_project\msvc\x86
+{% capture out1 %}
+D:\workspace\build\test_project\msvc\x64
+{% endcapture %}
-> cmake -G "Visual Studio 14 2015 Win64" ^
- -D BOOST_ROOT=D:\workspace\third-party\boost_1_61_0\msvc ^
+{% capture cmd2 %}
+cmake -G "Visual Studio 14 2015 Win64" ^
+ -D BOOST_ROOT=D:\workspace\third-party\boost_1_61_0\msvc ^
-D BOOST_LIBRARYDIR=D:\workspace\third-party\boost_1_61_0\msvc\stage\x64\lib ^
- -D Boost_USE_STATIC_LIBS=ON ^
- -D Boost_USE_STATIC_RUNTIME=ON ^
+ -D Boost_USE_STATIC_LIBS=ON ^
+ -D Boost_USE_STATIC_RUNTIME=ON ^
...
-```
+{% endcapture %}
+
+{% include shell.html cmd='cd' out=out1 %}
+{% include shell.html cmd=cmd2 %}
### Cygwin & MinGW-w64
@@ -215,11 +229,12 @@ You may also want to adjust the paths.
#### x86
-```
-$ pwd
+{% capture out1 %}
/cygdrive/d/workspace/build/test_project/mingw/x86/debug
+{% endcapture %}
-$ cmake -G "Unix Makefiles" \
+{% capture cmd2 %}
+cmake -G "Unix Makefiles" \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_C_COMPILER=i686-w64-mingw32-gcc \
-D CMAKE_CXX_COMPILER=i686-w64-mingw32-g++ \
@@ -227,15 +242,19 @@ $ cmake -G "Unix Makefiles" \
-D BOOST_LIBRARYDIR=/cygdrive/d/workspace/third-party/boost_1_61_0/mingw/stage/x86/debug/lib \
-D Boost_USE_STATIC_LIBS=ON \
...
-```
+{% endcapture %}
+
+{% include shell.html cmd='pwd' out=out1 %}
+{% include shell.html cmd=cmd2 %}
#### x64
-```
-$ pwd
+{% capture out1 %}
/cygdrive/d/workspace/build/test_project/mingw/x64/debug
+{% endcapture %}
-$ cmake -G "Unix Makefiles" \
+{% capture cmd2 %}
+cmake -G "Unix Makefiles" \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
-D CMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
@@ -243,4 +262,7 @@ $ cmake -G "Unix Makefiles" \
-D BOOST_LIBRARYDIR=/cygdrive/d/workspace/third-party/boost_1_61_0/mingw/stage/x64/debug/lib \
-D Boost_USE_STATIC_LIBS=ON \
...
-```
+{% endcapture %}
+
+{% include shell.html cmd='pwd' out=out1 %}
+{% include shell.html cmd=cmd2 %}