@@ -31,6 +31,19 @@ AC_TRY_LINK([], [], | |||||
AC_MSG_ERROR([[C++ compiler cannot link executables]])]) | AC_MSG_ERROR([[C++ compiler cannot link executables]])]) | ||||
AC_LANG_POP(C++) | AC_LANG_POP(C++) | ||||
dnl C++11 mode. Checked early so that we don't run into surprises. | |||||
LOL_TRY_CXXFLAGS(-std=c++11, | |||||
[AM_CXXFLAGS="${AM_CXXFLAGS} -std=c++11" | |||||
CXXFLAGS="${CXXFLAGS} -std=c++11"]) | |||||
AC_LANG_PUSH(C++) | |||||
AC_MSG_CHECKING(for C++11 enum class support) | |||||
AC_TRY_LINK([], [enum class Foo : int { Bar, Baz };], | |||||
[AC_MSG_RESULT(yes)], | |||||
[AC_MSG_RESULT(no) | |||||
AC_MSG_ERROR([[C++ compiler does not support C++11 enum classes]])]) | |||||
AC_LANG_POP(C++) | |||||
AC_LIBTOOL_WIN32_DLL | AC_LIBTOOL_WIN32_DLL | ||||
AM_PROG_LIBTOOL | AM_PROG_LIBTOOL | ||||
AC_LIBTOOL_CXX | AC_LIBTOOL_CXX | ||||
@@ -81,12 +94,6 @@ AC_ARG_ENABLE(doc, | |||||
[ --enable-doc build documentation (needs doxygen and LaTeX)]) | [ --enable-doc build documentation (needs doxygen and LaTeX)]) | ||||
dnl C++11 mode. Checked early so that we don't run into surprises. | |||||
LOL_TRY_CXXFLAGS(-std=c++11, | |||||
[AM_CXXFLAGS="${AM_CXXFLAGS} -std=c++11" | |||||
CXXFLAGS="${CXXFLAGS} -std=c++11"]) | |||||
dnl Common C headers | dnl Common C headers | ||||
AC_CHECK_HEADERS(stdio.h stdarg.h inttypes.h endian.h stdint.h getopt.h math.h) | AC_CHECK_HEADERS(stdio.h stdarg.h inttypes.h endian.h stdint.h getopt.h math.h) | ||||
AC_CHECK_HEADERS(fastmath.h pthread.h libutil.h util.h pty.h glob.h unistd.h io.h) | AC_CHECK_HEADERS(fastmath.h pthread.h libutil.h util.h pty.h glob.h unistd.h io.h) | ||||
@@ -47,7 +47,11 @@ Map<int64_t, String> BuildEnumMap(char const *str) | |||||
++parser; | ++parser; | ||||
if (*parser && *parser != ',') | if (*parser && *parser != ',') | ||||
{ | { | ||||
#if defined _WIN32 | |||||
current_value = _strtoi64(parser, nullptr, 0); | |||||
#else | |||||
current_value = strtoll(parser, nullptr, 0); | current_value = strtoll(parser, nullptr, 0); | ||||
#endif | |||||
while (*parser && *parser != ' ' && *parser != ',') | while (*parser && *parser != ' ' && *parser != ',') | ||||
++parser; | ++parser; | ||||
@@ -1,25 +1,25 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
// http://www.wtfpl.net/ for more details. | // http://www.wtfpl.net/ for more details. | ||||
// | // | ||||
#if defined HAVE_CONFIG_H | |||||
#if defined(HAVE_CONFIG_H) | |||||
# include "config.h" | # include "config.h" | ||||
#endif | #endif | ||||
#include <cstdio> | #include <cstdio> | ||||
#ifdef WIN32 | |||||
#if defined(_WIN32) | |||||
# define WIN32_LEAN_AND_MEAN | # define WIN32_LEAN_AND_MEAN | ||||
# include <windows.h> | # include <windows.h> | ||||
#endif | #endif | ||||
#if defined __ANDROID__ | |||||
#if defined(__ANDROID__) | |||||
# include <android/log.h> | # include <android/log.h> | ||||
# include <unistd.h> /* for gettid() */ | # include <unistd.h> /* for gettid() */ | ||||
#else | #else | ||||
@@ -1,20 +1,20 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
// http://www.wtfpl.net/ for more details. | // http://www.wtfpl.net/ for more details. | ||||
// | // | ||||
#if defined HAVE_CONFIG_H | |||||
#if HAVE_CONFIG_H | |||||
# include "config.h" | # include "config.h" | ||||
#endif | #endif | ||||
#include <cstdio> | #include <cstdio> | ||||
#ifdef WIN32 | |||||
#if defined(_WIN32) | |||||
# define WIN32_LEAN_AND_MEAN | # define WIN32_LEAN_AND_MEAN | ||||
# include <windows.h> | # include <windows.h> | ||||
#endif | #endif | ||||
@@ -2,7 +2,7 @@ | |||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2009-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | // Copyright: (c) 2009-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | ||||
// (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// (c) 2009-2013 Cédric Lecacheur <jordx@free.fr> | // (c) 2009-2013 Cédric Lecacheur <jordx@free.fr> | ||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
@@ -33,7 +33,7 @@ struct MeshBuildOperation | |||||
ADD_VALUE_SET(PostBuildComputeNormals , (1 << 5)) | ADD_VALUE_SET(PostBuildComputeNormals , (1 << 5)) | ||||
ADD_VALUE_SET(PreventVertCleanup , (1 << 6)) | ADD_VALUE_SET(PreventVertCleanup , (1 << 6)) | ||||
ADD_VALUE_SET(All , 0xffffffff) | |||||
ADD_VALUE_SET(All , 0xffff) | |||||
END_E_VALUE | END_E_VALUE | ||||
LOL_DECLARE_ENUM_METHODS(MeshBuildOperation) | LOL_DECLARE_ENUM_METHODS(MeshBuildOperation) | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -15,7 +15,7 @@ | |||||
#include <cstring> | #include <cstring> | ||||
#include <cstdio> | #include <cstdio> | ||||
#if defined WIN32 && !defined _XBOX | |||||
#if defined(_WIN32) && !defined(_XBOX) | |||||
# define WIN32_LEAN_AND_MEAN | # define WIN32_LEAN_AND_MEAN | ||||
# include <windows.h> | # include <windows.h> | ||||
# if defined USE_D3D9 | # if defined USE_D3D9 | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -14,7 +14,7 @@ | |||||
#include <cstdlib> | #include <cstdlib> | ||||
#if WIN32 | |||||
#if defined(_WIN32) | |||||
# define WIN32_LEAN_AND_MEAN 1 | # define WIN32_LEAN_AND_MEAN 1 | ||||
# include <windows.h> | # include <windows.h> | ||||
#endif | #endif | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -20,7 +20,7 @@ | |||||
# include <android/asset_manager_jni.h> | # include <android/asset_manager_jni.h> | ||||
#endif | #endif | ||||
#if WIN32 | |||||
#if defined(_WIN32) | |||||
# define WIN32_LEAN_AND_MEAN 1 | # define WIN32_LEAN_AND_MEAN 1 | ||||
# include <windows.h> | # include <windows.h> | ||||
#else | #else | ||||
@@ -367,7 +367,7 @@ class DirectoryData | |||||
{ | { | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
m_handle = INVALID_HANDLE_VALUE; | m_handle = INVALID_HANDLE_VALUE; | ||||
#elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
m_dd = nullptr; | m_dd = nullptr; | ||||
@@ -379,7 +379,7 @@ class DirectoryData | |||||
m_type = StreamType::File; | m_type = StreamType::File; | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
m_directory = directory; | m_directory = directory; | ||||
String filter = m_directory + String("*"); | String filter = m_directory + String("*"); | ||||
filter.Replace('/', '\\', true); | filter.Replace('/', '\\', true); | ||||
@@ -399,7 +399,7 @@ class DirectoryData | |||||
{ | { | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
FindClose(m_handle); | FindClose(m_handle); | ||||
#elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
closedir(m_dd); | closedir(m_dd); | ||||
@@ -408,7 +408,7 @@ class DirectoryData | |||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
m_handle = INVALID_HANDLE_VALUE; | m_handle = INVALID_HANDLE_VALUE; | ||||
#elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
m_dd = nullptr; | m_dd = nullptr; | ||||
@@ -422,7 +422,7 @@ class DirectoryData | |||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
String filter = m_directory + String("*"); | String filter = m_directory + String("*"); | ||||
filter.Replace('/', '\\', true); | filter.Replace('/', '\\', true); | ||||
WIN32_FIND_DATA find_data; | WIN32_FIND_DATA find_data; | ||||
@@ -458,7 +458,7 @@ class DirectoryData | |||||
{ | { | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
return (m_handle != INVALID_HANDLE_VALUE); | return (m_handle != INVALID_HANDLE_VALUE); | ||||
#elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
return !!m_dd; | return !!m_dd; | ||||
@@ -469,7 +469,7 @@ class DirectoryData | |||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
HANDLE m_handle; | HANDLE m_handle; | ||||
String m_directory; | String m_directory; | ||||
#elif HAVE_STDIO_H | #elif HAVE_STDIO_H | ||||
@@ -592,7 +592,7 @@ String Directory::GetCurrent() | |||||
String result; | String result; | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
TCHAR buff[MAX_PATH * 2]; | TCHAR buff[MAX_PATH * 2]; | ||||
GetCurrentDirectory(MAX_PATH, buff); | GetCurrentDirectory(MAX_PATH, buff); | ||||
result = buff; | result = buff; | ||||
@@ -608,7 +608,7 @@ bool Directory::SetCurrent(String directory) | |||||
{ | { | ||||
#if __CELLOS_LV2__ || __ANDROID__ | #if __CELLOS_LV2__ || __ANDROID__ | ||||
/* FIXME: not implemented */ | /* FIXME: not implemented */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
String result = directory; | String result = directory; | ||||
result.Replace('/', '\\', true); | result.Replace('/', '\\', true); | ||||
return (bool)SetCurrentDirectory(result.C()); | return (bool)SetCurrentDirectory(result.C()); | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // Public License, Version 2, as published by Sam Hocevar. See | ||||
@@ -16,7 +16,7 @@ | |||||
#include <cstdio> | #include <cstdio> | ||||
#include <cstring> | #include <cstring> | ||||
#if defined WIN32 && !defined _XBOX | |||||
#if defined(_WIN32) && !defined(_XBOX) | |||||
# define WIN32_LEAN_AND_MEAN | # define WIN32_LEAN_AND_MEAN | ||||
# include <windows.h> | # include <windows.h> | ||||
# if defined USE_D3D9 | # if defined USE_D3D9 | ||||
@@ -2,7 +2,7 @@ | |||||
// | // | ||||
// Lol Engine - EasyMesh tutorial | // Lol Engine - EasyMesh tutorial | ||||
// | // | ||||
// Copyright: (c) 2011-2013 Sam Hocevar <sam@hocevar.net> | |||||
// Copyright: (c) 2011-2014 Sam Hocevar <sam@hocevar.net> | |||||
// (c) 2012-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | // (c) 2012-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | ||||
// This program is free software; you can redistribute it and/or | // This program is free software; you can redistribute it and/or | ||||
// modify it under the terms of the Do What The Fuck You Want To | // modify it under the terms of the Do What The Fuck You Want To | ||||
@@ -662,7 +662,7 @@ public: | |||||
// MessageService::Send(MessageBucket::AppIn, "[sc#ff8 afcb 1 1 1 0]"); | // MessageService::Send(MessageBucket::AppIn, "[sc#ff8 afcb 1 1 1 0]"); | ||||
} | } | ||||
*/ | */ | ||||
#elif WIN32 | |||||
#elif defined(_WIN32) | |||||
//-- | //-- | ||||
//File management | //File management | ||||
//-- | //-- | ||||