Skip to content

eladraz/xStl

Repository files navigation

unmaintained build status coverity status

xStl

xStl is a cross-compile, cross-platform C++ library that implements a set of generic templates for easy development. The library includes an easy abstraction layer for OS-dependent code.

Requirements

Windows

Need Visual Studio Express 2010 or higher, or Visual Studio 2010 or higher.

Ubuntu (Debian)

sudo apt-get install automake autoconf libtool build-essential git-core

CentOS/Fedora/Redhat

  • Building tools sudo yum install autoconf automake gcc-c++ sudo dnf install autoconf automake gcc-c++

Some distributions of CentOS have a problem with libstd++ (need to check). For some reason the symbol __cxa_get_exception_ptr is not defined.

ArchLinux

  • Building tools sudo pacman -S base-devel automake autoconf git sudo pacman -S gcc-multilib libtool-multilib binutils-multilib

Cygwin

Install cygwin with the following packages:

  • gcc
  • g++
  • automake
  • autoconf
  • libtool

Setting Up Environment

Git

git clone https://github.com/eladraz/xStl

How to Build

CMake

CMake is cross-compile system for many platform and many system. You can read about it more here

Here is a quick example on how to run xStl with ninja build:

mkdir build
cd build
cmake -G Ninja ..
ninja -j

Windows

In order to pass variable arguments to Visual Studio, you need to declare the following system argument:

  • XSTL_PATH (for example: C:\WORK\github\xStl)

To add system variables you should:

  • Right-click My Computer, and then click Properties.
  • Click the Advanced tab.
  • Click Environment variables.
  • Click one the following options, for either a user or a system variable:
    • Click New to add a new variable name (e.g. XSTL_PATH) and value (e.g. C:\WORK\github\xStl).
    • Click an existing variable, and then click Edit to change its name or value.
    • Click an existing variable, and then click Delete to remove it.

In order to build the xStl library, open xStl.sln solution project with Visual Studio. In Visual Studio's configuration manager, choose the desired build configuration (Win32/x64/Debug/Release) and build xStl or xStl_test.

Linux

Compilation Shortcut (build.sh script)

In order to compile xStl you can simply run build.sh:

#/bin/sh
PWD=`pwd`
./autogen.sh && ./configure [--prefix=${PWD}/out] [--enable-debug] [--enable-unicode] [--enable-tests] && make -j4 && make install

Compile

  1. Run ./autogen.sh in order to generate Makefile configure script.
  2. Run ./configure to generate Makefile (see Configure Argument section, below).
  3. Run make and make install.

Configure Argument

  • --enable-debug Compile with debugging flags
  • --enable-unicode Compile with UNICODE support
  • --enable-tests Compile xStl_tests

Cross-Compile

In order to cross-compile (ARM, for example):

./autogen.sh
./configure --build= --host=arm-none-linux-gnueabi

Please note that it is important to have a PATH to the cross-compiler bin folder (e.g. arm-none-linux-gnueabi-g++).

License

Please see LICENSE file

About

xStl is a cross-compile, cross-platform C++ library that implements a set of generic templates for easy development.

Resources

License

BSD-3-Clause, Unknown licenses found

Licenses found

BSD-3-Clause
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages