aboutsummaryrefslogtreecommitdiff
path: root/src/threads.h
blob: 1ea7d0a94c4678a5d88d6e0d96372ec73c782c3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
Minetest-c55
Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program 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 this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#ifndef THREADS_HEADER
#define THREADS_HEADER

#include <jmutex.h>

#if (defined(WIN32) || defined(_WIN32_WCE))
typedef DWORD threadid_t;
#define __NORETURN __declspec(noreturn)
#define __FUNCTION_NAME __FUNCTION__
#else
typedef pthread_t threadid_t;
#define __NORETURN __attribute__ ((__noreturn__))
#define __FUNCTION_NAME __PRETTY_FUNCTION__
#endif

inline threadid_t get_current_thread_id()
{
#if (defined(WIN32) || defined(_WIN32_WCE))
	return GetCurrentThreadId();
#else
	return pthread_self();
#endif
}

#endif

t;) set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E -lm") set(DEFAULT_DLOPEN ON) endif() if(WIN32) #set(BUILD_STATIC OFF) set(BUILD_STATIC ON) else() #option(BUILD_STATIC "build static library" ON) set(BUILD_STATIC ON) endif() if(DEFAULT_DLOPEN) option(LUA_USE_DLOPEN "Enable dlopen support." ON) else() option(LUA_USE_DLOPEN "Enable dlopen support." OFF) endif() mark_as_advanced(LUA_USE_DLOPEN) if(DEFAULT_POSIX) else() endif() if(DEFAULT_ANSI) option(LUA_ANSI "Disable non-ansi features." ON) else() option(LUA_ANSI "Disable non-ansi features." OFF) endif() mark_as_advanced(LUA_ANSI) # # Lua version # set(LUA_VERSION_MAJOR 5) set(LUA_VERSION_MINOR 1) set(LUA_VERSION_PATCH 4) set(LUA_VERSION "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}") set(LUA_SOVERSION "${LUA_VERSION_MAJOR}") # # libs & cflags # set(COMMON_LDFLAGS "${COMMON_LDFLAGS}") # For "Mac OS X 10.3-" if(LUA_USE_MACOSX) set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_MACOSX") set(LUA_USE_DLOPEN FALSE) endif(LUA_USE_MACOSX) if(LUA_USE_DLOPEN) set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_DLOPEN") if(NOT APPLE) set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -ldl ") endif(NOT APPLE) endif(LUA_USE_DLOPEN) if(LUA_ANSI) set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_ANSI") endif(LUA_ANSI) # # COMMON_CFLAGS has no effect without this line # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_CFLAGS}") # # standard flags to use for each build type. # if(CMAKE_COMPILER_IS_GNUCC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wextra -Wshadow -W -pedantic -std=gnu99") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g") set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE} -O1 -g") set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_WITHDEBINFO} -O2 -g") endif(CMAKE_COMPILER_IS_GNUCC) # # sub-folders # ADD_SUBDIRECTORY(src build)