Merge branch 'hotfix-1.3' into develop

This commit is contained in:
Jinhao
2016-06-24 03:06:23 +08:00
9 changed files with 286 additions and 132 deletions

View File

@@ -35,7 +35,10 @@
* - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1)
* - STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED (MinGW with GCC < 4.8.1)
* - STD_TO_STRING_NOT_SUPPORTED (MinGW with GCC < 4.8)
*/
* - STD_FILESYSTEM_NOT_SUPPORTED (GCC < 5.3) ....
* - CXX_NO_INLINE_NAMESPACE (Visual C++ < 2015)
* - STD_MAKE_UNIQUE_NOT_SUPPORTED (GCC < 4.9)
*/
#ifndef NANA_CXX_DEFINES_INCLUDED
#define NANA_CXX_DEFINES_INCLUDED
@@ -53,9 +56,8 @@
#
# define CXX_NO_INLINE_NAMESPACE //no support of C++11 inline namespace until Visual C++ 2015
# define noexcept //no support of noexcept until Visual C++ 2015
# define constexpr //no support of constexpr until Visual C++ 2015
# else
# undef STD_FILESYSTEM_NOT_SUPPORTED
# define constexpr const //no support of constexpr until Visual C++ 2015 ? const ??
# endif
#elif defined(__GNUC__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
@@ -146,6 +148,7 @@
#if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) )
# undef STD_FILESYSTEM_NOT_SUPPORTED
/// \todo define the namespace ????
#endif
#if (__GNUC__ == 4)

View File

@@ -112,7 +112,7 @@
#endif
#if !defined(STOP_VERBOSE_PREPROCESSOR)
#define STOP_VERBOSE_PREPROCESSOR
//#define STOP_VERBOSE_PREPROCESSOR
#endif
#endif // NANA_IGNORE_CONFIG

View File

@@ -17,9 +17,7 @@
#include <nana/push_ignore_diagnostic>
#include <nana/config.hpp>
#if defined(VERBOSE_PREPROCESSOR)
#include <nana/verbose_preprocessor.hpp>
#endif
#include <stdexcept>
#include <nana/charset.hpp>

View File

@@ -29,6 +29,10 @@
#include <nana/config.hpp>
#define NANA_USING_NANA_FILESYSTEM false
#define NANA_USING_STD_FILESYSTEM false
#define NANA_USING_BOOST_FILESYSTEM false
#if (defined(NANA_FILESYSTEM_FORCE) || ( (defined(STD_FILESYSTEM_NOT_SUPPORTED) && !defined(BOOST_FILESYSTEM_AVAILABLE)) && !(defined(BOOST_FILESYSTEM_FORCE) || defined(STD_FILESYSTEM_FORCE)) ) )
# include <nana/filesystem/filesystem.hpp>
@@ -42,7 +46,8 @@ namespace std {
# else
using namespace nana::experimental::filesystem::v1;
# endif
#undef NANA_USING_NANA_FILESYSTEM
#define NANA_USING_NANA_FILESYSTEM true
} // filesystem
} // experimental
} // std
@@ -56,12 +61,17 @@ namespace std {
namespace experimental {
namespace filesystem {
using namespace boost::filesystem;
#undef NANA_USING_BOOST_FILESYSTEM
#define NANA_USING_BOOST_FILESYSTEM true
} // filesystem
} // experimental
} // std
#else
# include <experimental/filesystem>
# include <experimental/filesystem>
#undef NANA_USING_STD_FILESYSTEM
#define NANA_USING_STD_FILESYSTEM true
#endif
#ifndef __cpp_lib_experimental_filesystem

View File

@@ -11,8 +11,8 @@
*
* @brief show the values of configuration constants during compilation to facilitate build debugging.
*
* Set VERBOSE_PREPROCESSOR to 1 to show the messages or to 0 for a normal build.
* Normally set to 0. Set to 1 only in case you want to debug the build system because it is extremely repetitive and slow.
* Define VERBOSE_PREPROCESSOR to show the messages or undefine for a normal build.
* Normally undefined. Define in case you want to debug the build system.
*
* @authors Ariel Vina-Rodriguez (qPCR4vir)
*
@@ -25,25 +25,107 @@
#if defined(VERBOSE_PREPROCESSOR)
#include <nana/config.hpp>
#include <nana/deploy.hpp>
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#pragma message ( "\nVerbose preprocessor =" STRING(VERBOSE_PREPROCESSOR)" , \n STOP_VERBOSE_PREPROCESSOR=" STRING(STOP_VERBOSE_PREPROCESSOR) )
#define SHOW_VALUE(x) " " #x " = " STRING2(x)
#pragma message ( "\nWindows: \n _WIN32=" STRING(_WIN32) ", \n __WIN32__ =" STRING(__WIN32__) " , \n WIN32=" STRING(WIN32)" , \n NANA_WINDOWS=" STRING(NANA_WINDOWS) )
#pragma message ( "\n -----> Verbose preprocessor" )
#pragma message ( SHOW_VALUE(VERBOSE_PREPROCESSOR) )
#pragma message ( SHOW_VALUE(STOP_VERBOSE_PREPROCESSOR) )
#pragma message ( "\nUNICODE: \n NANA_UNICODE=" STRING(NANA_UNICODE) ", \n _UNICODE =" STRING(_UNICODE) " , \n UNICODE=" STRING(UNICODE) )
#pragma message ( "\n -----> OS: \n --Windows: " )
#pragma message ( SHOW_VALUE(_WIN32) )
#pragma message ( SHOW_VALUE(__WIN32__) )
#pragma message ( SHOW_VALUE(WIN32) )
#pragma message ( SHOW_VALUE(NANA_WINDOWS) )
#pragma message ( "\nMinGW: \n __MINGW32__=" STRING(__MINGW32__) ", \n __MINGW64__=" STRING(__MINGW64__) " , \n MINGW=" STRING(MINGW) )
#pragma message ( "\n ---NIX: " )
#pragma message ( SHOW_VALUE(NANA_LINUX) )
#pragma message ( SHOW_VALUE(NANA_POSIX) )
#pragma message ( SHOW_VALUE(NANA_X11) )
#pragma message ( SHOW_VALUE(APPLE) )
#pragma message ( SHOW_VALUE(NANA_IGNORE_CONF) )
#pragma message ( "\nGNU: \n __GNUC__=" STRING(__GNUC__) ", \n __GNUC_MINOR__=" STRING(__GNUC_MINOR__) " , \n __GNUC_PATCHLEVEL__=" STRING(__GNUC_PATCHLEVEL__) )
#pragma message ( "\nSTD: \nSTD_CODECVT_NOT_SUPPORTED=" STRING(STD_CODECVT_NOT_SUPPORTED) " , \nSTD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( "\n -----> Compilers: \n MinGW: " )
#pragma message ( SHOW_VALUE(__MINGW32__) )
#pragma message ( SHOW_VALUE(__MINGW64__) )
#pragma message ( SHOW_VALUE(MINGW) )
#pragma message ( "\nSTD: \nUSE_github_com_meganz_mingw_std_threads=" STRING(USE_github_com_meganz_mingw_std_threads) " , \nSTD_THREAD_NOT_SUPPORTED=" STRING(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( "\n ---MSC: " )
#pragma message ( SHOW_VALUE(_MSC_VER) )
#pragma message ( SHOW_VALUE(_MSC_FULL_VER) )
#pragma message ( "\nClang compiler: \n__clang__=" STRING(__clang__) ", \n__GLIBCPP__=" STRING(__GLIBCPP__) " , \n__GLIBCXX__=" STRING(__GLIBCXX__) )
#pragma message ( "\n ---GNU: " )
#pragma message ( SHOW_VALUE(__GNUC__) )
#pragma message ( SHOW_VALUE(__GNUC_MINOR__) )
#pragma message ( SHOW_VALUE(__GNUC_PATCHLEVEL__) )
#pragma message ( "\nMSC: \n_MSC_VER=" STRING(_MSC_VER) ", \n_MSC_FULL_VER=" STRING(_MSC_FULL_VER ) )
#pragma message ( "\n ---Clang compiler: " )
#pragma message ( SHOW_VALUE(__clang__) )
#pragma message ( SHOW_VALUE(__GLIBCPP__) )
#pragma message ( SHOW_VALUE(__GLIBCXX__) )
#pragma message ( "\n -----> STD: " )
#pragma message ( SHOW_VALUE(STD_CODECVT_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_NUMERIC_CONVERSIONS_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_TO_STRING_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_TO_WSTRING_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(USE_github_com_meganz_mingw_std_threads) )
#pragma message ( SHOW_VALUE(NANA_ENABLE_MINGW_STD_THREADS_WITH_MEGANZ) )
#pragma message ( SHOW_VALUE(STD_THREAD_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_put_time_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_MAKE_UNIQUE_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_FILESYSTEM_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_AVAILABLE) )
#pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(STD_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(NANA_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(CXX_NO_INLINE_NAMESPACE) )
//#pragma message ( SHOW_VALUE(__has_include) )
#pragma message ( SHOW_VALUE(__cpp_lib_experimental_filesystem) )
#pragma message ( SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) )
#pragma message ( SHOW_VALUE(NANA_USING_STD_FILESYSTEM) )
#pragma message ( SHOW_VALUE(NANA_USING_BOOST_FILESYSTEM) )
#pragma message ( "\n#include <nana/filesystem/filesystem_selector.hpp> " )
#include <nana/filesystem/filesystem_selector.hpp>
#pragma message ( SHOW_VALUE(STD_MAKE_UNIQUE_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(STD_FILESYSTEM_NOT_SUPPORTED) )
#pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_AVAILABLE) )
#pragma message ( SHOW_VALUE(BOOST_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(STD_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(NANA_FILESYSTEM_FORCE) )
#pragma message ( SHOW_VALUE(CXX_NO_INLINE_NAMESPACE) )
//#pragma message ( SHOW_VALUE(__has_include) )
#pragma message ( SHOW_VALUE(__cpp_lib_experimental_filesystem) )
#pragma message ( SHOW_VALUE(NANA_USING_NANA_FILESYSTEM) )
#pragma message ( SHOW_VALUE(NANA_USING_STD_FILESYSTEM) )
#pragma message ( SHOW_VALUE(NANA_USING_BOOST_FILESYSTEM) )
#pragma message ( SHOW_VALUE(NANA_UNICODE) )
#pragma message ( SHOW_VALUE(_UNICODE) )
#pragma message ( SHOW_VALUE(UNICODE) )
#pragma message ( "\n -----> Libraries: " )
#pragma message ( SHOW_VALUE(NANA_ENABLE_AUDIO) )
#pragma message ( SHOW_VALUE(NANA_ENABLE_PNG) )
#pragma message ( SHOW_VALUE(USE_LIBPNG_FROM_OS) )
#pragma message ( SHOW_VALUE(NANA_LIBPNG) )
#pragma message ( SHOW_VALUE(NANA_ENABLE_JPEG) )
#pragma message ( SHOW_VALUE(USE_LIBJPEG_FROM_OS) )
#pragma message ( SHOW_VALUE(NANA_LIBJPEG) )
// #pragma message ( "\n =" STRING() ", \n =" STRING()" , \n =" STRING() )
#if defined(STOP_VERBOSE_PREPROCESSOR)
#error ("\nCompilation stopped to avoid annoying messages")
@@ -52,5 +134,4 @@
#endif // VERBOSE_PREPROCESSOR
#endif //NANA_VERBOSE_PREPROCESSOR_H