| @@ -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 | ||||
| //-- | //-- | ||||