Skip to content

Commit

Permalink
Release 1.11 preparations
Browse files Browse the repository at this point in the history
  • Loading branch information
tribal-tec committed Jul 7, 2015
1 parent 09b404a commit c729c1c
Show file tree
Hide file tree
Showing 35 changed files with 203 additions and 429 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ CMakeLists.txt.user*
CMake/common
build/
___*
Servus/
2 changes: 1 addition & 1 deletion .gitsubprojects
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# -*- mode: cmake -*-
git_subproject(Servus https://github.com/HBPVIS/Servus.git 47ea29d)
git_subproject(Servus https://github.com/HBPVIS/Servus.git 0e1db45)
4 changes: 2 additions & 2 deletions CMake/Lunchbox.spec
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
Name: Lunchbox
Version: 1.12.0
Version: 1.11.0
Release: 1%{?dist}
Summary: Multi-threaded C++ toolbox library for all application developers creating high-performance multi-threaded programs.

Group: Development/Libraries
License: LGPL
URL: http://www.equalizergraphics.com/
Source0: http://www.equalizergraphics.com/downloads/Lunchbox-%{version}.tar.gz
#Patch0: Lunchbox-1.12.0-build-fix.patch
#Patch0: Lunchbox-1.11.0-build-fix.patch
BuildRequires: cmake boost-devel

%description
Expand Down
5 changes: 2 additions & 3 deletions CMake/LunchboxCPack.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ mark_as_advanced(LUNCHBOX_PACKAGE_VERSION)

set(CPACK_PACKAGE_VENDOR "www.eyescale.ch")
set(CPACK_PACKAGE_CONTACT "Stefan Eilemann <[email protected]>")
set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/doc/RelNotes.md)
set(CPACK_RESOURCE_FILE_README ${PROJECT_SOURCE_DIR}/doc/RelNotes.md)
set(CPACK_PACKAGE_DESCRIPTION_FILE ${PROJECT_SOURCE_DIR}/doc/Changelog.md)
set(CPACK_RESOURCE_FILE_README ${PROJECT_SOURCE_DIR}/README.md)

set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libstdc++6, libboost-regex-dev, libboost-serialization-dev, libavahi-compat-libdnssd1, libhwloc-dev, libturbojpeg")
Expand All @@ -16,6 +16,5 @@ set(CPACK_MACPORTS_CATEGORY devel)
set(CPACK_MACPORTS_DEPENDS boost)
set(CPACK_PACKAGE_LICENSE LGPL)

set(CPACK_PACKAGE_LICENSE "LGPL")
include(CommonCPack)
include(OSSCPack)
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake
include(GitExternal)

set(VERSION_MAJOR "1")
set(VERSION_MINOR "12")
set(VERSION_MINOR "11")
set(VERSION_PATCH "0")
set(VERSION_ABI 4)
option(LUNCHBOX_BUILD_V2_API
Expand Down Expand Up @@ -65,6 +65,8 @@ add_subdirectory(lunchbox)
add_subdirectory(tests)
add_subdirectory(doc)

set(DOXYGEN_MAINPAGE_MD README.md)
set(DOXYGEN_EXTRA_INPUT ${PROJECT_SOURCE_DIR}/README.md)
include(DoxygenRule) # must be after all targets
include(LunchboxCPack)
include(PackageConfig)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ LunchBox - a cross-platform C++ library for building multithreaded applications.

LunchBox is licensed under the LGPL, unless noted otherwise, e.g., for external dependencies. See file LGPL.txt for the full license. External dependencies are either LGPL or BSD-licensed. See file ACKNOWLEDGEMENTS.txt and AUTHORS.txt for further details.

Copyright (C) 2005-2012, Eyescale Software GmbH and AUTHORS
Copyright (C) 2005-2015, Eyescale Software GmbH and AUTHORS

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.

Expand Down
90 changes: 56 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,63 @@
# Lunchbox
[TOC]

Welcome to Lunchbox, a C++ library for multi-threaded
programming. Lunchbox was formerly known as eq::base or co::base, the
foundation for the Equalizer parallel rendering framework and the Collage
network library. It is intended for all application developers creating
high-performance multi-threaded programs.
# Introduction {#Introduction}

## Features
Welcome to Lunchbox, a C++ library for multi-threaded programming. Lunchbox was
formerly known as eq::base or co::base, the foundation for the
[Equalizer parallel rendering framework](https://github.com/Eyescale/Equalizer)
and the [Collage network library](https://github.com/Eyescale/Collage). It is
intended for all application developers creating high-performance multi-threaded
programs.

Lunchbox provides the following major features to facilitate the
development and deployment of multi-threaded applications:
* OS Abstraction: Utility classes abstracting common operating systems
features, e.g., threads, locks, memory maps, shared library loading
and condition variables.
* High-Performance Primitives: Thread-safe utilities tuned for
performance, e.g., atomic variables, spin locks and lock-free
containers.
* Utility classes: Helper primitives which are not in the standard
library, e.g., logging, pools and random number generation.

## Downloads

* [Ubuntu Packages Repository](https://launchpad.net/~eilemann/+archive/equalizer/)
* [API Documentation](http://eyescale.github.com/)
* Building from source:
The
[API documentation](http://eyescale.github.io/Lunchbox-1.11/index.html) can be
found on [eyescale.github.io](http://eyescale.github.io/). As with any open
source project, the available source code, in particular the
[unit tests](https://github.com/Eyescale/Lunchbox/tree/1.11/tests) provide a
reference for developing applications.

```
git clone https://github.com/Eyescale/Buildyard.git
cd Buildyard
git clone https://github.com/Eyescale/config.git config.eyescale
make Lunchbox
```
Technical questions can be posted to the Equalizer
[Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev),
or directly to
[[email protected]](mailto:[email protected]?subject=Lunchbox%20question).

### Version 1.6
Commercial support, custom software development and porting services are
available from [Eyescale](http://www.eyescale.ch). Please contact
[[email protected]](mailto:[email protected]?subject=Lunchbox%20support)
for further information.

* [Source Code](http://www.equalizergraphics.com/downloads/Lunchbox-1.6.0.tar.gz)
# Features {#Features}

### Version 1.4

* [Source Code](http://www.equalizergraphics.com/downloads/Lunchbox-1.4.0.tar.gz)
Lunchbox provides the following major features to facilitate the
development and deployment of multi-threaded applications:
* Operating System Abstraction: lunchbox::Atomic, lunchbox::Condition,
lunchbox::DSO, @ref bitops "bit operations", lunchbox::daemonize(),
(lunchbox::Clock, lunchbox::MemoryMap, lunchbox::PerThread, lunchbox::RNG,
lunchbox::Thread)
* High-Performance Threading Primitives: lunchbox::Buffer, lunchbox::LFQueue,
lunchbox::LFVector, lunchbox::Monitor, lunchbox::MTQueue,
lunchbox::RequestHandler, lunchbox::SpinLock, (lunchbox::Lock,
lunchbox::TimedLock)
* Utility classes: lunchbox::Any, lunchbox::Log, lunchbox::Pool,
lunchbox::UnorderedIntervalSet, lunchbox::Future, lunchbox::PersistentMap,
(lunchbox::ScopedMutex)

# Building {#Building}

Lunchbox is a cross-platform library, designed to run on any modern operating
system, including all Unix variants and the Windows operating system. Lunchbox
uses CMake to create a platform-specific build environment. The following
platforms and build environments are tested:

* Linux: Ubuntu 14.04, RHEL 6.6 (Makefile, Ninja)
* Windows: 7 (Visual Studio 2012)
* Mac OS X: 10.8 (Makefile, Ninja)

~~~
git clone https://github.com/Eyescale/Lunchbox.git
cd Lunchbox
mkdir build
cd build
cmake ..
make
~~~
2 changes: 1 addition & 1 deletion doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Copyright (c) 2012 Stefan Eilemann <[email protected]>

install(FILES RelNotes.md ../AUTHORS.txt ../ACKNOWLEDGEMENTS.txt ../LGPL.txt
install(FILES Changelog.md ../AUTHORS.txt ../ACKNOWLEDGEMENTS.txt ../LGPL.txt
../LICENSE.txt DESTINATION ${DOC_DIR} COMPONENT doc)
65 changes: 65 additions & 0 deletions doc/Changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Changelog

# Release 1.11 (07-07-2015) {#Release111}

* [208](https://github.com/Eyescale/Lunchbox/pull/208),
[207](https://github.com/Eyescale/Lunchbox/pull/207):
Pretty log print and denoise
* [206](https://github.com/Eyescale/Lunchbox/pull/206):
Change log level semantics
* [205](https://github.com/Eyescale/Lunchbox/pull/205):
Clean up lunchbox::RNG impl, removed reseed()
* [204](https://github.com/Eyescale/Lunchbox/pull/204):
Added some power of two MB sizes defines
* [200](https://github.com/Eyescale/Lunchbox/pull/200):
Removed uint128_t, URI and Servus from API V2 to
[Servus library](https://github.com/HBPVIS/Servus)
* [193](https://github.com/Eyescale/Lunchbox/pull/193):
lunchbox::PersistentMap Improvements
* [189](https://github.com/Eyescale/Lunchbox/pull/189):
Fix [187](https://github.com/Eyescale/Lunchbox/pull/187):
Package CMake modules in the release tar-ball
* [0026561](https://github.com/Eyescale/Lunchbox/commit/0026561):
Added lunchbox::OMP::getThreadNum
* [178](https://github.com/Eyescale/Lunchbox/pull/178),
[167](https://github.com/Eyescale/Lunchbox/pull/167),
[156](https://github.com/Eyescale/Lunchbox/pull/156):
lunchbox::PluginFactory, a mechanism to register and load plugins
* [177](https://github.com/Eyescale/Lunchbox/pull/177):
Implement lunchbox::getLibraryPath()
* [173](https://github.com/Eyescale/Lunchbox/pull/173):
Move (de)compressor & up/downloader to
[Pression library](https://github.com/Eyescale/Pression)
* [172](https://github.com/Eyescale/Lunchbox/pull/172):
Fix for lunchbox::demangleTypeID
* [171](https://github.com/Eyescale/Lunchbox/pull/171):
Add log topic to log potential bugs
* [163](https://github.com/Eyescale/Lunchbox/pull/163):
LB_LITTLE/BIGENDIAN defines defines
* [158](https://github.com/Eyescale/Lunchbox/pull/158):
Added new comparison methods to Monitor
* [155](https://github.com/Eyescale/Lunchbox/pull/155):
Add lunchbox::getExecutablePath() to find resources based on installation
folder

# Release 1.10 (09-10-2014) {#Release110}

* Added API for continuous browsing to lunchbox::Servus
* Added lunchbox::getHostname function
* Added lunchbox::PersistentMap interface for persistent key-value stores
* Added lunchbox::URI parsing support according to RFC3986
* Added timeout parameter for the Future::wait function
* Improved lunchbox::Servus implementations, supporting continuous browsing and
using the native Avahi API on Linux
* Improved performance of lunchbox::make_uint128()
* Improved thread logging facilities
* OSX 10.9, Win32 builds improved

# Known Bugs {#Bugs}

The following bugs were known at release time. Please file a
[Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find
any other issue with this release.

* [6:](https://github.com/Eyescale/Lunchbox/issues/6)
Condition::timedWait does not wait on early RHEL 6.1 versions
Loading

0 comments on commit c729c1c

Please sign in to comment.