Added Sate output
This commit is contained in:
@ -30,6 +30,14 @@ CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
//CXX compiler
|
||||
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
@ -49,6 +57,14 @@ CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
//C compiler
|
||||
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
@ -204,9 +220,9 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/home/philipp/Programming/RGBcontroller
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=9
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
@ -217,6 +233,10 @@ CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
@ -229,6 +249,10 @@ CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
@ -295,7 +319,7 @@ CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.8
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.9
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
|
@ -1,68 +0,0 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "6.3.1")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1;/usr/lib;/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
@ -1,70 +0,0 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "6.3.1")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1;/usr/lib;/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
Binary file not shown.
Binary file not shown.
@ -1,15 +0,0 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-4.10.13-1-ARCH")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "4.10.13-1-ARCH")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-4.10.13-1-ARCH")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "4.10.13-1-ARCH")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
@ -1,567 +0,0 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
|
||||
#elif defined(__ARMCC_VERSION)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
# if defined(_SGI_COMPILER_VERSION)
|
||||
/* _SGI_COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||
# else
|
||||
/* _COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__sgi)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||
# define PLATFORM_ID "IRIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__)
|
||||
# if defined(_MSC_VER) && !defined(__clang__)
|
||||
# define C_DIALECT "90"
|
||||
# else
|
||||
# define C_DIALECT
|
||||
# endif
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_DIALECT "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_DIALECT "99"
|
||||
#else
|
||||
# define C_DIALECT "90"
|
||||
#endif
|
||||
const char* info_language_dialect_default =
|
||||
"INFO" ":" "dialect_default[" C_DIALECT "]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
Binary file not shown.
@ -1,539 +0,0 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
|
||||
#elif defined(__ARMCC_VERSION)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
# if defined(_SGI_COMPILER_VERSION)
|
||||
/* _SGI_COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||
# else
|
||||
/* _COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__sgi)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||
# define PLATFORM_ID "IRIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
|
||||
#if __cplusplus > 201402L
|
||||
"17"
|
||||
#elif __cplusplus >= 201402L
|
||||
"14"
|
||||
#elif __cplusplus >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
Binary file not shown.
@ -1,68 +0,0 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "7.1.1")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1;/usr/lib;/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
@ -1,70 +0,0 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "7.1.1")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1;/usr/lib;/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
Binary file not shown.
Binary file not shown.
@ -1,15 +0,0 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-4.11.2-1-ARCH")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "4.11.2-1-ARCH")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-4.11.2-1-ARCH")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "4.11.2-1-ARCH")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
@ -1,567 +0,0 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
|
||||
#elif defined(__ARMCC_VERSION)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
# if defined(_SGI_COMPILER_VERSION)
|
||||
/* _SGI_COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||
# else
|
||||
/* _COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__sgi)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||
# define PLATFORM_ID "IRIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__)
|
||||
# if defined(_MSC_VER) && !defined(__clang__)
|
||||
# define C_DIALECT "90"
|
||||
# else
|
||||
# define C_DIALECT
|
||||
# endif
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_DIALECT "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_DIALECT "99"
|
||||
#else
|
||||
# define C_DIALECT "90"
|
||||
#endif
|
||||
const char* info_language_dialect_default =
|
||||
"INFO" ":" "dialect_default[" C_DIALECT "]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
Binary file not shown.
@ -1,539 +0,0 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
|
||||
#elif defined(__ARMCC_VERSION)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
# if defined(_SGI_COMPILER_VERSION)
|
||||
/* _SGI_COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
|
||||
# else
|
||||
/* _COMPILER_VERSION = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__sgi)
|
||||
# define COMPILER_ID "MIPSpro"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
|
||||
# define PLATFORM_ID "IRIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
|
||||
#if __cplusplus > 201402L
|
||||
"17"
|
||||
#elif __cplusplus >= 201402L
|
||||
"14"
|
||||
#elif __cplusplus >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/philipp/Programming/RGBcontroller")
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# The generator used is:
|
||||
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
@ -7,25 +7,92 @@ set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
# The top level Makefile was generated from the following files:
|
||||
set(CMAKE_MAKEFILE_DEPENDS
|
||||
"CMakeCache.txt"
|
||||
"CMakeFiles/3.8.2/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.8.2/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.8.2/CMakeSystem.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeSystem.cmake"
|
||||
"CMakeFiles/feature_tests.c"
|
||||
"CMakeFiles/feature_tests.cxx"
|
||||
"CMakeLists.txt"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeCInformation.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Compiler/GNU-C.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Platform/Linux.cmake"
|
||||
"/usr/share/cmake-3.8/Modules/Platform/UnixPaths.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCCompiler.cmake.in"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCCompilerABI.c"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCInformation.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCXXCompiler.cmake.in"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCXXCompilerABI.cpp"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeCompilerIdDetection.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCXXCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCompileFeatures.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCompilerABI.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineCompilerId.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeDetermineSystem.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeFindBinUtils.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeParseImplicitLinkInfo.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeSystem.cmake.in"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeTestCCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeTestCXXCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/CMakeTestCompilerCommon.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/ADSP-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Borland-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Clang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Cray-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GHS-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-C-FeatureTests.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-C.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU-FindBinUtils.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/HP-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/IAR-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Intel-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/MSVC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/PGI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/PathScale-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/SCO-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/TI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/Watcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/XL-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Internal/FeatureTesting.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/Linux-Determine-CXX.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/Linux.cmake"
|
||||
"/usr/share/cmake-3.9/Modules/Platform/UnixPaths.cmake"
|
||||
)
|
||||
|
||||
# The corresponding makefile is:
|
||||
@ -36,6 +103,11 @@ set(CMAKE_MAKEFILE_OUTPUTS
|
||||
|
||||
# Byproducts of CMake generate step:
|
||||
set(CMAKE_MAKEFILE_PRODUCTS
|
||||
"CMakeFiles/3.9.4/CMakeSystem.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.9.4/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||
)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
@ -1,3 +1,3 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
@ -1,3 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
|
@ -1,3 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
|
Binary file not shown.
@ -69,6 +69,8 @@ avr/interrupt.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
stdlib.h
|
||||
-
|
||||
|
||||
/home/philipp/Programming/RGBcontroller/writepin.h
|
||||
avr/io.h
|
||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
CMakeFiles/rgbcontroller.dir/WirelessRelay.cpp.o
|
||||
/home/philipp/Programming/RGBcontroller/WirelessRelay.cpp
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
CMakeFiles/rgbcontroller.dir/WirelessRelay.cpp.o: WirelessRelay.cpp
|
||||
CMakeFiles/rgbcontroller.dir/WirelessRelay.cpp.o: WirelessRelay.h
|
||||
|
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# compile CXX with /usr/bin/avr-g++
|
||||
CXX_FLAGS = -mmcu=atmega328p -c -g -Os -Wall -std=c++11 -fno-exceptions -ffunction-sections -fdata-sections
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2
Makefile
2
Makefile
@ -1,5 +1,5 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.8
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.9
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
71
main.cpp
71
main.cpp
@ -14,16 +14,18 @@
|
||||
struct WirelessRelayStore
|
||||
{
|
||||
WirelessRelay array[MAX_RELAYS];
|
||||
bool states[MAX_RELAYS]={};
|
||||
uint8_t count;
|
||||
};
|
||||
|
||||
inline static void printHelp(Serial* serial)
|
||||
{
|
||||
serial->putString("Available Commands: \n\
|
||||
serial->write("Available Commands: \n\
|
||||
help : Show this prompt \n\
|
||||
relay add [id] : Add Wireless Relay\n\
|
||||
relay list : Print list of saved Wireless Relays \n\
|
||||
relay [on/off] [nn] : Turn on/off nth relay\n\
|
||||
relay state : Get full machine readable relay state\n\
|
||||
erase : Erase epprom\n\
|
||||
rgb [on/off] : Turn on/off RGB leds at current value.\n\
|
||||
rgb print : Print current RGB value.\n\
|
||||
@ -48,20 +50,20 @@ void relayDispatch(WirelessRelayStore* relays, char* inBuffer, Serial* serial)
|
||||
EEPROM_write_string( relays->count*2+1, (char*) &id, 2 );
|
||||
|
||||
sprintf(buffer, "Relay saved! NUMBER: %u ID: %X\n", relays->count, id);
|
||||
serial->putString(buffer, 64);
|
||||
serial->write(buffer, 64);
|
||||
|
||||
relays->count++;
|
||||
}
|
||||
else serial->putString("Usage: relay add [id] [id] being a 16bit hex nummber\n");
|
||||
else serial->write("Usage: relay add [id] [id] being a 16bit hex nummber\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "list", 4) == 0)
|
||||
{
|
||||
serial->putString("Relays:\n");
|
||||
serial->write("Relays:\n");
|
||||
for(uint8_t i = 0; i < relays->count; i++)
|
||||
{
|
||||
char buffer[64];
|
||||
sprintf(buffer, "NUMBER: %u ID: %X\n", i, relays->array[i].getId());
|
||||
serial->putString(buffer, 64);
|
||||
serial->write(buffer, 64);
|
||||
}
|
||||
serial->putChar('\n');
|
||||
}
|
||||
@ -75,9 +77,9 @@ void relayDispatch(WirelessRelayStore* relays, char* inBuffer, Serial* serial)
|
||||
|
||||
char buffer[64];
|
||||
sprintf(buffer, "RELAY: %u turned on\n", selected);
|
||||
serial->putString(buffer, 64);
|
||||
serial->write(buffer, 64);
|
||||
}
|
||||
else serial->putString("No sutch Relay\n");
|
||||
else serial->write("No sutch Relay\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "off", 3) == 0 && inBuffer[3] != '\0')
|
||||
{
|
||||
@ -88,14 +90,22 @@ void relayDispatch(WirelessRelayStore* relays, char* inBuffer, Serial* serial)
|
||||
|
||||
char buffer[64];
|
||||
sprintf(buffer, "RELAY: %u turned off\n", selected);
|
||||
serial->putString(buffer, 64);
|
||||
serial->write(buffer, 64);
|
||||
}
|
||||
else serial->putString("No sutch Relay\n");
|
||||
else serial->write("No sutch Relay\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "state", 5) == 0 && inBuffer[3] != '\0')
|
||||
{
|
||||
serial->write("ST");
|
||||
serial->write(relays->count);
|
||||
serial->putChar(',');
|
||||
for(uint8_t i = 0; i < relays->count; i++) relays->states[i] ? serial->putChar('1') : serial->putChar('0');
|
||||
serial->putChar('\n');
|
||||
}
|
||||
else
|
||||
{
|
||||
serial->putString(inBuffer, COMMAND_BUFFER_SIZE-5);
|
||||
serial->putString(" is not a valid subcommand: relay [add/list/on/off]\n");
|
||||
serial->write(inBuffer, COMMAND_BUFFER_SIZE-5);
|
||||
serial->write(" is not a valid subcommand: relay [add/list/on/off]\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,18 +114,18 @@ void rgbDispatch(RgbLed* rgbled, char* inBuffer, Serial* serial)
|
||||
if( strncmp(inBuffer, "on", 2) == 0 )
|
||||
{
|
||||
rgbled->on();
|
||||
serial->putString("RGB lights on\n");
|
||||
serial->write("RGB lights on\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "off", 3) == 0 )
|
||||
{
|
||||
rgbled->off();
|
||||
serial->putString("RGB lights off\n");
|
||||
serial->write("RGB lights off\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "print", 5) == 0 )
|
||||
{
|
||||
char buffer[64];
|
||||
sprintf(buffer, "Current RGB values:\nR: %u G: %u B: %u\n", rgbled->getR(), rgbled->getG(), rgbled->getB());
|
||||
serial->putString(buffer, 64);
|
||||
serial->write(buffer, 64);
|
||||
}
|
||||
else if( strncmp(inBuffer, "set", 3) == 0 )
|
||||
{
|
||||
@ -126,34 +136,34 @@ void rgbDispatch(RgbLed* rgbled, char* inBuffer, Serial* serial)
|
||||
inBuffer[7] = '\0';
|
||||
inBuffer[11] = '\0';
|
||||
rgbled->setSolidColor(atoi(inBuffer+4), atoi(inBuffer+8), atoi(inBuffer+12));
|
||||
serial->putString("Set RGB values\n");
|
||||
serial->write("Set RGB values\n");
|
||||
}
|
||||
else serial->putString("Usage: rgb set [RRR] [GGG] [BBB]\n");
|
||||
else serial->write("Usage: rgb set [RRR] [GGG] [BBB]\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "pattern", 7) == 0 )
|
||||
{
|
||||
rgbled->setPattern(atoi(inBuffer+8));
|
||||
serial->putString("Set Pattern\n");
|
||||
serial->write("Set Pattern\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "preset", 6) == 0 )
|
||||
{
|
||||
rgbled->setPreset(atoi(inBuffer+7));
|
||||
serial->putString("Set Preset\n");
|
||||
serial->write("Set Preset\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "fade on", 7) == 0 )
|
||||
{
|
||||
rgbled->setFade(true);
|
||||
serial->putString("Turned on Fade\n");
|
||||
serial->write("Turned on Fade\n");
|
||||
}
|
||||
else if( strncmp(inBuffer, "fade off", 8) == 0 )
|
||||
{
|
||||
rgbled->setFade(false);
|
||||
serial->putString("Turned off Fade\n");
|
||||
serial->write("Turned off Fade\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
serial->putString(inBuffer, COMMAND_BUFFER_SIZE-4);
|
||||
serial->putString(" is not a valid subcommand: rgb [/on/off/print/set/pattern/preset]\n");
|
||||
serial->write(inBuffer, COMMAND_BUFFER_SIZE-4);
|
||||
serial->write(" is not a valid subcommand: rgb [/on/off/print/set/pattern/preset]\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -166,9 +176,6 @@ void serialDispatch(Serial* serial , WirelessRelayStore* relays, RgbLed* rgbled)
|
||||
const int length = serial->getString(buffer, COMMAND_BUFFER_SIZE);
|
||||
if(length != 0)
|
||||
{
|
||||
//serial->putString("InString: ");
|
||||
//serial->putString(buffer, COMMAND_BUFFER_SIZE);
|
||||
//serial->putChar('\n');
|
||||
if(length > 4 && strncmp(buffer, "relay", 5) == 0)
|
||||
{
|
||||
relayDispatch(relays, buffer+6, serial);
|
||||
@ -177,10 +184,14 @@ void serialDispatch(Serial* serial , WirelessRelayStore* relays, RgbLed* rgbled)
|
||||
{
|
||||
rgbDispatch(rgbled, buffer+4, serial);
|
||||
}
|
||||
else if(length > 4 && strncmp(buffer, "state", 3) == 0)
|
||||
{
|
||||
rgbDispatch(rgbled, buffer+4, serial);
|
||||
}
|
||||
else if(length > 4 && strncmp(buffer, "erase", 5) == 0)
|
||||
{
|
||||
for(uint16_t i = 0; i < MAX_RELAYS*2+1; i++) EEPROM_write_char(i, 0);
|
||||
serial->putString("EEPROM erased\n");
|
||||
serial->write("EEPROM erased\n");
|
||||
relays->count = 0;
|
||||
}
|
||||
else if(buffer[0] == '?' || ( length > 3 && strncmp(buffer, "help", 4) == 0))
|
||||
@ -189,7 +200,7 @@ void serialDispatch(Serial* serial , WirelessRelayStore* relays, RgbLed* rgbled)
|
||||
}
|
||||
else
|
||||
{
|
||||
serial->putString("Not a valid command\n");
|
||||
serial->write("Not a valid command\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -239,16 +250,12 @@ int main()
|
||||
relays.count=0;
|
||||
restore_relays(&relays);
|
||||
|
||||
serial.putString("RGBController v0.3 starting\n");
|
||||
serial.write("RGBController v0.4 starting\n");
|
||||
while(true)
|
||||
{
|
||||
serialDispatch(&serial, &relays, &rgbled);
|
||||
rgbled.logic();
|
||||
_delay_ms(2);
|
||||
/*
|
||||
char buffer[64];
|
||||
sprintf(buffer, "R: %u G: %u B: %u\n", rgbled.getR(), rgbled.getG(), rgbled.getB());
|
||||
serial.putString(buffer, 64);*/
|
||||
}
|
||||
|
||||
return 0; //master interupt.
|
||||
|
BIN
rgbcontroller
BIN
rgbcontroller
Binary file not shown.
@ -5,10 +5,10 @@
|
||||
:100040000C9451000C9451000C9460040C945100D9
|
||||
:100050000C9451000C9451000C9451000C945100DC
|
||||
:100060000C9451000C94510011241FBECFEFD8E026
|
||||
:10007000DEBFCDBF16E0A0E0B1E0E0E9FBE102C0E9
|
||||
:10007000DEBFCDBF16E0A0E0B1E0EEE8FBE102C0DC
|
||||
:1000800005900D92A03AB107D9F727E0A0EAB6E0B3
|
||||
:1000900001C01D92A432B207E1F70E94DC030C9468
|
||||
:1000A000C60D0C940000F999FECF92BD81BD60BDD4
|
||||
:1000A000C50D0C940000F999FECF92BD81BD60BDD5
|
||||
:1000B000FA9AF99A0895F999FECF92BD81BDF89AFE
|
||||
:1000C00080B50895EF92FF920F931F93CF93DF9324
|
||||
:1000D0008C01EB017B01E40EF51ECE15DF0539F036
|
||||
@ -21,75 +21,75 @@
|
||||
:10014000AF92BF92CF92DF92EF92FF920F931F93E5
|
||||
:10015000CF93DF93CDB7DEB7C254D1090FB6F89471
|
||||
:10016000DEBF0FBECDBF6C018B017A0143E050E0D2
|
||||
:1001700060E071E0C8010E94910A892B09F080C0FB
|
||||
:1001700060E071E0C8010E94900A892B09F080C0FC
|
||||
:10018000F8018381882309F47BC040E150E070E0EE
|
||||
:1001900060E0C80104960E94540923967FAF6EAFB9
|
||||
:1001900060E0C80104960E94530923967FAF6EAFBA
|
||||
:1001A00023976115710509F465C0860100561F4F3C
|
||||
:1001B000F8015081503208F05DC09B0145E065E2D6
|
||||
:1001C00070E0C601F5E05F9F800D911D11240E9433
|
||||
:1001D000D006F80160816F5F90E080E00E945300DC
|
||||
:1001D000D206F80160816F5F90E080E00E945300DA
|
||||
:1001E000F801808190E0880F991F42E050E0BE0145
|
||||
:1001F0006F5B7F4F01960E94620023968FAD23971D
|
||||
:100200008F9322968FAD22978F93F80180811F9252
|
||||
:100210008F9384E091E09F938F939E012F5F3F4FD8
|
||||
:1002200069013F932F930E94A70A40E450E0B60172
|
||||
:1002200069013F932F930E94A60A40E450E0B60173
|
||||
:10023000C7010E94A204F80180818F5F80830FB6FE
|
||||
:10024000F894DEBF0FBECDBFCE5BDF4F0FB6F89484
|
||||
:10025000DEBF0FBECDBFDF91CF911F910F91FF90F9
|
||||
:10026000EF90DF90CF90BF90AF909F908F907F9056
|
||||
:100270006F90089564E271E0C7010E94BE04E4CF6C
|
||||
:1002800044E050E06DE571E0C8010E94910A892BBD
|
||||
:1002800044E050E06DE571E0C8010E94900A892BBE
|
||||
:10029000D1F562E671E0C7010E94BE04712C4601EF
|
||||
:1002A00030EA830E911C85E0682E91E1A92E91E041
|
||||
:1002B000B92E8E010F5F1F4FF40180817816F0F484
|
||||
:1002C000C601769C800D911D11240E94CC069F933F
|
||||
:1002C000C601769C800D911D11240E94CE069F933D
|
||||
:1002D0008F931F927F92BF92AF921F930F930E94B2
|
||||
:1002E000A70A40E450E0B801C7010E94A204739439
|
||||
:1002E000A60A40E450E0B801C7010E94A20473943A
|
||||
:1002F0000FB6F894DEBF0FBECDBFDECF6AE0C701F8
|
||||
:100300000E949B04A1CF42E050E066E872E0C80181
|
||||
:100310000E94910A892BB1F5F8018281882391F11D
|
||||
:10032000C80102960E946A0AF601E056FF4F20813A
|
||||
:100310000E94900A892BB1F5F8018281882391F11E
|
||||
:10032000C80102960E94690AF601E056FF4F20813B
|
||||
:10033000281728F18C011127960145E0849F200D94
|
||||
:10034000311D1124C9010E9492061F930F938BE661
|
||||
:10034000311D1124C9010E9494061F930F938BE65F
|
||||
:1003500091E09F938F938E010F5F1F4F1F930F9319
|
||||
:100360000E94A70A40E450E0B801C7010E94A2041D
|
||||
:100360000E94A60A40E450E0B801C7010E94A2041E
|
||||
:100370000F900F900F900F900F900F9065CF60E847
|
||||
:1003800071E07ACF43E050E06EE972E0C8010E946C
|
||||
:10039000910A892BF1F4F80183818823D1F0C801F7
|
||||
:1003A00003960E946A0AF601E056FF4F2081281743
|
||||
:10039000900A892BF1F4F80183818823D1F0C801F8
|
||||
:1003A00003960E94690AF601E056FF4F2081281744
|
||||
:1003B00030F38C011127960145E0849F200D311DFB
|
||||
:1003C0001124C9010E94AF061F930F9380E991E0A9
|
||||
:1003C0001124C9010E94B1061F930F9380E991E0A7
|
||||
:1003D000C0CF4BE150E0B801C7010E94A20466EA19
|
||||
:1003E00071E04ACFAF92BF92CF92DF92EF92FF922D
|
||||
:1003F0000F931F93CF93DF93CDB7DEB7C054D109CE
|
||||
:100400000FB6F894DEBF0FBECDBF6C018B017A0131
|
||||
:1004100042E050E066E872E0C8010E94910A892B30
|
||||
:1004100042E050E066E872E0C8010E94900A892B31
|
||||
:1004200049F4C6010E945B076BED71E0C7010E94B1
|
||||
:10043000BE043FC043E050E06EE972E0C8010E9494
|
||||
:10044000910A892B31F4C6010E9486076AEE71E099
|
||||
:10045000EDCF45E050E06AEF71E0C8010E94910ADB
|
||||
:10046000892BC9F5C6010E944909082FC6010E94BF
|
||||
:100470004C09182FC6010E9447091F920F931F9223
|
||||
:10044000900A892B31F4C6010E9486076AEE71E09A
|
||||
:10045000EDCF45E050E06AEF71E0C8010E94900ADC
|
||||
:10046000892BC9F5C6010E944809082FC6010E94C0
|
||||
:100470004B09182FC6010E9446091F920F931F9225
|
||||
:100480001F931F928F9380E092E09F938F938E0132
|
||||
:100490000F5F1F4F1F930F930E94A70A40E450E085
|
||||
:100490000F5F1F4F1F930F930E94A60A40E450E086
|
||||
:1004A000B801C7010E94A2040FB6F894DEBF0FBEC8
|
||||
:1004B000CDBFC05CDF4F0FB6F894DEBF0FBECDBF1F
|
||||
:1004C000DF91CF911F910F91FF90EF90DF90CF9030
|
||||
:1004D000BF90AF90089543E050E061E772E0C8013B
|
||||
:1004E0000E94910A892B41F5F80180E091919923AE
|
||||
:1004E0000E94900A892B41F5F80180E091919923AF
|
||||
:1004F00021F08C3139F08F5FF9CF67E372E08F30F4
|
||||
:1005000008F494CFF80117821386C8010C960E9454
|
||||
:100510006A0AA82EC80108960E946A0AB82EC80165
|
||||
:1005200004960E946A0A2A2D4B2D682FC6010E944C
|
||||
:10051000690AA82EC80108960E94690AB82EC80167
|
||||
:1005200004960E94690A2A2D4B2D682FC6010E944D
|
||||
:10053000930767E272E07ACF47E050E069E572E046
|
||||
:10054000C8010E94910A892B59F4C80108960E949B
|
||||
:100550006A0A682FC6010E94680761E672E066CFEA
|
||||
:1005600046E050E06EE672E0C8010E94910A892BD5
|
||||
:1005700059F4C80107960E946A0A682FC6010E94B2
|
||||
:10054000C8010E94900A892B59F4C80108960E949C
|
||||
:10055000690A682FC6010E94680761E672E066CFEB
|
||||
:1005600046E050E06EE672E0C8010E94900A892BD6
|
||||
:1005700059F4C80107960E94690A682FC6010E94B3
|
||||
:10058000A70765E772E052CF47E050E061E872E00C
|
||||
:10059000C8010E94910A892B39F461E0C6010E94CA
|
||||
:10059000C8010E94900A892B39F461E0C6010E94CB
|
||||
:1005A000F90769E872E042CF48E050E069E972E09B
|
||||
:1005B000C8010E94910A892B39F460E0C6010E94AB
|
||||
:1005B000C8010E94900A892B39F460E0C6010E94AC
|
||||
:1005C000F90762EA72E032CF4CE150E0B801C701AE
|
||||
:1005D0000E94A20463EB72E029CFAF92BF92CF9248
|
||||
:1005E000DF92EF92FF920F931F93CF93DF93CDB7DC
|
||||
@ -97,20 +97,20 @@
|
||||
:100600006B015A010E94E204882301F140E250E0AC
|
||||
:10061000BE016F5F7F4FC8010E9424057C01892BBA
|
||||
:10062000A9F085E0E816F10414F145E050E067EF29
|
||||
:1006300072E0CE0101960E94910A892BE1F4A80193
|
||||
:1006300072E0CE0101960E94900A892BE1F4A80194
|
||||
:10064000BE01695F7F4FC6010E949C00A0960FB655
|
||||
:10065000F894DEBF0FBECDBFDF91CF911F910F91F8
|
||||
:10066000FF90EF90DF90CF90BF90AF90089583E020
|
||||
:10067000E816F104BCF143E050E06DEF72E0CE010A
|
||||
:1006800001960E94910A892B41F4A801BE016B5F7B
|
||||
:1006800001960E94900A892B41F4A801BE016B5F7C
|
||||
:100690007F4FC5010E94F201D9CF85E0E816F10431
|
||||
:1006A0000CF145E050E061E073E0CE0101960E945C
|
||||
:1006B000910A892BB9F4F12CE12C60E0C7010E946A
|
||||
:1006B000900A892BB9F4F12CE12C60E0C7010E946B
|
||||
:1006C00053008FEFE81AF80A81E4E816F104A9F75D
|
||||
:1006D00067E073E0C8010E94BE04F601E056FF4FD8
|
||||
:1006E0001082B4CF89818F3371F084E0E816F10471
|
||||
:1006F00084F044E050E066E173E0CE0101960E9490
|
||||
:10070000910A892B31F46BE173E0C8010E94BE04A9
|
||||
:10070000900A892B31F46BE173E0C8010E94BE04AA
|
||||
:100710009DCF6DE676E0F9CFCF92DF92EF92FF9218
|
||||
:100720000F931F93CF93DF9300D0CDB7DEB76C014B
|
||||
:1007300090E080E00E945B00760190EAE90EF11CF7
|
||||
@ -119,25 +119,25 @@
|
||||
:10076000108210E005E0F70180818117D0F0812F21
|
||||
:1007700090E0880F991F42E050E0BE016F5F7F4F0D
|
||||
:1007800001960E947E0029813A8145E065E270E091
|
||||
:10079000C601109F800D911D11240E94D0061F5F7D
|
||||
:10079000C601109F800D911D11240E94D2061F5F7B
|
||||
:1007A000E2CF0F900F90DF91CF911F910F91FF90AB
|
||||
:1007B000EF90DF90CF900895CF93DF93CDB7DEB762
|
||||
:1007C000C15CD1090FB6F894DEBF0FBECDBF82E287
|
||||
:1007D00084B988E68AB915B87894CE0181549F4FC0
|
||||
:1007E0000E9486041F92812CAA24A394CC24C39433
|
||||
:1007F00083E0E82E08E410E027E430E045E450E030
|
||||
:1008000064E470E0CE0189549F4F0E94D8061F9285
|
||||
:1008000064E470E0CE0189549F4F0E94DA061F9283
|
||||
:10081000C12C95E0E92E04EB10E023EB30E041EB36
|
||||
:1008200050E060EB70E0CE0181559F4F0E94D806EA
|
||||
:10083000CE0189549F4F0E941D07CE0181559F4FC5
|
||||
:100840000E941D07AE0141555F4FBE0169547F4FA5
|
||||
:1008200050E060EB70E0CE0181559F4F0E94DA06E8
|
||||
:10083000CE0189549F4F0E941F07CE0181559F4FC3
|
||||
:100840000E941F07AE0141555F4FBE0169547F4FA3
|
||||
:10085000CE018E559F4F0E944A078E010F5F1F4F9A
|
||||
:100860006E0181EAC80ED11C0F900F907801C8016B
|
||||
:100870000E94D7060B5F1F4F0C151D05C1F7F8012D
|
||||
:100870000E94D9060B5F1F4F0C151D05C1F7F8012B
|
||||
:100880001082C7010E948C0362E876E0CE01815499
|
||||
:100890009F4F0E94BE04AE014E555F4FB701CE017F
|
||||
:1008A00081549F4F0E94ED02CE018E559F4F0E94B2
|
||||
:1008B000CD088FE39FE10197F1F700C00000EBCF77
|
||||
:1008B000CC088FE39FE10197F1F700C00000EBCF78
|
||||
:1008C0001F920F920FB60F9211248F939F93EF9365
|
||||
:1008D000FF938091C600E091A006F091A106EF770A
|
||||
:1008E000FF27EE55F94F80838091A0069091A106D5
|
||||
@ -178,73 +178,73 @@
|
||||
:100B1000FD1FEF77FF27EE55F94F3081F801208157
|
||||
:100B2000321303C0019692838183CE01DF91CF916E
|
||||
:100B30001F910F91FF90EF90DF90CF90BF90AF90FB
|
||||
:100B40009F908F900895C8010E94F004B9CFFC01D6
|
||||
:100B5000A281B3812481613009F051C06C9181E0A0
|
||||
:100B600090E0AC0101C0440F2A95EAF7342F30958C
|
||||
:100B700036233C932C91242B2C93A7EEB3E01197B2
|
||||
:100B8000F1F700C00000A281B3814C912481BC0127
|
||||
:100B900002C0660F771F2A95E2F79B012095242358
|
||||
:100BA0002C93A7EBBBE01197F1F700C00000A281E6
|
||||
:100BB000B3812C913481AC0101C0440F3A95EAF71E
|
||||
:100BC000342F309532233C932C91242B2C93A7EE79
|
||||
:100BD000B3E01197F1F700C00000A281B3812C911E
|
||||
:100BE000348101C0880F3A95EAF7809582238C936F
|
||||
:100BF00087EB9BE00197F1F700C0000008956C912E
|
||||
:100C000081E090E0AC0101C0440F2A95EAF7342F4F
|
||||
:100C1000309536233C932C91242B2C93A7EBBBE0EF
|
||||
:100C20001197F1F700C00000A281B3814C9124819B
|
||||
:100C3000BC0102C0660F771F2A95E2F79B01209541
|
||||
:100C400024232C93A7EEB3E01197F1F7AECFEF92E8
|
||||
:100C5000FF920F931F93CF93DF93EC01EA81FB8107
|
||||
:100C600020813C8181E090E0AC0101C0440F3A95C5
|
||||
:100C7000EAF7342F3095322330832081242B2083D0
|
||||
:100C8000E7EEF3E03197F1F700C00000EA81FB8165
|
||||
:100C900020813C8101C0880F3A95EAF78095822334
|
||||
:100CA000808387EB9BE00197F1F700C000000FE025
|
||||
:100CB00010E0EE24E394F12C28813981C701002E45
|
||||
:100CC00002C0880F991F0A94E2F78223932361E000
|
||||
:100CD000892B09F460E0CE010E94A705015011099B
|
||||
:100CE0000530110549F7DF91CF911F910F91FF90CA
|
||||
:100CF000EF900895DC011296ED91FC9113972081FD
|
||||
:100D000014963C9181E090E001C0880F3A95EAF793
|
||||
:100D100080958223808387E199E70197F1F700C0EE
|
||||
:100D2000000008950F931F93CF93DF93EC010AE027
|
||||
:100D300010E0CE010E94270661E0CE010E94A705C7
|
||||
:100D400060E0CE010E94A705CE010E947A06015004
|
||||
:100D5000110979F7DF91CF911F910F9108950F93AA
|
||||
:100D60001F93CF93DF93EC010AE010E0CE010E94C5
|
||||
:100D7000270660E0CE010E94A70561E0CE010E9437
|
||||
:100D8000A705CE010E947A060150110979F7DF917B
|
||||
:100D9000CF911F910F910895FC0180819181089559
|
||||
:100DA000FC01738362833183208344830895089513
|
||||
:100DB000AF92CF92EF920F931F93CF93DF93CDB764
|
||||
:100DC000DEB7FC0171836083338322831583048340
|
||||
:100DD000C682A782DB011C92DA011C9286818823DD
|
||||
:100DE00031F020813181D9018C9180688C93878189
|
||||
:100DF000882331F020813181D9018C9180628C93DC
|
||||
:100E000020813181D9018C9183608C93DA018C919E
|
||||
:100E1000BE2DB770EB2EE82ADA01EC92A281B381E5
|
||||
:100E20001C920480F581E02D1082DF91CF911F91FB
|
||||
:100E30000F91EF90CF90AF900895DC01ED91FC9170
|
||||
:100E40008081837080830895CF93DF93EC010E94AB
|
||||
:100E50001D078E81882329F0E881F98180818068CF
|
||||
:100E600080838F81882329F0E881F98180818062E5
|
||||
:100E70008083DF91CF910895DC011296ED91FC9172
|
||||
:100E8000139760830895DC011496ED91FC911597FA
|
||||
:100B40009F908F900895C8010E94F004B9CFDC01F6
|
||||
:100B50001296ED91FC91139714968C91149721E0C5
|
||||
:100B600030E0A90101C0440F8A95EAF7942F9095CF
|
||||
:100B70008081892380838081842B8083613009F088
|
||||
:100B80004DC087EE93E00197F1F700C00000129688
|
||||
:100B9000ED91FC911397408114968C911497B901B3
|
||||
:100BA00002C0660F771F8A95E2F7CB0180958423F8
|
||||
:100BB000808387EB9BE00197F1F700C0000012965D
|
||||
:100BC000ED91FC911397808114969C911497A90143
|
||||
:100BD00001C0440F9A95EAF7942F9095982390833B
|
||||
:100BE0008081842B808387EE93E00197F1F700C02A
|
||||
:100BF00000001296ED91FC911397808114969C91C0
|
||||
:100C000001C0220F9A95EAF720952823208387EBCD
|
||||
:100C10009BE00197F1F700C00000089587EB9BE08F
|
||||
:100C20000197F1F700C000001296ED91FC91139727
|
||||
:100C3000808114969C911497A90101C0440F9A9544
|
||||
:100C4000EAF740954823408387EE93E00197F1F758
|
||||
:100C5000B4CFEF92FF920F931F93CF93DF93EC01EA
|
||||
:100C6000EA81FB8120813C8181E090E0AC0101C000
|
||||
:100C7000440F3A95EAF7342F3095322330832081A0
|
||||
:100C8000242B2083E7EEF3E03197F1F700C000005A
|
||||
:100C9000EA81FB8120813C8101C0880F3A95EAF707
|
||||
:100CA00080958223808387EB9BE00197F1F700C05A
|
||||
:100CB00000000FE010E0EE24E394F12C288139814C
|
||||
:100CC000C701002E02C0880F991F0A94E2F7822301
|
||||
:100CD000932361E0892B09F460E0CE010E94A7050F
|
||||
:100CE000015011090530110549F7DF91CF911F918E
|
||||
:100CF0000F91FF90EF900895DC011296ED91FC9119
|
||||
:100D00001397208114963C9181E090E001C0880FF8
|
||||
:100D10003A95EAF780958223808387E199E70197E6
|
||||
:100D2000F1F700C0000008950F931F93CF93DF9356
|
||||
:100D3000EC010AE010E0CE010E94290661E0CE013C
|
||||
:100D40000E94A70560E0CE010E94A705CE010E9487
|
||||
:100D50007C060150110979F7DF91CF911F910F9116
|
||||
:100D600008950F931F93CF93DF93EC010AE010E0F7
|
||||
:100D7000CE010E94290660E0CE010E94A70561E035
|
||||
:100D8000CE010E94A705CE010E947C0601501109E8
|
||||
:100D900079F7DF91CF911F910F910895FC01808128
|
||||
:100DA00091810895FC01738362833183208344839E
|
||||
:100DB00008950895AF92CF92EF920F931F93CF9320
|
||||
:100DC000DF93CDB7DEB7FC01718360833383228369
|
||||
:100DD00015830483C682A782DB011C92DA011C9270
|
||||
:100DE0008681882331F020813181D9018C918068FE
|
||||
:100DF0008C938781882331F020813181D9018C91B6
|
||||
:100E000080628C9320813181D9018C9183608C9395
|
||||
:100E1000DA018C91BE2DB770EB2EE82ADA01EC9244
|
||||
:100E2000A281B3811C920480F581E02D1082DF91B4
|
||||
:100E3000CF911F910F91EF90CF90AF900895DC016B
|
||||
:100E4000ED91FC918081837080830895CF93DF932F
|
||||
:100E5000EC010E941F078E81882329F0E881F98127
|
||||
:100E60008081806880838F81882329F0E881F981DF
|
||||
:100E7000808180628083DF91CF910895DC0112969A
|
||||
:100E8000ED91FC9160830895DC011496ED91FC9145
|
||||
:100E900060830895FC0171836083538342831482CD
|
||||
:100EA00016821582178210861186128681E083874A
|
||||
:100EB00087E084870895CF93DF93EC01888199813F
|
||||
:100EC0000E9424078A819B81DF91CF910C94240793
|
||||
:100EC0000E9426078A819B81DF91CF910C9426078F
|
||||
:100ED000CF93DF93EC016C836623A9F060E08881F7
|
||||
:100EE00099810E94430760E0888199810E943C07B4
|
||||
:100EF00060E08A819B810E944307CE010E945B07CC
|
||||
:100EE00099810E94440760E0888199810E943E07B1
|
||||
:100EF00060E08A819B810E944407CE010E945B07CB
|
||||
:100F00001F821E821D82DF91CF910895CF93DF93C0
|
||||
:100F1000EC01888199810E941D078A819B81DF9164
|
||||
:100F2000CF910C941D07FC011482608741872287B2
|
||||
:100F1000EC01888199810E941F078A819B81DF9162
|
||||
:100F2000CF910C941F07FC011482608741872287B0
|
||||
:100F3000338531110AC0620F7727771F460F572F6D
|
||||
:100F4000511D452B11F40C9486070C945B076150DE
|
||||
:100F5000603108F04BC0E62FF0E0EF54F84F0C94EE
|
||||
:100F60004E09C107C607CA07CE07D207D507D8075B
|
||||
:100F60004D09C107C607CA07CE07D207D507D8075C
|
||||
:100F7000DB07DE07DB07E207E607EA07EE07F20713
|
||||
:100F8000F40720E54FEF60EA0C94930724E14FEF5C
|
||||
:100F900068ECFACF2CE84FEF64EBF6CF20E040E0AE
|
||||
@ -256,277 +256,277 @@
|
||||
:100FF000D7CFFC0163870895CF93DF93EC018C81F9
|
||||
:10100000813041F58D819E812F8121111CC0019677
|
||||
:101010009E838D836D817E816F3F7105B1F481E088
|
||||
:101020008F83888199810E9443076D8160958881B3
|
||||
:1010300099810E943C076D8160548A819B81DF9178
|
||||
:10104000CF910C9443070197E3CF6115710549F7E0
|
||||
:101020008F83888199810E9444076D8160958881B2
|
||||
:1010300099810E943E076D8160548A819B81DF9176
|
||||
:10104000CF910C9444070197E3CF6115710549F7DF
|
||||
:101050001F82E7CF823021F58D819E812F81211162
|
||||
:1010600018C001969E838D836D817E816E3F21E045
|
||||
:10107000720789F481E08F837695679588819981DD
|
||||
:101080000E94430760E0888199810E943C0760E0EC
|
||||
:101080000E94440760E0888199810E943E0760E0E9
|
||||
:10109000D4CF0197E7CF6115710571F71F82ECCFAF
|
||||
:1010A000833069F58D819E812F81211121C00196A8
|
||||
:1010B0009E838D836D817E8161158FEF7807D1F4DA
|
||||
:1010C00081E08F8336E0769567953A95E1F78881E0
|
||||
:1010D00099810E9443076E81888199810E943C0713
|
||||
:1010E0006D817E8143E0769567954A95E1F7A5CFBE
|
||||
:1010C00081E08F8346E0769567954A95E1F78881C0
|
||||
:1010D00099810E9444076E81888199810E943E0710
|
||||
:1010E0006D817E8153E0769567955A95E1F7A5CF9E
|
||||
:1010F0000197DECF6115710529F71F82E3CF843098
|
||||
:10110000E9F56D817E8188819981611520E2720700
|
||||
:10111000C0F526E0769567952A95E1F70E9443078A
|
||||
:101120006D817E81613084E0780750F0705286E0F6
|
||||
:10113000769567958A95E1F7888199810E943C07A9
|
||||
:101140008D819E81813020E2920730F0692F669573
|
||||
:101150008A819B810E9443078D819E818A3F2FEF68
|
||||
:101160009207A8F401969E838D838FEF90EE20E086
|
||||
:10117000815090402040E1F700C00000DF91CF9106
|
||||
:101180000895672F6695669566956058C7CF6CE899
|
||||
:101190008A819B810E944307E8CFCF93DF93EC01C4
|
||||
:1011A0000E94FC078C8181116FC08B85882309F414
|
||||
:1011B0005FC08D819E8101969E838D839C8501C039
|
||||
:1011C000880F9A95EAF781115FC098B588858917CD
|
||||
:1011D000B1F068B528B5281B330B81E090E01216FA
|
||||
:1011E000130614F090E080E0232F221F2227221FF5
|
||||
:1011F000821B9109681B888199810E94430797B5DA
|
||||
:1012000089858917B1F067B527B5281B330B81E0B5
|
||||
:1012100090E01216130614F090E080E0232F221FB6
|
||||
:101220002227221F821B9109681B888199810E94B5
|
||||
:101230003C079091B4008A85891731F16091B40020
|
||||
:101240002091B400281B330B81E090E012161306A6
|
||||
:1012500014F090E080E0232F221F2227221F821B00
|
||||
:101260009109681B8A819B81DF91CF910C94430780
|
||||
:101270006985888199810E943C0768858881998168
|
||||
:101280000E9443076A85EECFDF91CF91089588B51C
|
||||
:1012900008958091B400089587B50895EE0FFF1F5B
|
||||
:1012A0000590F491E02D0994A0E0B0E0EAE5F9E0C2
|
||||
:1012B0000C94810D5C016B017A016115710519F0C7
|
||||
:1012C000FB0191838083E114F10429F0C7010297A7
|
||||
:1012D000839708F0E5C0E5012196F5011081812F83
|
||||
:1012E00090E00E94880A892B11F05E01F4CF1D3234
|
||||
:1012F00029F42196F501118101E007C01B3221F488
|
||||
:10130000E5012296F501118100E0E114F10409F1F3
|
||||
:10131000F0E1EF16F10429F43FC010E3E114F10409
|
||||
:1013200021F128E0E216F10401F154F4E2E0EE16B6
|
||||
:10133000F10421F5812C912CA12CB0E4BB2E3EC0F0
|
||||
:10134000FAE0EF16F10439F020E1E216F104B1F40D
|
||||
:1013500030C0103319F1FAE0EF2EF12CACEC8A2EEC
|
||||
:10136000982CA82CACE0BA2E29C078E0E72EF12CFE
|
||||
:10137000812C912CA12CE0E1BE2E20C060E070E019
|
||||
:1013800080E090E897010F2C000C440B550B0E9455
|
||||
:10139000530D49015A0112C0103359F488818F7DD1
|
||||
:1013A000883509F0BACF19812296026080E1E82ED3
|
||||
:1013B000F12C812C912CA12C68E0B62E40E060E04D
|
||||
:1013C00070E0CB0127010F2C000C66087708FE01A6
|
||||
:1013D00050ED352E310E29E0231570F42FEB210F3F
|
||||
:1013E0002A3118F439EC332E06C02FE9210F2A31A7
|
||||
:1013F00018F529EA322E310E232D30E02E153F0547
|
||||
:10140000DCF447FD16C086169706A806B90670F0EC
|
||||
:10141000A30192010E94430D630D711D811D911D59
|
||||
:1014200061307105810520E8920710F04FEF01C08F
|
||||
:1014300041E021961081CBCF202F2170C114D1041F
|
||||
:1014400071F0442329F02197F601D183C08307C0AE
|
||||
:1014500001FF19C02297F601D183C08314C047FF52
|
||||
:1014600012C0222329F060E070E080E090E804C020
|
||||
:101470006FEF7FEF8FEF9FE722E230E0309323079B
|
||||
:101480002093220709C0222381F0909580957095C2
|
||||
:1014900061957F4F8F4F9F4F462F372F282F12C0B8
|
||||
:1014A00040E030E020E090E00DC097FFF5CF82E211
|
||||
:1014B00090E090932307809322076FEF7FEF8FEFE9
|
||||
:1014C0009FE7EACF642F732F822FCDB7DEB7E1E11C
|
||||
:1014D0000C949D0DFC0188279927E89421912032D6
|
||||
:1014E000E9F3293010F02E30C8F32B3241F02D32C1
|
||||
:1014F00039F4689404C00E949F0A820F911D2191C3
|
||||
:1015000020532A30C0F31EF4909581959F4F089583
|
||||
:1015100091110C949C0C803219F089508550C8F7B9
|
||||
:101520000895FB01DC014150504030F08D91019055
|
||||
:10153000801919F40020B9F7881B990B08957AE0F7
|
||||
:10154000979F902D879F802D910D11240895AEE0D7
|
||||
:10155000B0E0EDEAFAE00C948E0D0D891E8986E06C
|
||||
:101560008C831A8309838FEF9FE79E838D83AE015F
|
||||
:10157000475E5F4F6F89788DCE0101960E94C90A40
|
||||
:10158000EF81F885E00FF11F10822E96E4E00C94B5
|
||||
:10159000AA0DACE0B0E0EFECFAE00C94800D6C0129
|
||||
:1015A0007B018A01FC0117821682838181FFBEC103
|
||||
:1015B000CE0101964C01F6019381F70193FD8591CF
|
||||
:1015C00093FF81917F01882309F4ACC1853239F4FE
|
||||
:1015D00093FD859193FF81917F01853229F4B601B6
|
||||
:1015E00090E00E94B50CE7CF512C312C20E0203246
|
||||
:1015F000A0F48B3269F030F4803259F0833269F410
|
||||
:1016000020612CC08D3239F0803339F4216026C03E
|
||||
:101610002260246023C0286021C027FD27C030ED50
|
||||
:10162000380F3A3078F426FF06C0FAE05F9E300D9E
|
||||
:101630001124532E13C08AE0389E300D1124332E0E
|
||||
:1016400020620CC08E3221F426FD6CC1206406C0DD
|
||||
:101650008C3611F4206802C0883641F4F70193FDFE
|
||||
:10166000859193FF81917F018111C1CF982F9F7D3B
|
||||
:101670009554933028F40C5F1F4F9FE399830DC05E
|
||||
:10168000833631F0833771F0833509F05BC022C0B7
|
||||
:10169000F801808189830E5F1F4F44244394512CAD
|
||||
:1016A000540115C03801F2E06F0E711CF801A080E2
|
||||
:1016B000B18026FF03C0652D70E002C06FEF7FEFA1
|
||||
:1016C000C5012C870E94AA0C2C0183012C852F7741
|
||||
:1016D000222E17C03801F2E06F0E711CF801A080B5
|
||||
:1016E000B18026FF03C0652D70E002C06FEF7FEF71
|
||||
:1016F000C5012C870E949F0C2C012C852068222E6E
|
||||
:10170000830123FC1BC0832D90E048165906B0F4DA
|
||||
:10171000B60180E290E00E94B50C3A94F4CFF50156
|
||||
:1017200027FC859127FE81915F01B60190E00E9420
|
||||
:10173000B50C31103A94F1E04F1A5108411451049C
|
||||
:1017400071F7E6C0843611F0893639F5F80127FFC4
|
||||
:1017500007C060817181828193810C5F1F4F08C037
|
||||
:1017600060817181072E000C880B990B0E5F1F4F53
|
||||
:101770002F76722E97FF09C0909580957095619590
|
||||
:101780007F4F8F4F9F4F2068722E2AE030E0A401D8
|
||||
:101790000E94E50CA82EA81844C0853729F42F7E96
|
||||
:1017A000B22E2AE030E025C0F22FF97FBF2E8F360F
|
||||
:1017B000C1F018F4883579F0B5C0803719F0883752
|
||||
:1017C00021F0B0C02F2F2061B22EB4FE0DC08B2DA2
|
||||
:1017D0008460B82E09C024FF0AC09F2F9660B92EDE
|
||||
:1017E00006C028E030E005C020E130E002C020E182
|
||||
:1017F00032E0F801B7FE07C0608171818281938178
|
||||
:101800000C5F1F4F06C06081718180E090E00E5F29
|
||||
:101810001F4FA4010E94E50CA82EA818FB2DFF77EE
|
||||
:101820007F2E76FE0BC0372D3E7FA51450F474FE3C
|
||||
:101830000AC072FC08C0372D3E7E05C0BA2C372D79
|
||||
:1018400003C0BA2C01C0B52C34FF0DC0FE01EA0D57
|
||||
:10185000F11D8081803311F4397E09C032FF06C04A
|
||||
:10186000B394B39404C0832F867809F0B39433FD06
|
||||
:1018700013C030FF06C0B31498F43A0C532C5B1815
|
||||
:1018800010C0B31470F4B60180E290E03C870E946F
|
||||
:10189000B50CB3943C85F5CFB31418F43B1802C0D3
|
||||
:1018A0005A2C312C34FF12C0B60180E390E03C8703
|
||||
:1018B0000E94B50C3C8532FF17C031FD03C088E79C
|
||||
:1018C00090E002C088E590E0B6010CC0832F8678D6
|
||||
:1018D00059F031FF02C08BE201C080E237FD8DE29A
|
||||
:1018E000B60190E00E94B50CA51438F4B60180E36F
|
||||
:1018F00090E00E94B50C5A94F7CFAA94F401EA0D37
|
||||
:10190000F11D8081B60190E00E94B50CA110F5CFC9
|
||||
:10191000332009F450CEB60180E290E00E94B50C6D
|
||||
:101920003A94F6CFF6018681978102C08FEF9FEF40
|
||||
:101930002C96E2E10C949C0D992788270895FC01D0
|
||||
:101940000590615070400110D8F7809590958E0FEA
|
||||
:101950009F1F0895FC016150704001900110D8F75D
|
||||
:10196000809590958E0F9F1F08950F931F93CF938F
|
||||
:10197000DF93182F092FEB018B8181FD03C08FEFBF
|
||||
:101980009FEF1EC082FF0FC02E813F818C819D8101
|
||||
:101990002817390774F4E881F981CF0101969983FA
|
||||
:1019A0008883108306C0E885F985812F0995892BE6
|
||||
:1019B00031F78E819F8101969F838E83812F902F97
|
||||
:1019C000DF91CF911F910F910895FA01AA27283036
|
||||
:1019D00051F1203181F1E8946F936E7F6E5F7F4FFC
|
||||
:1019E0008F4F9F4FAF4FB1E03ED0B4E03CD0670F78
|
||||
:1019F000781F891F9A1FA11D680F791F8A1F911DCB
|
||||
:101A0000A11D6A0F711D811D911DA11D20D009F41A
|
||||
:101A100068943F912AE0269F11243019305D31935C
|
||||
:101A2000DEF6CF010895462F4770405D4193B3E045
|
||||
:101A30000FD0C9F7F6CF462F4F70405D4A3318F0EC
|
||||
:101A4000495D31FD4052419302D0A9F7EACFB4E09D
|
||||
:101A5000A6959795879577956795BA95C9F7009755
|
||||
:101A60006105710508959B01AC010A2E06945795F6
|
||||
:101A7000479537952795BA95C9F7620F731F841F4D
|
||||
:101A8000951FA01D0895DB018F939F930E94750DF4
|
||||
:101A9000BF91AF91A29F800D911DA39F900DB29F0A
|
||||
:101AA000900D11240895A1E21A2EAA1BBB1BFD0163
|
||||
:101AB0000DC0AA1FBB1FEE1FFF1FA217B307E4072D
|
||||
:101AC000F50720F0A21BB30BE40BF50B661F771F85
|
||||
:101AD000881F991F1A9469F7609570958095909565
|
||||
:101AE0009B01AC01BD01CF0108950E94B70DA59FD8
|
||||
:101AF000900DB49F900DA49F800D911D1124089509
|
||||
:101B00002F923F924F925F926F927F928F929F920D
|
||||
:101B1000AF92BF92CF92DF92EF92FF920F931F93FB
|
||||
:101B2000CF93DF93CDB7DEB7CA1BDB0B0FB6F894AC
|
||||
:101B3000DEBF0FBECDBF09942A88398848885F84EC
|
||||
:101B40006E847D848C849B84AA84B984C884DF805D
|
||||
:101B5000EE80FD800C811B81AA81B981CE0FD11D41
|
||||
:101B60000FB6F894DEBF0FBECDBFED010895A29F62
|
||||
:101B7000B001B39FC001A39F700D811D1124911D61
|
||||
:101B8000B29F700D811D1124911D0895F894FFCF0F
|
||||
:101B90006164640052656C617920736176656421CB
|
||||
:101BA000204E554D4245523A2025752049443A2051
|
||||
:101BB00025580A0055736167653A2072656C617932
|
||||
:101BC00020616464205B69645D202020205B69647F
|
||||
:101BD0005D206265696E672061203136626974201C
|
||||
:101BE000686578206E756D6D6265720A006C697348
|
||||
:101BF000740052656C6179733A0A0052454C415940
|
||||
:101C00003A202575207475726E6564206F6E0A0027
|
||||
:101C10004E6F2073757463682052656C61790A0099
|
||||
:101C200052454C41593A202575207475726E656491
|
||||
:101C3000206F66660A00206973206E6F7420612031
|
||||
:101C400076616C696420737562636F6D6D616E643B
|
||||
:101C50003A2072656C6179205B6164642F6C6973F2
|
||||
:101C6000742F6F6E2F6F66665D0A00524742206CBC
|
||||
:101C70006967687473206F6E0A00524742206C696E
|
||||
:101C800067687473206F66660A007072696E74000C
|
||||
:101C900043757272656E74205247422076616C758E
|
||||
:101CA00065733A0A523A20257520473A2025752057
|
||||
:101CB000423A2025750A0053657420524742207627
|
||||
:101CC000616C7565730A0055736167653A207267C8
|
||||
:101CD0006220736574205B5252525D205B47474718
|
||||
:101CE0005D205B4242425D0A007061747465726EF1
|
||||
:101CF00000536574205061747465726E0A007072CE
|
||||
:101D00006573657400536574205072657365740A59
|
||||
:101D10000066616465206F6E005475726E656420A4
|
||||
:101D20006F6E20466164650A0066616465206F66B7
|
||||
:101D300066005475726E6564206F66662046616445
|
||||
:101D4000650A00206973206E6F7420612076616CD3
|
||||
:101D5000696420737562636F6D6D616E643A2072A1
|
||||
:101D60006762205B2F6F6E2F6F66662F7072696ED1
|
||||
:101D7000742F7365742F7061747465726E2F707236
|
||||
:101D8000657365745D0A0072656C617900726762E3
|
||||
:101D900000657261736500454550524F4D20657274
|
||||
:101DA000617365640A0068656C7000417661696CF6
|
||||
:101DB00061626C6520436F6D6D616E64733A200AD9
|
||||
:101DC0002020202020202020202020202020202013
|
||||
:101DD00068656C70202020202020202020202020DA
|
||||
:101DE00020202020202020202020203A202053685E
|
||||
:101DF0006F7720746869732070726F6D7074200A39
|
||||
:101E000020202020202020202020202020202020D2
|
||||
:101E100072656C617920616464205B69645D202077
|
||||
:101E200020202020202020202020203A2020416433
|
||||
:101E30006420576972656C6573732052656C6179B3
|
||||
:101E40000A202020202020202020202020202020A8
|
||||
:101E50002072656C6179206C6973742020202020C9
|
||||
:101E60002020202020202020202020203A20205028
|
||||
:101E700072696E74206C697374206F66207361766A
|
||||
:101E8000656420576972656C6573732052656C6177
|
||||
:101E90007973200A202020202020202020202020AC
|
||||
:101EA0002020202072656C6179205B6F6E2F6F6639
|
||||
:101EB000665D205B6E6E5D20202020202020203A71
|
||||
:101EC00020205475726E206F6E2F6F6666206E74C0
|
||||
:101ED000682072656C61790A202020202020202053
|
||||
:101EE0002020202020202020657261736520202082
|
||||
:101EF00020202020202020202020202020202020E2
|
||||
:101F00002020203A20204572617365206570707230
|
||||
:101F10006F6D0A202020202020202020202020203B
|
||||
:101F2000202020726762205B6F6E2F6F66665D20D7
|
||||
:101F300020202020202020202020202020203A2087
|
||||
:101F4000205475726E206F6E2F6F66662052474266
|
||||
:101F5000206C6564732061742063757272656E74A1
|
||||
:101F60002076616C75652E0A2020202020202020FC
|
||||
:101F70002020202020202020726762207072696E4D
|
||||
:101F800074202020202020202020202020202020FD
|
||||
:101F90002020203A20205072696E7420637572727E
|
||||
:101FA000656E74205247422076616C75652E0A205A
|
||||
:101FB00020202020202020202020202020202072CF
|
||||
:101FC000676220736574205B5252525D205B474705
|
||||
:101FD000475D205B4242425D20203A2020536574D9
|
||||
:101FE000205247422076616C75652C2070617474B4
|
||||
:101FF00065726E206D75737420626520302E0A2024
|
||||
:10200000202020202020202020202020202020727E
|
||||
:102010006762207061747465726E205B69645D2014
|
||||
:10202000202020202020202020203A20205247421B
|
||||
:10203000207061747465726E0A2020202020202098
|
||||
:1020400020202020202020202072676220707265CE
|
||||
:10205000736574205B69645D20202020202020208F
|
||||
:10206000202020203A2020736574207072657365EB
|
||||
:102070007420636F6C6F720A2020202020202020A3
|
||||
:102080002020202020202020726762206661646565
|
||||
:10209000205B6F6E2F6F66665D2020202020202041
|
||||
:1020A0002020203A20207475726E20436F6C6F726E
|
||||
:1020B00066616465206F6E206F72206F66660A200D
|
||||
:1020C00020202020202020202020202020202076BA
|
||||
:1020D000657273696F6E2020202020202020202030
|
||||
:1020E000202020202020202020203A20205072690B
|
||||
:1020F0006E742056657273696F6E2E0A004E6F748F
|
||||
:1021000020612076616C696420636F6D6D616E641F
|
||||
:102110000A00524742436F6E74726F6C6C65722096
|
||||
:1021200076302E33207374617274696E670A000012
|
||||
:10110000F1F56D817E8188819981611520E27207F8
|
||||
:10111000C8F536E0769567953A95E1F70E94440761
|
||||
:101120006D817E81613080E2780770F088819981DD
|
||||
:10113000611520E4720760F5705226E07695679598
|
||||
:101140002A95E1F70E943E076D817E81613080E43F
|
||||
:10115000780768F064E0769F612D7727112484E199
|
||||
:10116000689F602D11248A819B810E9444078D8194
|
||||
:101170009E818F3F980719F001969E838D83DF91A2
|
||||
:10118000CF910895672F6695669566956058C6CF8E
|
||||
:10119000672F66956058D6CFCF93DF93EC010E94FE
|
||||
:1011A000FC078C8181116FC08B85882309F45FC097
|
||||
:1011B0008D819E8101969E838D839C8501C0880FC1
|
||||
:1011C0009A95EAF781115FC098B588858917B1F0C3
|
||||
:1011D00068B528B5281B330B81E090E01216130682
|
||||
:1011E00014F090E080E0232F221F2227221F821B71
|
||||
:1011F0009109681B888199810E94440797B5898568
|
||||
:101200008917B1F067B527B5281B330B81E090E053
|
||||
:101210001216130614F090E080E0232F221F2227DD
|
||||
:10122000221F821B9109681B888199810E943E07B9
|
||||
:101230009091B4008A85891731F16091B4002091B2
|
||||
:10124000B400281B330B81E090E01216130614F053
|
||||
:1012500090E080E0232F221F2227221F821B91096A
|
||||
:10126000681B8A819B81DF91CF910C94440769852B
|
||||
:10127000888199810E943E076885888199810E94B2
|
||||
:1012800044076A85EECFDF91CF91089588B5089520
|
||||
:101290008091B400089587B50895EE0FFF1F059063
|
||||
:1012A000F491E02D0994A0E0B0E0E9E5F9E00C94B8
|
||||
:1012B000800D5C016B017A016115710519F0FB016C
|
||||
:1012C00091838083E114F10429F0C7010297839789
|
||||
:1012D00008F0E5C0E5012196F5011081812F90E02D
|
||||
:1012E0000E94870A892B11F05E01F4CF1D3229F488
|
||||
:1012F0002196F501118101E007C01B3221F4E501BF
|
||||
:101300002296F501118100E0E114F10409F1F0E108
|
||||
:10131000EF16F10429F43FC010E3E114F10421F1C8
|
||||
:1013200028E0E216F10401F154F4E2E0EE16F104D3
|
||||
:1013300021F5812C912CA12CB0E4BB2E3EC0FAE00B
|
||||
:10134000EF16F10439F020E1E216F104B1F430C0F7
|
||||
:10135000103319F1FAE0EF2EF12CACEC8A2E982C18
|
||||
:10136000A82CACE0BA2E29C078E0E72EF12C812C15
|
||||
:10137000912CA12CE0E1BE2E20C060E070E080E066
|
||||
:1013800090E897010F2C000C440B550B0E94520D56
|
||||
:1013900049015A0112C0103359F488818F7D883574
|
||||
:1013A00009F0BACF19812296026080E1E82EF12C73
|
||||
:1013B000812C912CA12C68E0B62E40E060E070E01A
|
||||
:1013C000CB0127010F2C000C66087708FE0150EDB9
|
||||
:1013D000352E310E29E0231570F42FEB210F2A3121
|
||||
:1013E00018F439EC332E06C02FE9210F2A3118F5F5
|
||||
:1013F00029EA322E310E232D30E02E153F05DCF484
|
||||
:1014000047FD16C086169706A806B90670F0A30118
|
||||
:1014100092010E94420D630D711D811D911D61306D
|
||||
:101420007105810520E8920710F04FEF01C041E0FF
|
||||
:1014300021961081CBCF202F2170C114D10471F0DF
|
||||
:10144000442329F02197F601D183C08307C001FF0F
|
||||
:1014500019C02297F601D183C08314C047FF12C080
|
||||
:10146000222329F060E070E080E090E804C06FEF94
|
||||
:101470007FEF8FEF9FE722E230E030932307209346
|
||||
:10148000220709C0222381F090958095709561957F
|
||||
:101490007F4F8F4F9F4F462F372F282F12C040E08E
|
||||
:1014A00030E020E090E00DC097FFF5CF82E290E0C1
|
||||
:1014B00090932307809322076FEF7FEF8FEF9FE7D3
|
||||
:1014C000EACF642F732F822FCDB7DEB7E1E10C9402
|
||||
:1014D0009C0DFC0188279927E89421912032E9F39B
|
||||
:1014E000293010F02E30C8F32B3241F02D3239F470
|
||||
:1014F000689404C00E949E0A820F911D219120537E
|
||||
:101500002A30C0F31EF4909581959F4F0895911154
|
||||
:101510000C949B0C803219F089508550C8F70895BF
|
||||
:10152000FB01DC014150504030F08D910190801959
|
||||
:1015300019F40020B9F7881B990B08957AE0979F5A
|
||||
:10154000902D879F802D910D11240895AEE0B0E07D
|
||||
:10155000ECEAFAE00C948D0D0D891E8986E08C83EF
|
||||
:101560001A8309838FEF9FE79E838D83AE01475EC9
|
||||
:101570005F4F6F89788DCE0101960E94C80AEF8176
|
||||
:10158000F885E00FF11F10822E96E4E00C94A90D6F
|
||||
:10159000ACE0B0E0EEECFAE00C947F0D6C017B0166
|
||||
:1015A0008A01FC0117821682838181FFBEC1CE01B0
|
||||
:1015B00001964C01F6019381F70193FD859193FF0C
|
||||
:1015C00081917F01882309F4ACC1853239F493FD00
|
||||
:1015D000859193FF81917F01853229F4B60190E0D6
|
||||
:1015E0000E94B40CE7CF512C312C20E02032A0F423
|
||||
:1015F0008B3269F030F4803259F0833269F4206123
|
||||
:101600002CC08D3239F0803339F4216026C022603D
|
||||
:10161000246023C0286021C027FD27C030ED380F8B
|
||||
:101620003A3078F426FF06C0FAE05F9E300D1124B0
|
||||
:10163000532E13C08AE0389E300D1124332E2062C1
|
||||
:101640000CC08E3221F426FD6CC1206406C08C369D
|
||||
:1016500011F4206802C0883641F4F70193FD8591AA
|
||||
:1016600093FF81917F018111C1CF982F9F7D955468
|
||||
:10167000933028F40C5F1F4F9FE399830DC083368E
|
||||
:1016800031F0833771F0833509F05BC022C0F80177
|
||||
:10169000808189830E5F1F4F44244394512C540151
|
||||
:1016A00015C03801F2E06F0E711CF801A080B18006
|
||||
:1016B00026FF03C0652D70E002C06FEF7FEFC5010C
|
||||
:1016C0002C870E94A90C2C0183012C852F77222EB8
|
||||
:1016D00017C03801F2E06F0E711CF801A080B180D4
|
||||
:1016E00026FF03C0652D70E002C06FEF7FEFC501DC
|
||||
:1016F0002C870E949E0C2C012C852068222E8301B1
|
||||
:1017000023FC1BC0832D90E048165906B0F4B601A7
|
||||
:1017100080E290E00E94B40C3A94F4CFF50127FCEB
|
||||
:10172000859127FE81915F01B60190E00E94B40C83
|
||||
:1017300031103A94F1E04F1A51084114510471F7F5
|
||||
:10174000E6C0843611F0893639F5F80127FF07C065
|
||||
:1017500060817181828193810C5F1F4F08C060811D
|
||||
:101760007181072E000C880B990B0E5F1F4F2F768F
|
||||
:10177000722E97FF09C090958095709561957F4F67
|
||||
:101780008F4F9F4F2068722E2AE030E0A4010E9404
|
||||
:10179000E40CA82EA81844C0853729F42F7EB22E59
|
||||
:1017A0002AE030E025C0F22FF97FBF2E8F36C1F03E
|
||||
:1017B00018F4883579F0B5C0803719F0883721F0F2
|
||||
:1017C000B0C02F2F2061B22EB4FE0DC08B2D8460CF
|
||||
:1017D000B82E09C024FF0AC09F2F9660B92E06C0FC
|
||||
:1017E00028E030E005C020E130E002C020E132E036
|
||||
:1017F000F801B7FE07C060817181828193810C5F1F
|
||||
:101800001F4F06C06081718180E090E00E5F1F4F26
|
||||
:10181000A4010E94E40CA82EA818FB2DFF777F2EB0
|
||||
:1018200076FE0BC0372D3E7FA51450F474FE0AC01F
|
||||
:1018300072FC08C0372D3E7E05C0BA2C372D03C080
|
||||
:10184000BA2C01C0B52C34FF0DC0FE01EA0DF11D0C
|
||||
:101850008081803311F4397E09C032FF06C0B39411
|
||||
:10186000B39404C0832F867809F0B39433FD13C07A
|
||||
:1018700030FF06C0B31498F43A0C532C5B1810C018
|
||||
:10188000B31470F4B60180E290E03C870E94B40C7F
|
||||
:10189000B3943C85F5CFB31418F43B1802C05A2C0E
|
||||
:1018A000312C34FF12C0B60180E390E03C870E94E7
|
||||
:1018B000B40C3C8532FF17C031FD03C088E790E0CF
|
||||
:1018C00002C088E590E0B6010CC0832F867859F0FD
|
||||
:1018D00031FF02C08BE201C080E237FD8DE2B6012C
|
||||
:1018E00090E00E94B40CA51438F4B60180E390E0B7
|
||||
:1018F0000E94B40C5A94F7CFAA94F401EA0DF11D9A
|
||||
:101900008081B60190E00E94B40CA110F5CF332085
|
||||
:1019100009F450CEB60180E290E00E94B40C3A94F3
|
||||
:10192000F6CFF6018681978102C08FEF9FEF2C964C
|
||||
:10193000E2E10C949B0D992788270895FC010590FE
|
||||
:10194000615070400110D8F7809590958E0F9F1FC1
|
||||
:101950000895FC016150704001900110D8F7809506
|
||||
:1019600090958E0F9F1F08950F931F93CF93DF9332
|
||||
:10197000182F092FEB018B8181FD03C08FEF9FEFA3
|
||||
:101980001EC082FF0FC02E813F818C819D81281750
|
||||
:10199000390774F4E881F981CF010196998388832E
|
||||
:1019A000108306C0E885F985812F0995892B31F7C9
|
||||
:1019B0008E819F8101969F838E83812F902FDF914F
|
||||
:1019C000CF911F910F910895FA01AA27283051F164
|
||||
:1019D000203181F1E8946F936E7F6E5F7F4F8F4F60
|
||||
:1019E0009F4FAF4FB1E03ED0B4E03CD0670F781FBF
|
||||
:1019F000891F9A1FA11D680F791F8A1F911DA11DA4
|
||||
:101A00006A0F711D811D911DA11D20D009F46894DC
|
||||
:101A10003F912AE0269F11243019305D3193DEF684
|
||||
:101A2000CF010895462F4770405D4193B3E00FD03A
|
||||
:101A3000C9F7F6CF462F4F70405D4A3318F0495D25
|
||||
:101A400031FD4052419302D0A9F7EACFB4E0A69508
|
||||
:101A50009795879577956795BA95C9F7009761052A
|
||||
:101A6000710508959B01AC010A2E06945795479580
|
||||
:101A700037952795BA95C9F7620F731F841F951F75
|
||||
:101A8000A01D0895DB018F939F930E94740DBF9159
|
||||
:101A9000AF91A29F800D911DA39F900DB29F900DBD
|
||||
:101AA00011240895A1E21A2EAA1BBB1BFD010DC033
|
||||
:101AB000AA1FBB1FEE1FFF1FA217B307E407F507FE
|
||||
:101AC00020F0A21BB30BE40BF50B661F771F881FDA
|
||||
:101AD000991F1A9469F760957095809590959B0170
|
||||
:101AE000AC01BD01CF0108950E94B60DA59F900DD8
|
||||
:101AF000B49F900DA49F800D911D112408952F92E5
|
||||
:101B00003F924F925F926F927F928F929F92AF928D
|
||||
:101B1000BF92CF92DF92EF92FF920F931F93CF93DA
|
||||
:101B2000DF93CDB7DEB7CA1BDB0B0FB6F894DEBF71
|
||||
:101B30000FBECDBF09942A88398848885F846E8497
|
||||
:101B40007D848C849B84AA84B984C884DF80EE80E1
|
||||
:101B5000FD800C811B81AA81B981CE0FD11D0FB6EA
|
||||
:101B6000F894DEBF0FBECDBFED010895A29FB00176
|
||||
:101B7000B39FC001A39F700D811D1124911DB29FC1
|
||||
:0E1B8000700D811D1124911D0895F894FFCF62
|
||||
:101B8E006164640052656C617920736176656421CD
|
||||
:101B9E00204E554D4245523A2025752049443A2053
|
||||
:101BAE0025580A0055736167653A2072656C617934
|
||||
:101BBE0020616464205B69645D202020205B696481
|
||||
:101BCE005D206265696E672061203136626974201E
|
||||
:101BDE00686578206E756D6D6265720A006C69734A
|
||||
:101BEE00740052656C6179733A0A0052454C415942
|
||||
:101BFE003A202575207475726E6564206F6E0A002A
|
||||
:101C0E004E6F2073757463682052656C61790A009B
|
||||
:101C1E0052454C41593A202575207475726E656493
|
||||
:101C2E00206F66660A00206973206E6F7420612033
|
||||
:101C3E0076616C696420737562636F6D6D616E643D
|
||||
:101C4E003A2072656C6179205B6164642F6C6973F4
|
||||
:101C5E00742F6F6E2F6F66665D0A00524742206CBE
|
||||
:101C6E006967687473206F6E0A00524742206C6970
|
||||
:101C7E0067687473206F66660A007072696E74000E
|
||||
:101C8E0043757272656E74205247422076616C7590
|
||||
:101C9E0065733A0A523A20257520473A2025752059
|
||||
:101CAE00423A2025750A0053657420524742207629
|
||||
:101CBE00616C7565730A0055736167653A207267CA
|
||||
:101CCE006220736574205B5252525D205B4747471A
|
||||
:101CDE005D205B4242425D0A007061747465726EF3
|
||||
:101CEE0000536574205061747465726E0A007072D0
|
||||
:101CFE006573657400536574205072657365740A5C
|
||||
:101D0E000066616465206F6E005475726E656420A6
|
||||
:101D1E006F6E20466164650A0066616465206F66B9
|
||||
:101D2E0066005475726E6564206F66662046616447
|
||||
:101D3E00650A00206973206E6F7420612076616CD5
|
||||
:101D4E00696420737562636F6D6D616E643A2072A3
|
||||
:101D5E006762205B2F6F6E2F6F66662F7072696ED3
|
||||
:101D6E00742F7365742F7061747465726E2F707238
|
||||
:101D7E00657365745D0A0072656C617900726762E5
|
||||
:101D8E0000657261736500454550524F4D20657276
|
||||
:101D9E00617365640A0068656C7000417661696CF8
|
||||
:101DAE0061626C6520436F6D6D616E64733A200ADB
|
||||
:101DBE002020202020202020202020202020202015
|
||||
:101DCE0068656C70202020202020202020202020DC
|
||||
:101DDE0020202020202020202020203A2020536860
|
||||
:101DEE006F7720746869732070726F6D7074200A3B
|
||||
:101DFE0020202020202020202020202020202020D5
|
||||
:101E0E0072656C617920616464205B69645D202079
|
||||
:101E1E0020202020202020202020203A2020416435
|
||||
:101E2E006420576972656C6573732052656C6179B5
|
||||
:101E3E000A202020202020202020202020202020AA
|
||||
:101E4E002072656C6179206C6973742020202020CB
|
||||
:101E5E002020202020202020202020203A2020502A
|
||||
:101E6E0072696E74206C697374206F66207361766C
|
||||
:101E7E00656420576972656C6573732052656C6179
|
||||
:101E8E007973200A202020202020202020202020AE
|
||||
:101E9E002020202072656C6179205B6F6E2F6F663B
|
||||
:101EAE00665D205B6E6E5D20202020202020203A73
|
||||
:101EBE0020205475726E206F6E2F6F6666206E74C2
|
||||
:101ECE00682072656C61790A202020202020202055
|
||||
:101EDE002020202020202020657261736520202084
|
||||
:101EEE0020202020202020202020202020202020E4
|
||||
:101EFE002020203A20204572617365206570707233
|
||||
:101F0E006F6D0A202020202020202020202020203D
|
||||
:101F1E00202020726762205B6F6E2F6F66665D20D9
|
||||
:101F2E0020202020202020202020202020203A2089
|
||||
:101F3E00205475726E206F6E2F6F66662052474268
|
||||
:101F4E00206C6564732061742063757272656E74A3
|
||||
:101F5E002076616C75652E0A2020202020202020FE
|
||||
:101F6E002020202020202020726762207072696E4F
|
||||
:101F7E0074202020202020202020202020202020FF
|
||||
:101F8E002020203A20205072696E74206375727280
|
||||
:101F9E00656E74205247422076616C75652E0A205C
|
||||
:101FAE0020202020202020202020202020202072D1
|
||||
:101FBE00676220736574205B5252525D205B474707
|
||||
:101FCE00475D205B4242425D20203A2020536574DB
|
||||
:101FDE00205247422076616C75652C2070617474B6
|
||||
:101FEE0065726E206D75737420626520302E0A2026
|
||||
:101FFE002020202020202020202020202020207281
|
||||
:10200E006762207061747465726E205B69645D2016
|
||||
:10201E00202020202020202020203A20205247421D
|
||||
:10202E00207061747465726E0A202020202020209A
|
||||
:10203E0020202020202020202072676220707265D0
|
||||
:10204E00736574205B69645D202020202020202091
|
||||
:10205E00202020203A2020736574207072657365ED
|
||||
:10206E007420636F6C6F720A2020202020202020A5
|
||||
:10207E002020202020202020726762206661646567
|
||||
:10208E00205B6F6E2F6F66665D2020202020202043
|
||||
:10209E002020203A20207475726E20436F6C6F7270
|
||||
:1020AE0066616465206F6E206F72206F66660A200F
|
||||
:1020BE0020202020202020202020202020202076BC
|
||||
:1020CE00657273696F6E2020202020202020202032
|
||||
:1020DE00202020202020202020203A20205072690D
|
||||
:1020EE006E742056657273696F6E2E0A004E6F7491
|
||||
:1020FE0020612076616C696420636F6D6D616E6422
|
||||
:10210E000A00524742436F6E74726F6C6C65722098
|
||||
:10211E0076302E33207374617274696E670A000014
|
||||
:00000001FF
|
||||
|
16
rgbled.cpp
16
rgbled.cpp
@ -90,12 +90,14 @@ void RgbLed::setPattern(const uint8_t id)
|
||||
|
||||
void RgbLed::on()
|
||||
{
|
||||
_powerd = true;
|
||||
_pwmA->on();
|
||||
_pwmB->on();
|
||||
}
|
||||
|
||||
void RgbLed::off()
|
||||
{
|
||||
_powerd = false;
|
||||
_pwmA->off();
|
||||
_pwmB->off();
|
||||
}
|
||||
@ -117,7 +119,7 @@ void RgbLed::patternStep()
|
||||
_pwmA->setDutyA(255-_counter);
|
||||
_pwmB->setDutyB(_counter-64);
|
||||
}
|
||||
else if(_pattern == 2)
|
||||
else if(_pattern == 2) //Alarm!
|
||||
{
|
||||
if(!_stroke)_counter++;
|
||||
else _counter --;
|
||||
@ -137,16 +139,16 @@ void RgbLed::patternStep()
|
||||
_pwmA->setDutyA(_counter >> 8);
|
||||
_pwmB->setDutyB(_counter >> 3);
|
||||
}
|
||||
else if(_pattern == 4)
|
||||
else if(_pattern == 4) //Sunrise
|
||||
{
|
||||
( _counter < 8192 ) ? _pwmA->setDutyB(_counter >> 6) : _pwmA->setDutyB( 128 + (_counter >> 11));
|
||||
if( _counter > 1024 ) ( 8192 < _counter < 16384 ) ? _pwmA->setDutyA(_counter-8192 >> 6) : _pwmA->setDutyA( 128 + (_counter >> 9 ));
|
||||
if( _counter > 8192 ) _pwmB->setDutyB(_counter >> 9);
|
||||
if( _counter > 8192 ) ( _counter < 16384 ) ? _pwmA->setDutyA((_counter-8192) >> 6) : _pwmA->setDutyA( 128 + (_counter >> 9 ));
|
||||
if( _counter > 16384 ) _pwmB->setDutyB((_counter >> 14)*20);
|
||||
|
||||
if(_counter<65530) _counter++;
|
||||
else _pwmB->setDutyB(140);
|
||||
if( _counter < 65535 ) _counter++;
|
||||
//else _pwmB->setDutyB(140);
|
||||
|
||||
_delay_ms(18); //honey dose this make me look slow?
|
||||
//_delay_ms(18); //honey dose this make me look slow?
|
||||
}
|
||||
}
|
||||
|
||||
|
4
rgbled.h
4
rgbled.h
@ -18,6 +18,8 @@ private:
|
||||
bool _fade = true;
|
||||
uint8_t _fadeSpeed = 7;
|
||||
|
||||
bool _powerd = false;
|
||||
|
||||
void patternStep();
|
||||
|
||||
public:
|
||||
@ -36,6 +38,8 @@ public:
|
||||
uint8_t getR();
|
||||
uint8_t getB();
|
||||
uint8_t getG();
|
||||
bool isPowerd();
|
||||
uint8_t getPattern();
|
||||
|
||||
};
|
||||
|
||||
|
68
serial.cpp
68
serial.cpp
@ -1,12 +1,26 @@
|
||||
#include "serial.h"
|
||||
|
||||
char rxBuffer[BUFFER_SIZE];
|
||||
volatile uint16_t interruptIndex = 0;
|
||||
volatile uint32_t interruptIndex = 0;
|
||||
volatile uint32_t _rxIndex = 0;
|
||||
|
||||
bool stopped = false;
|
||||
|
||||
ISR (USART_RX_vect) //I have seen worse interrupt sintax
|
||||
{
|
||||
rxBuffer[interruptIndex % BUFFER_SIZE] = UDR0;
|
||||
interruptIndex++;
|
||||
/*if (interruptIndex - BUFFER_SIZE > 0 && _rxIndex - BUFFER_SIZE > 0)
|
||||
{
|
||||
interruptIndex -= BUFFER_SIZE;
|
||||
_rxIndex -= BUFFER_SIZE;
|
||||
}*/
|
||||
if(serialFlowControl && !stopped && interruptIndex - _rxIndex > BUFFER_SIZE - 64)
|
||||
{
|
||||
loop_until_bit_is_set(UCSR0A, UDRE0);
|
||||
UDR0 = 0x13;
|
||||
stopped = true;
|
||||
}
|
||||
if(interruptIndex - _rxIndex < BUFFER_SIZE )interruptIndex++;
|
||||
}
|
||||
|
||||
Serial::Serial()
|
||||
@ -24,7 +38,7 @@ void Serial::putChar(const char c)
|
||||
UDR0 = c;
|
||||
}
|
||||
|
||||
void Serial::putString(const char* in, const unsigned int length)
|
||||
void Serial::write(const char* in, const unsigned int length)
|
||||
{
|
||||
for(unsigned int i = 0; i < length && in[i] != '\0'; i++)
|
||||
{
|
||||
@ -32,7 +46,7 @@ void Serial::putString(const char* in, const unsigned int length)
|
||||
}
|
||||
}
|
||||
|
||||
void Serial::putString(const char in[])
|
||||
void Serial::write(const char in[])
|
||||
{
|
||||
for(unsigned int i = 0; i < strlen(in); i++)
|
||||
{
|
||||
@ -40,6 +54,35 @@ void Serial::putString(const char in[])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Serial::write(int32_t in)
|
||||
{
|
||||
if(in == 0)
|
||||
{
|
||||
putChar('0');
|
||||
}
|
||||
else
|
||||
{
|
||||
bool flag = false;
|
||||
char str[64] = { 0 };
|
||||
int16_t i = 62;
|
||||
if (in < 0)
|
||||
{
|
||||
flag = true;
|
||||
in = abs(in);
|
||||
}
|
||||
|
||||
while (in != 0 && i > 0)
|
||||
{
|
||||
str[i--] = (in % 10) + '0';
|
||||
in /= 10;
|
||||
}
|
||||
|
||||
if (flag) str[i--] = '-';
|
||||
write(str + i + 1, 64-(i+1));
|
||||
}
|
||||
}
|
||||
|
||||
bool Serial::dataIsWaiting()
|
||||
{
|
||||
return (interruptIndex > _rxIndex);
|
||||
@ -47,10 +90,15 @@ bool Serial::dataIsWaiting()
|
||||
|
||||
char Serial::getChar()
|
||||
{
|
||||
if( _rxIndex >= (32768) - 2*BUFFER_SIZE ) flush(); //may explode only occasionaly
|
||||
if(dataIsWaiting())
|
||||
{
|
||||
_rxIndex++;
|
||||
if(serialFlowControl && stopped && interruptIndex - _rxIndex < 64)
|
||||
{
|
||||
loop_until_bit_is_set(UCSR0A, UDRE0);
|
||||
UDR0 = 0x11;
|
||||
stopped = false;
|
||||
}
|
||||
return rxBuffer[(_rxIndex -1) % BUFFER_SIZE];
|
||||
}
|
||||
else return '\0';
|
||||
@ -58,12 +106,12 @@ char Serial::getChar()
|
||||
|
||||
unsigned int Serial::getString(char* buffer, const int bufferLength)
|
||||
{
|
||||
int i = 0;
|
||||
unsigned int i = 0;
|
||||
for(; i <= (interruptIndex-_rxIndex) && i <= BUFFER_SIZE && rxBuffer[(_rxIndex+i) % BUFFER_SIZE] != _terminator; i++);
|
||||
|
||||
if( i < (interruptIndex-_rxIndex) && i > 0)
|
||||
{
|
||||
int j = 0;
|
||||
unsigned int j = 0;
|
||||
for(; j < i && j < bufferLength-1 ; j++)
|
||||
{
|
||||
buffer[j] = getChar();
|
||||
@ -71,11 +119,7 @@ unsigned int Serial::getString(char* buffer, const int bufferLength)
|
||||
buffer[j+1]='\0';
|
||||
_rxIndex++;
|
||||
}
|
||||
else
|
||||
{
|
||||
i = 0;
|
||||
if( _rxIndex >= (32768) - 2*BUFFER_SIZE ) flush();
|
||||
}
|
||||
else i = 0;
|
||||
|
||||
if (rxBuffer[(_rxIndex+i) % BUFFER_SIZE] == _terminator) _rxIndex++;
|
||||
|
||||
|
14
serial.h
14
serial.h
@ -1,25 +1,29 @@
|
||||
#ifndef SERIAL_H
|
||||
#define SERIAL_H
|
||||
|
||||
#define BAUD 38400
|
||||
#define BUFFER_SIZE 128
|
||||
#define BAUD 19200
|
||||
#define BUFFER_SIZE 1024
|
||||
|
||||
#include <util/setbaud.h>
|
||||
#include <avr/io.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
const bool serialFlowControl = false;
|
||||
|
||||
class Serial
|
||||
{
|
||||
private:
|
||||
char _terminator = '\n';
|
||||
uint16_t _rxIndex=0;
|
||||
|
||||
|
||||
public:
|
||||
Serial();
|
||||
void putChar(const char c);
|
||||
void putString(const char* in, const unsigned int length);
|
||||
void putString(const char in[]);
|
||||
void write(const char* in, const unsigned int length);
|
||||
void write(const char in[]);
|
||||
void write(const int32_t in);
|
||||
bool dataIsWaiting();
|
||||
char getChar();
|
||||
unsigned int getString(char* buffer, const int bufferLength);
|
||||
|
Reference in New Issue
Block a user