mirror of
https://github.com/mangosfour/server.git
synced 2025-12-30 10:37:12 +00:00
You should add two libraries into your server binaries: tbb.so/tbbmalloc.so on *nix and tbb(_debug).dll/tbbmalloc(_debug).dll on Windows!!! Define USE_STANDARD_MALLOC while compiling 'framework' project to use OS' default memory allocator! Signed-off-by: Ambal <pogrebniak@gala.net>
84 lines
3.2 KiB
C++
84 lines
3.2 KiB
C++
/*
|
|
Copyright 2005-2009 Intel Corporation. All Rights Reserved.
|
|
|
|
This file is part of Threading Building Blocks.
|
|
|
|
Threading Building Blocks is free software; you can redistribute it
|
|
and/or modify it under the terms of the GNU General Public License
|
|
version 2 as published by the Free Software Foundation.
|
|
|
|
Threading Building Blocks is distributed in the hope that it will be
|
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Threading Building Blocks; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
As a special exception, you may use this file as part of a free software
|
|
library without restriction. Specifically, if other files instantiate
|
|
templates or use macros or inline functions from this file, or you compile
|
|
this file and link it with other files to produce an executable, this
|
|
file does not by itself cause the resulting executable to be covered by
|
|
the GNU General Public License. This exception does not however
|
|
invalidate any other reasons why the executable file might be covered by
|
|
the GNU General Public License.
|
|
*/
|
|
|
|
#ifndef __TBB_tbb_windef_H
|
|
#error Do not #include this file directly. Use "#include tbb/tbb_stddef.h" instead.
|
|
#endif /* __TBB_tbb_windef_H */
|
|
|
|
// Check that the target Windows version has all API calls requried for TBB.
|
|
// Do not increase the version in condition beyond 0x0500 without prior discussion!
|
|
#if defined(_WIN32_WINNT) && _WIN32_WINNT<0x0400
|
|
#error TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0400 or greater.
|
|
#endif
|
|
|
|
#if !defined(_MT)
|
|
#error TBB requires linkage with multithreaded C/C++ runtime library. \
|
|
Choose multithreaded DLL runtime in project settings, or use /MD[d] compiler switch.
|
|
#elif !defined(_DLL)
|
|
#pragma message("Warning: Using TBB together with static C/C++ runtime library is not recommended. " \
|
|
"Consider switching your project to multithreaded DLL runtime used by TBB.")
|
|
#endif
|
|
|
|
// Workaround for the problem with MVSC headers failing to define namespace std
|
|
namespace std {
|
|
using ::size_t; using ::ptrdiff_t;
|
|
}
|
|
|
|
#define __TBB_STRING_AUX(x) #x
|
|
#define __TBB_STRING(x) __TBB_STRING_AUX(x)
|
|
|
|
// Default setting of TBB_USE_DEBUG
|
|
#ifdef TBB_USE_DEBUG
|
|
# if TBB_USE_DEBUG
|
|
# if !defined(_DEBUG)
|
|
# pragma message(__FILE__ "(" __TBB_STRING(__LINE__) ") : Warning: Recommend using /MDd if compiling with TBB_USE_DEBUG!=0")
|
|
# endif
|
|
# else
|
|
# if defined(_DEBUG)
|
|
# pragma message(__FILE__ "(" __TBB_STRING(__LINE__) ") : Warning: Recommend using /MD if compiling with TBB_USE_DEBUG==0")
|
|
# endif
|
|
# endif
|
|
#else
|
|
# ifdef _DEBUG
|
|
# define TBB_USE_DEBUG 1
|
|
# endif
|
|
#endif
|
|
|
|
#if __TBB_BUILD && !defined(__TBB_NO_IMPLICIT_LINKAGE)
|
|
#define __TBB_NO_IMPLICIT_LINKAGE 1
|
|
#endif
|
|
|
|
#if _MSC_VER
|
|
#if !__TBB_NO_IMPLICIT_LINKAGE
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "tbb_debug.lib")
|
|
#else
|
|
#pragma comment(lib, "tbb.lib")
|
|
#endif
|
|
#endif
|
|
#endif
|