28 Temmuz 2017 Cuma

b2 komutu

Giriş
Bu komut bir şekilde boost-build.jam dosyasındaki ayarları kullanıyor.
a seçeneği
Şöyle yaparız.
./b2 -a macosx-version-min=10.7 install 
address-model seçeneği
Şöyle yaparız.
b2 address-model=32 --build-type=minimal stage --stagedir stage
b2 address-model=64 --build-type=minimal stage --stagedir stage64
architecture seçeneği
Şöyle yaparız.
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static
  threading=multi runtime-link=shared --build-type=minimal stage
  --stagedir=stage/x64
buildtype seçeneği
complete,minimal gibi seçenekler alabilir.
Örnek - complete
Şöyle yaparız.
b2 --toolset=msvc-14.0 --build-type=complete architecture=x86 address-model=64
  stage 
Örnek - minimal
Şöyle yaparız.
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static
  threading=multi runtime-link=shared --build-type=minimal stage
  --stagedir=stage/x64
Örnek - minimal
Şöyle yaparız.
b2 -j8 toolset=msvc-15.0 address-model=64 architecture=x86 link=shared
threading=multi runtime-link=shared --with-thread --build-type=minimal stage
cxxflags seçeneği
Şöyle yaparız.
b2 toolset=gcc cxxflags="-std=c++11" $* > build.log
headers seçeneği
Modular boost kuruyorsak şöyle yaparız.
./bootstrap.sh
./b2 headers
install seçeneği
--prefix ile kurulumun yapılmasını istediğimiz dizini belirtiriz. Şöyle yaparız.
b2 toolset=gcc install --prefix=/home/user/boost
Şöyle yaparız.
b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=C:\Boost\x64 install
-j seçeneği
Şöyle yaparız.
b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64
Şöyle yaparız.
./b2 -j5 link=static
layout seçeneği
Açıklaması şöyle, versioned, tagged, system seçenekleri var.
#   --layout=<layout>       Determines whether to choose library names
#                           and header locations such that multiple
#                           versions of Boost or multiple compilers can
#                           be used on the same system.
#
#                               versioned - Names of boost binaries
#                               include the Boost version number, name and
#                               version of the compiler and encoded build
#                               properties.  Boost headers are installed in a
#                               subdirectory of <HDRDIR> whose name contains
#                               the Boost version number.
#
#                               tagged -- Names of boost binaries include the
#                               encoded build properties such as variant and
#                               threading, but do not including compiler name
#                               and version, or Boost version. This option is
#                               useful if you build several variants of Boost,
#                               using the same compiler.
#
#                               system - Binaries names do not include the
#                               Boost version number or the name and version
#                               number of the compiler.  Boost headers are
#                               installed directly into <HDRDIR>.  This option
#                               is intended for system integrators who are
#                               building distribution packages.
#
#                           The default value is 'versioned' on Windows, and
#                           'system' on Unix.
tagged
Çıktının -mt.so olmasını sağlar.
Örnek
Şöyle yaparız.
./b2 --layout=tagged --with-timer variant=release link=static
Çıktı kütüphanelerinin şöyle olmasını sağlar.
libboost_chrono-mt.lib
Örnek
Şöyle yaparız.
./b2 --without-mpi --without-python --without-iostreams
--layout=tagged threading=multi link=shared runtime-link=shared
link=static install
Çıktı olarak şunu alırız
libboost_regex.a
libboost_regex-mt.a
libboost_regex-mt.so@
libboost_regex-mt.so.1.63.0*
libboost_regex.so@
libboost_regex.so.1.63.0*
system
Çıktı kütüphanesinin şöyle olmasını sağlar.
libboost_log.dll
versioned
Şöyle yaparız.
b2 --build-dir=build toolset=msvc-12.0 address-model=64 threading=single
link=shared,static variant=debug,release -j 12 --layout=versioned --stagedir=msvc
Çıktı kütüphanelerin şöyle olmasını sağlar. Dosya ismine vc120 gibi ekler.
boost_date_time-vc120-mt-gd-1_62.dll
ABI seçeneklerinin açıklaması şöyle
s – linking statically to the C++ standard library and compiler runtime support libraries.
g – using debug versions of the standard and runtime support libraries.
y – using a special debug build of Python.
d – building a debug version of your code.
p – using the STLPort standard library rather than the default one supplied with your compiler.
Şu dosyadaki gd debug version anlamına gelir.
libboost_chrono-vc140-mt-gd-1_62.lib
Release kodunda şu dosyayı kullanırız.
libboost_chrono-vc140-mt-1_62.lib
link seçeneği
static,shared seçenekleri kullanılabilir.
Sadece static (.a) uzantısına sahip kütüphaneler için şöyle yaparız.
b2 toolset=msvc-14.0 link=static --build-type=complete architecture=x86 -j8
Dinamik (.so) ve static (.a) uzantısına sahip kütüphaneler için şöyle yaparız.
b2 link=static,shared <other_flags>
reconfigure seçeneği
Eğer bzip2 gibi bir kütüphane sonradan kurulduysa şöyle yaparız.
b2 --reconfigure
runtime-link seçeneği
Şöyle yaparız.
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static
  threading=multi runtime-link=shared --build-type=minimal stage
  --stagedir=stage/x64
--show-libraries
Şöyle yaparız.
./b2 --show-libraries
  - atomic
  - chrono
  - container
  - context
  - coroutine
  - coroutine2
  - date_time
  - exception
  - fiber
  - filesystem
  - graph
  - graph_parallel
  - iostreams
  - locale
  - log
  - math
  - metaparse
  - mpi
  - program_options
  - python
  - random
  - regex
  - serialization
  - signals
  - system
  - test
  - thread
  - timer
  - type_erasure
  - wave
stage
Şöyle yaparız
--stagedir=stage\x64-static-python35 stage
stagedir seçeneği
Şöyle yaparız.
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static
  threading=multi runtime-link=shared --build-type=minimal stage
  --stagedir=stage/x64
threading seçeneği
single,multi seçenekleri kullanılabilir.

Şöyle yaparız.
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static
  threading=multi runtime-link=shared --build-type=minimal stage
  --stagedir=stage/x64
Şöyle yaparız.
b2 link=static,shared threading=single,multi
toolset seçeneği
clang,gcc,gcc-arm, msvc-14.0 gibi seçenekler kullanılabilir.

Şöyle yaparız.
b2 toolset=gcc-arm target-os=linux link=static runtime-link=dynamic
threading=multi --build-type=complete --build-dir=boost-build --stage-dir=stage
--debug-configuration --debug-building --debug-generator
Şöyle yaparız.
b2 --build-type=minimal --layout=system toolset=clang variant=release
link=shared threading=multi runtime-link=shared stage
Şöyle yaparız.
b2 --toolset=gcc-4.9 stage
Şöyle yaparız.
b2 toolset=gcc cxxflags=-std=c++1y -a
Şöyle yaparız.
b2 --toolset=msvc-14.0 
variant seçeneği
Sadece release için şöyle yaparız.
b2.exe ... variant=release
Debug ve releasse için şöyle yaparız.
b2 -j8 --build-dir=build               toolset=msvc-14.0 variant=debug,release
link=shared threading=multi runtime-link=shared                  stage
b2 -j8 --build-dir=build --buildid=x64 toolset=msvc-14.0 variant=debug,release
link=shared threading=multi runtime-link=shared address-model=64 stage
--with-<library> seçeneği
 Sadece belli kütüphaneleri derlemek için -with-<library> komutu çalıştırılır.
Örnek
exception kütüphanesini derlemek için şöyle yaparız.
b2 link=shared runtime-link=shared --with-exception
Örnek
filesystem icin --with-filesystem yaparız

Örnek
iostreams kütüphanesini derlemek için şöyle yaparız
b2 --with-iostreams
Örnek
Bzip ve Zlib kütüphanelerini belirtmek için şöyle yaparız.
b2 --with-iostreams -s BZIP2_SOURCE=/opt/bzip2 -s ZLIB_SOURCE=/opt/zlib

Örnek
python kütüphanesi için şöyle yaparız.
b2 --with-python python-debugging=off threading=multi variant=debug
Şöyle yaparız.
.\b2 --prefix=c:\boost --build-dir=boost_build --layout=versioned
  toolset=msvc-14.1 address-model=64 -j4 --with-python -a --reconfigure
  --stage-dir=stage --build-type=complete --debug-configuration -d2 stage
>build.log 2>&1
Örnek
system için şöyle yaparız.
./b2 install --with-system --with-python
Örnek
timer için şöyle yaparız.
./b2 --with-timer variant=release link=static
Örnek
thread kütüphanesi için şöyle yaparız.
b2.exe --with-thread --build-type=complete toolset=msvc-12.0 architecture=x86
 address -model=64 stage
--without-<library> seçeneği
Şöyle yaparız.
--without-python

Hiç yorum yok:

Yorum Gönder