mathematical 1.6.8 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -0
  3. data/ext/mathematical/extconf.rb +27 -9
  4. data/ext/mathematical/lib/liblasem.dylib +0 -0
  5. data/ext/mathematical/lib/libmtex2MML.a +0 -0
  6. data/ext/mathematical/mtex2MML/build/CMakeCache.txt +9 -7
  7. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CMakeCCompiler.cmake +68 -0
  8. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CMakeCXXCompiler.cmake +70 -0
  9. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CMakeDetermineCompilerABI_C.bin +0 -0
  10. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CMakeDetermineCompilerABI_CXX.bin +0 -0
  11. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CMakeSystem.cmake +15 -0
  12. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CompilerIdC/CMakeCCompilerId.c +567 -0
  13. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CompilerIdC/a.out +0 -0
  14. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CompilerIdCXX/CMakeCXXCompilerId.cpp +539 -0
  15. data/ext/mathematical/mtex2MML/build/CMakeFiles/3.8.0/CompilerIdCXX/a.out +0 -0
  16. data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeDirectoryInformation.cmake +1 -1
  17. data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeOutput.log +532 -0
  18. data/ext/mathematical/mtex2MML/build/CMakeFiles/CMakeRuleHashes.txt +28 -28
  19. data/ext/mathematical/mtex2MML/build/CMakeFiles/Continuous.dir/build.make +4 -4
  20. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousBuild.dir/build.make +4 -4
  21. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousConfigure.dir/build.make +4 -4
  22. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousCoverage.dir/build.make +4 -4
  23. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousMemCheck.dir/build.make +4 -4
  24. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousStart.dir/build.make +4 -4
  25. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousSubmit.dir/build.make +4 -4
  26. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousTest.dir/build.make +4 -4
  27. data/ext/mathematical/mtex2MML/build/CMakeFiles/ContinuousUpdate.dir/build.make +4 -4
  28. data/ext/mathematical/mtex2MML/build/CMakeFiles/Experimental.dir/build.make +4 -4
  29. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalBuild.dir/build.make +4 -4
  30. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalConfigure.dir/build.make +4 -4
  31. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalCoverage.dir/build.make +4 -4
  32. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalMemCheck.dir/build.make +4 -4
  33. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalStart.dir/build.make +4 -4
  34. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalSubmit.dir/build.make +4 -4
  35. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalTest.dir/build.make +4 -4
  36. data/ext/mathematical/mtex2MML/build/CMakeFiles/ExperimentalUpdate.dir/build.make +4 -4
  37. data/ext/mathematical/mtex2MML/build/CMakeFiles/Makefile.cmake +107 -107
  38. data/ext/mathematical/mtex2MML/build/CMakeFiles/Makefile2 +3 -3
  39. data/ext/mathematical/mtex2MML/build/CMakeFiles/Nightly.dir/build.make +4 -4
  40. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyBuild.dir/build.make +4 -4
  41. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyConfigure.dir/build.make +4 -4
  42. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyCoverage.dir/build.make +4 -4
  43. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemCheck.dir/build.make +4 -4
  44. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyMemoryCheck.dir/build.make +4 -4
  45. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyStart.dir/build.make +4 -4
  46. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlySubmit.dir/build.make +4 -4
  47. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyTest.dir/build.make +4 -4
  48. data/ext/mathematical/mtex2MML/build/CMakeFiles/NightlyUpdate.dir/build.make +4 -4
  49. data/ext/mathematical/mtex2MML/build/CMakeFiles/feature_tests.bin +0 -0
  50. data/ext/mathematical/mtex2MML/build/CMakeFiles/format.dir/build.make +3 -3
  51. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/build.make +24 -24
  52. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/cmake_clean.cmake +1 -1
  53. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/flags.make +1 -1
  54. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML.dir/link.txt +1 -1
  55. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/C.includecache +1 -1
  56. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/build.make +24 -24
  57. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/depend.internal +1 -1
  58. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/depend.make +1 -1
  59. data/ext/mathematical/mtex2MML/build/CMakeFiles/libmtex2MML_static.dir/flags.make +1 -1
  60. data/ext/mathematical/mtex2MML/build/CMakeFiles/memcheck.dir/build.make +3 -3
  61. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/build.make +27 -27
  62. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/flags.make +1 -1
  63. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML.dir/link.txt +1 -1
  64. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/build.make +75 -75
  65. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/flags.make +1 -1
  66. data/ext/mathematical/mtex2MML/build/CMakeFiles/mtex2MML_clar.dir/link.txt +1 -1
  67. data/ext/mathematical/mtex2MML/build/DartConfiguration.tcl +2 -2
  68. data/ext/mathematical/mtex2MML/build/Makefile +15 -13
  69. data/ext/mathematical/mtex2MML/build/libmtex2MML.a +0 -0
  70. data/lib/mathematical/validator.rb +1 -1
  71. data/lib/mathematical/version.rb +1 -1
  72. data/test/mathematical/maliciousness_test.rb +3 -2
  73. metadata +12 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4803ad1b6767c494e296b2113ddd2d915214c3d6
4
- data.tar.gz: c9217e69022151d63f87b1a144f4177ecdcac7fc
3
+ metadata.gz: 8ca8cd6855138696899ff2ea0c0bbeb158e7cf9f
4
+ data.tar.gz: fd70b584ab7a1362448132f4587c652bd550d642
5
5
  SHA512:
6
- metadata.gz: 7c8bdf4fb9d6b0526b5aa8711029bafeeb66e755a8ecd7c316c011e44b46eb4e721c62f2939fe4c6b8198df754cc99853e501490a29f617cca6821be3a9ff26e
7
- data.tar.gz: 764397e0dda7e79b8241c6088856a46ebe354036c15a036104dc42d7bdd6b6fd11df3d52c1647b42ace5142f40672dcb1be19a3eaef310316b0e929c06c019a8
6
+ metadata.gz: 78900a0c9f91af294b4badc8f0f3b69783ae76d8f01b19444d9e0007baca9c96dc3f82a6efa62ff48cbe0bab3cd17ff26e6fd9bab59dd48070ca13d35ef8489f
7
+ data.tar.gz: 9e028183c3380b18deedd0800de04e7b3849fc417676d656b23e7895b9d85ee501d63e3edc863dc20f48edbbe7ecfb2e7fd8af08229338263f882c331ef9eb41
data/README.md CHANGED
@@ -157,6 +157,18 @@ If you're having issues building Lasem, or have Lasem already preinstalled, you
157
157
 
158
158
  MATHEMATICAL_USE_SYSTEM_LASEM=1 gem install mathematical
159
159
 
160
+ ### Issues building mtex2mml
161
+
162
+ If you're having issues building mtex2mml, or have mtex2mml already preinstalled, you should set the `MATHEMATICAL_USE_SYSTEM_MTEX2MML` environment variable to skip the build:
163
+
164
+ * If you use bundler:
165
+
166
+ MATHEMATICAL_USE_SYSTEM_MTEX2MML=1 bundle install
167
+
168
+ * If you use gem install:
169
+
170
+ MATHEMATICAL_USE_SYSTEM_MTEX2MML=1 gem install mathematical
171
+
160
172
  ## Benchmark
161
173
 
162
174
  Run benchmarks with `bundle exec rake benchmark`:
@@ -21,6 +21,10 @@ def using_system_lasem?
21
21
  arg_config('--use-system-lasem', !!ENV['MATHEMATICAL_USE_SYSTEM_LASEM'])
22
22
  end
23
23
 
24
+ def using_system_mtex2mml?
25
+ arg_config('--use-system-mtex2MML', !!ENV['MATHEMATICAL_USE_SYSTEM_MTEX2MML'])
26
+ end
27
+
24
28
  ROOT_TMP = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'tmp'))
25
29
 
26
30
  LASEM_DIR = File.expand_path(File.join(File.dirname(__FILE__), 'lasem'))
@@ -57,10 +61,22 @@ end
57
61
  clean_dir(MTEX2MML_BUILD_DIR)
58
62
  clean_dir(LASEM_BUILD_DIR)
59
63
 
60
- # build mtex2MML library
61
- Dir.chdir(MTEX2MML_BUILD_DIR) do
62
- system 'cmake ..'
63
- system 'make libmtex2MML_static'
64
+ if !using_system_mtex2mml?
65
+ # build mtex2MML library
66
+ Dir.chdir(MTEX2MML_BUILD_DIR) do
67
+ system 'cmake ..'
68
+ system 'make libmtex2MML_static'
69
+ end
70
+ FileUtils.mkdir_p(MTEX2MML_LIB_DIR)
71
+ FileUtils.cp_r(File.join(MTEX2MML_BUILD_DIR, 'libmtex2MML.a'), MTEX2MML_LIB_DIR)
72
+ $LIBS << ' -lmtex2MML'
73
+ else
74
+ if dir_config('mtex2MML').any? || system('dpkg -s libmtex2MML >/dev/null')
75
+ $LIBS << ' -lmtex2MML'
76
+ else
77
+ # NOTE: pkg_config implicitly adds right -l argument for the linker.
78
+ pkg_config('libmtex2MML') || pkg_config('mtex2MML')
79
+ end
64
80
  end
65
81
 
66
82
  if !using_system_lasem?
@@ -72,13 +88,16 @@ if !using_system_lasem?
72
88
  end
73
89
  FileUtils.mkdir_p(LASEM_LIB_DIR)
74
90
  FileUtils.cp_r(File.join(LASEM_BUILD_DIR, "liblasem.#{SHARED_EXT}"), LASEM_LIB_DIR)
91
+ $LIBS << ' -llasem'
75
92
  else
76
- dir_config('lasem').any? || pkg_config('liblasem') || system('dpkg -s liblasem >/dev/null')
93
+ if dir_config('lasem').any? || system('dpkg -s liblasem >/dev/null')
94
+ $LIBS << ' -llasem'
95
+ else
96
+ # NOTE: pkg_config implicitly adds right -l argument for the linker.
97
+ pkg_config('liblasem') || pkg_config('lasem')
98
+ end
77
99
  end
78
100
 
79
- FileUtils.mkdir_p(MTEX2MML_LIB_DIR)
80
- FileUtils.cp_r(File.join(MTEX2MML_BUILD_DIR, 'libmtex2MML.a'), MTEX2MML_LIB_DIR)
81
-
82
101
  LIB_DIRS = [MTEX2MML_LIB_DIR, LASEM_LIB_DIR]
83
102
  HEADER_DIRS = [MTEX2MML_SRC_DIR, LASEM_SRC_DIR]
84
103
 
@@ -89,6 +108,5 @@ find_header('mtex2MML.h', MTEX2MML_SRC_DIR)
89
108
  flag = ENV['TRAVIS'] ? '-O0' : '-O2'
90
109
  $LDFLAGS << " #{`pkg-config --static --libs glib-2.0 gdk-pixbuf-2.0 cairo pango`.chomp}"
91
110
  $CFLAGS << " #{flag} #{`pkg-config --cflags glib-2.0 gdk-pixbuf-2.0 cairo pango`.chomp}"
92
- $LIBS << ' -lmtex2MML -llasem'
93
111
 
94
112
  create_makefile('mathematical/mathematical')
@@ -1,6 +1,6 @@
1
1
  # This is the CMakeCache file.
2
2
  # For build in directory: /Users/gjtorikian/Developer/mathematical/ext/mathematical/mtex2MML/build
3
- # It was generated by CMake: /usr/local/Cellar/cmake/3.7.2/bin/cmake
3
+ # It was generated by CMake: /usr/local/Cellar/cmake/3.8.0/bin/cmake
4
4
  # You can edit this file to change values found and used by cmake.
5
5
  # If you do not want to change any of the values, simply exit the editor.
6
6
  # If you do want to change a value, simply edit, save, and exit the editor.
@@ -305,19 +305,19 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/Users/gjtorikian/Developer/mathematical/ext/mathem
305
305
  //Major version of cmake used to create the current loaded cache
306
306
  CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
307
307
  //Minor version of cmake used to create the current loaded cache
308
- CMAKE_CACHE_MINOR_VERSION:INTERNAL=7
308
+ CMAKE_CACHE_MINOR_VERSION:INTERNAL=8
309
309
  //Patch version of cmake used to create the current loaded cache
310
- CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
310
+ CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
311
311
  //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
312
312
  CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
313
313
  //Path to CMake executable.
314
- CMAKE_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.7.2/bin/cmake
314
+ CMAKE_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.8.0/bin/cmake
315
315
  //Path to cpack program executable.
316
- CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.7.2/bin/cpack
316
+ CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.8.0/bin/cpack
317
317
  //ADVANCED property for variable: CMAKE_CTEST_COMMAND
318
318
  CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1
319
319
  //Path to ctest program executable.
320
- CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.7.2/bin/ctest
320
+ CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/Cellar/cmake/3.8.0/bin/ctest
321
321
  //ADVANCED property for variable: CMAKE_CXX_COMPILER
322
322
  CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
323
323
  //ADVANCED property for variable: CMAKE_CXX_FLAGS
@@ -393,10 +393,12 @@ CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
393
393
  CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
394
394
  //ADVANCED property for variable: CMAKE_OBJDUMP
395
395
  CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
396
+ //Platform information initialized
397
+ CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
396
398
  //ADVANCED property for variable: CMAKE_RANLIB
397
399
  CMAKE_RANLIB-ADVANCED:INTERNAL=1
398
400
  //Path to CMake installation.
399
- CMAKE_ROOT:INTERNAL=/usr/local/Cellar/cmake/3.7.2/share/cmake
401
+ CMAKE_ROOT:INTERNAL=/usr/local/Cellar/cmake/3.8.0/share/cmake
400
402
  //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
401
403
  CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
402
404
  //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
@@ -0,0 +1,68 @@
1
+ set(CMAKE_C_COMPILER "/Library/Developer/CommandLineTools/usr/bin/cc")
2
+ set(CMAKE_C_COMPILER_ARG1 "")
3
+ set(CMAKE_C_COMPILER_ID "AppleClang")
4
+ set(CMAKE_C_COMPILER_VERSION "8.1.0.8020042")
5
+ set(CMAKE_C_COMPILER_WRAPPER "")
6
+ set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
7
+ 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")
8
+ set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
9
+ set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
10
+ set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
11
+
12
+ set(CMAKE_C_PLATFORM_ID "Darwin")
13
+ set(CMAKE_C_SIMULATE_ID "")
14
+ set(CMAKE_C_SIMULATE_VERSION "")
15
+
16
+ set(CMAKE_AR "/Library/Developer/CommandLineTools/usr/bin/ar")
17
+ set(CMAKE_RANLIB "/Library/Developer/CommandLineTools/usr/bin/ranlib")
18
+ set(CMAKE_LINKER "/Library/Developer/CommandLineTools/usr/bin/ld")
19
+ set(CMAKE_COMPILER_IS_GNUCC )
20
+ set(CMAKE_C_COMPILER_LOADED 1)
21
+ set(CMAKE_C_COMPILER_WORKS TRUE)
22
+ set(CMAKE_C_ABI_COMPILED TRUE)
23
+ set(CMAKE_COMPILER_IS_MINGW )
24
+ set(CMAKE_COMPILER_IS_CYGWIN )
25
+ if(CMAKE_COMPILER_IS_CYGWIN)
26
+ set(CYGWIN 1)
27
+ set(UNIX 1)
28
+ endif()
29
+
30
+ set(CMAKE_C_COMPILER_ENV_VAR "CC")
31
+
32
+ if(CMAKE_COMPILER_IS_MINGW)
33
+ set(MINGW 1)
34
+ endif()
35
+ set(CMAKE_C_COMPILER_ID_RUN 1)
36
+ set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
37
+ set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
38
+ set(CMAKE_C_LINKER_PREFERENCE 10)
39
+
40
+ # Save compiler ABI information.
41
+ set(CMAKE_C_SIZEOF_DATA_PTR "8")
42
+ set(CMAKE_C_COMPILER_ABI "")
43
+ set(CMAKE_C_LIBRARY_ARCHITECTURE "")
44
+
45
+ if(CMAKE_C_SIZEOF_DATA_PTR)
46
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
47
+ endif()
48
+
49
+ if(CMAKE_C_COMPILER_ABI)
50
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
51
+ endif()
52
+
53
+ if(CMAKE_C_LIBRARY_ARCHITECTURE)
54
+ set(CMAKE_LIBRARY_ARCHITECTURE "")
55
+ endif()
56
+
57
+ set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
58
+ if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
59
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
60
+ endif()
61
+
62
+
63
+
64
+
65
+
66
+ set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
67
+ set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib;/usr/local/lib")
68
+ set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Library/Frameworks;/System/Library/Frameworks")
@@ -0,0 +1,70 @@
1
+ set(CMAKE_CXX_COMPILER "/Library/Developer/CommandLineTools/usr/bin/c++")
2
+ set(CMAKE_CXX_COMPILER_ARG1 "")
3
+ set(CMAKE_CXX_COMPILER_ID "AppleClang")
4
+ set(CMAKE_CXX_COMPILER_VERSION "8.1.0.8020042")
5
+ set(CMAKE_CXX_COMPILER_WRAPPER "")
6
+ set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
7
+ 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")
8
+ set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
9
+ 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")
10
+ 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")
11
+ set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
12
+
13
+ set(CMAKE_CXX_PLATFORM_ID "Darwin")
14
+ set(CMAKE_CXX_SIMULATE_ID "")
15
+ set(CMAKE_CXX_SIMULATE_VERSION "")
16
+
17
+ set(CMAKE_AR "/Library/Developer/CommandLineTools/usr/bin/ar")
18
+ set(CMAKE_RANLIB "/Library/Developer/CommandLineTools/usr/bin/ranlib")
19
+ set(CMAKE_LINKER "/Library/Developer/CommandLineTools/usr/bin/ld")
20
+ set(CMAKE_COMPILER_IS_GNUCXX )
21
+ set(CMAKE_CXX_COMPILER_LOADED 1)
22
+ set(CMAKE_CXX_COMPILER_WORKS TRUE)
23
+ set(CMAKE_CXX_ABI_COMPILED TRUE)
24
+ set(CMAKE_COMPILER_IS_MINGW )
25
+ set(CMAKE_COMPILER_IS_CYGWIN )
26
+ if(CMAKE_COMPILER_IS_CYGWIN)
27
+ set(CYGWIN 1)
28
+ set(UNIX 1)
29
+ endif()
30
+
31
+ set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
32
+
33
+ if(CMAKE_COMPILER_IS_MINGW)
34
+ set(MINGW 1)
35
+ endif()
36
+ set(CMAKE_CXX_COMPILER_ID_RUN 1)
37
+ set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
38
+ set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
39
+ set(CMAKE_CXX_LINKER_PREFERENCE 30)
40
+ set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
41
+
42
+ # Save compiler ABI information.
43
+ set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
44
+ set(CMAKE_CXX_COMPILER_ABI "")
45
+ set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
46
+
47
+ if(CMAKE_CXX_SIZEOF_DATA_PTR)
48
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
49
+ endif()
50
+
51
+ if(CMAKE_CXX_COMPILER_ABI)
52
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
53
+ endif()
54
+
55
+ if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
56
+ set(CMAKE_LIBRARY_ARCHITECTURE "")
57
+ endif()
58
+
59
+ set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
60
+ if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
61
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
62
+ endif()
63
+
64
+
65
+
66
+
67
+
68
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++")
69
+ set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib;/usr/local/lib")
70
+ set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Library/Frameworks;/System/Library/Frameworks")
@@ -0,0 +1,15 @@
1
+ set(CMAKE_HOST_SYSTEM "Darwin-16.5.0")
2
+ set(CMAKE_HOST_SYSTEM_NAME "Darwin")
3
+ set(CMAKE_HOST_SYSTEM_VERSION "16.5.0")
4
+ set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
5
+
6
+
7
+
8
+ set(CMAKE_SYSTEM "Darwin-16.5.0")
9
+ set(CMAKE_SYSTEM_NAME "Darwin")
10
+ set(CMAKE_SYSTEM_VERSION "16.5.0")
11
+ set(CMAKE_SYSTEM_PROCESSOR "x86_64")
12
+
13
+ set(CMAKE_CROSSCOMPILING "FALSE")
14
+
15
+ set(CMAKE_SYSTEM_LOADED 1)
@@ -0,0 +1,567 @@
1
+ #ifdef __cplusplus
2
+ # error "A C++ compiler has been selected for C."
3
+ #endif
4
+
5
+ #if defined(__18CXX)
6
+ # define ID_VOID_MAIN
7
+ #endif
8
+ #if defined(__CLASSIC_C__)
9
+ /* cv-qualifiers did not exist in K&R C */
10
+ # define const
11
+ # define volatile
12
+ #endif
13
+
14
+
15
+ /* Version number components: V=Version, R=Revision, P=Patch
16
+ Version date components: YYYY=Year, MM=Month, DD=Day */
17
+
18
+ #if defined(__INTEL_COMPILER) || defined(__ICC)
19
+ # define COMPILER_ID "Intel"
20
+ # if defined(_MSC_VER)
21
+ # define SIMULATE_ID "MSVC"
22
+ # endif
23
+ /* __INTEL_COMPILER = VRP */
24
+ # define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
25
+ # define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
26
+ # if defined(__INTEL_COMPILER_UPDATE)
27
+ # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
28
+ # else
29
+ # define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
30
+ # endif
31
+ # if defined(__INTEL_COMPILER_BUILD_DATE)
32
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
33
+ # define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
34
+ # endif
35
+ # if defined(_MSC_VER)
36
+ /* _MSC_VER = VVRR */
37
+ # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
38
+ # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
39
+ # endif
40
+
41
+ #elif defined(__PATHCC__)
42
+ # define COMPILER_ID "PathScale"
43
+ # define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
44
+ # define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
45
+ # if defined(__PATHCC_PATCHLEVEL__)
46
+ # define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
47
+ # endif
48
+
49
+ #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
50
+ # define COMPILER_ID "Embarcadero"
51
+ # define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
52
+ # define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
53
+ # define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
54
+
55
+ #elif defined(__BORLANDC__)
56
+ # define COMPILER_ID "Borland"
57
+ /* __BORLANDC__ = 0xVRR */
58
+ # define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
59
+ # define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
60
+
61
+ #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
62
+ # define COMPILER_ID "Watcom"
63
+ /* __WATCOMC__ = VVRR */
64
+ # define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
65
+ # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
66
+ # if (__WATCOMC__ % 10) > 0
67
+ # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
68
+ # endif
69
+
70
+ #elif defined(__WATCOMC__)
71
+ # define COMPILER_ID "OpenWatcom"
72
+ /* __WATCOMC__ = VVRP + 1100 */
73
+ # define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
74
+ # define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
75
+ # if (__WATCOMC__ % 10) > 0
76
+ # define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
77
+ # endif
78
+
79
+ #elif defined(__SUNPRO_C)
80
+ # define COMPILER_ID "SunPro"
81
+ # if __SUNPRO_C >= 0x5100
82
+ /* __SUNPRO_C = 0xVRRP */
83
+ # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
84
+ # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
85
+ # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
86
+ # else
87
+ /* __SUNPRO_CC = 0xVRP */
88
+ # define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
89
+ # define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
90
+ # define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
91
+ # endif
92
+
93
+ #elif defined(__HP_cc)
94
+ # define COMPILER_ID "HP"
95
+ /* __HP_cc = VVRRPP */
96
+ # define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
97
+ # define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
98
+ # define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
99
+
100
+ #elif defined(__DECC)
101
+ # define COMPILER_ID "Compaq"
102
+ /* __DECC_VER = VVRRTPPPP */
103
+ # define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
104
+ # define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
105
+ # define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
106
+
107
+ #elif defined(__IBMC__) && defined(__COMPILER_VER__)
108
+ # define COMPILER_ID "zOS"
109
+ /* __IBMC__ = VRP */
110
+ # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
111
+ # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
112
+ # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
113
+
114
+ #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
115
+ # define COMPILER_ID "XL"
116
+ /* __IBMC__ = VRP */
117
+ # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
118
+ # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
119
+ # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
120
+
121
+ #elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
122
+ # define COMPILER_ID "VisualAge"
123
+ /* __IBMC__ = VRP */
124
+ # define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
125
+ # define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
126
+ # define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
127
+
128
+ #elif defined(__PGI)
129
+ # define COMPILER_ID "PGI"
130
+ # define COMPILER_VERSION_MAJOR DEC(__PGIC__)
131
+ # define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
132
+ # if defined(__PGIC_PATCHLEVEL__)
133
+ # define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
134
+ # endif
135
+
136
+ #elif defined(_CRAYC)
137
+ # define COMPILER_ID "Cray"
138
+ # define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
139
+ # define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
140
+
141
+ #elif defined(__TI_COMPILER_VERSION__)
142
+ # define COMPILER_ID "TI"
143
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
144
+ # define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
145
+ # define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
146
+ # define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
147
+
148
+ #elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
149
+ # define COMPILER_ID "Fujitsu"
150
+
151
+ #elif defined(__TINYC__)
152
+ # define COMPILER_ID "TinyCC"
153
+
154
+ #elif defined(__BCC__)
155
+ # define COMPILER_ID "Bruce"
156
+
157
+ #elif defined(__SCO_VERSION__)
158
+ # define COMPILER_ID "SCO"
159
+
160
+ #elif defined(__clang__) && defined(__apple_build_version__)
161
+ # define COMPILER_ID "AppleClang"
162
+ # if defined(_MSC_VER)
163
+ # define SIMULATE_ID "MSVC"
164
+ # endif
165
+ # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
166
+ # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
167
+ # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
168
+ # if defined(_MSC_VER)
169
+ /* _MSC_VER = VVRR */
170
+ # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
171
+ # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
172
+ # endif
173
+ # define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
174
+
175
+ #elif defined(__clang__)
176
+ # define COMPILER_ID "Clang"
177
+ # if defined(_MSC_VER)
178
+ # define SIMULATE_ID "MSVC"
179
+ # endif
180
+ # define COMPILER_VERSION_MAJOR DEC(__clang_major__)
181
+ # define COMPILER_VERSION_MINOR DEC(__clang_minor__)
182
+ # define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
183
+ # if defined(_MSC_VER)
184
+ /* _MSC_VER = VVRR */
185
+ # define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
186
+ # define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
187
+ # endif
188
+
189
+ #elif defined(__GNUC__)
190
+ # define COMPILER_ID "GNU"
191
+ # define COMPILER_VERSION_MAJOR DEC(__GNUC__)
192
+ # if defined(__GNUC_MINOR__)
193
+ # define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
194
+ # endif
195
+ # if defined(__GNUC_PATCHLEVEL__)
196
+ # define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
197
+ # endif
198
+
199
+ #elif defined(_MSC_VER)
200
+ # define COMPILER_ID "MSVC"
201
+ /* _MSC_VER = VVRR */
202
+ # define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
203
+ # define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
204
+ # if defined(_MSC_FULL_VER)
205
+ # if _MSC_VER >= 1400
206
+ /* _MSC_FULL_VER = VVRRPPPPP */
207
+ # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
208
+ # else
209
+ /* _MSC_FULL_VER = VVRRPPPP */
210
+ # define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
211
+ # endif
212
+ # endif
213
+ # if defined(_MSC_BUILD)
214
+ # define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
215
+ # endif
216
+
217
+ #elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
218
+ # define COMPILER_ID "ADSP"
219
+ #if defined(__VISUALDSPVERSION__)
220
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
221
+ # define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
222
+ # define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
223
+ # define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
224
+ #endif
225
+
226
+ #elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
227
+ # define COMPILER_ID "IAR"
228
+
229
+ #elif defined(__ARMCC_VERSION)
230
+ # define COMPILER_ID "ARMCC"
231
+ #if __ARMCC_VERSION >= 1000000
232
+ /* __ARMCC_VERSION = VRRPPPP */
233
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
234
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
235
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
236
+ #else
237
+ /* __ARMCC_VERSION = VRPPPP */
238
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
239
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
240
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
241
+ #endif
242
+
243
+
244
+ #elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
245
+ # define COMPILER_ID "SDCC"
246
+ # if defined(__SDCC_VERSION_MAJOR)
247
+ # define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
248
+ # define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
249
+ # define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
250
+ # else
251
+ /* SDCC = VRP */
252
+ # define COMPILER_VERSION_MAJOR DEC(SDCC/100)
253
+ # define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
254
+ # define COMPILER_VERSION_PATCH DEC(SDCC % 10)
255
+ # endif
256
+
257
+ #elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
258
+ # define COMPILER_ID "MIPSpro"
259
+ # if defined(_SGI_COMPILER_VERSION)
260
+ /* _SGI_COMPILER_VERSION = VRP */
261
+ # define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
262
+ # define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
263
+ # define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10)
264
+ # else
265
+ /* _COMPILER_VERSION = VRP */
266
+ # define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
267
+ # define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
268
+ # define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10)
269
+ # endif
270
+
271
+
272
+ /* These compilers are either not known or too old to define an
273
+ identification macro. Try to identify the platform and guess that
274
+ it is the native compiler. */
275
+ #elif defined(__sgi)
276
+ # define COMPILER_ID "MIPSpro"
277
+
278
+ #elif defined(__hpux) || defined(__hpua)
279
+ # define COMPILER_ID "HP"
280
+
281
+ #else /* unknown compiler */
282
+ # define COMPILER_ID ""
283
+ #endif
284
+
285
+ /* Construct the string literal in pieces to prevent the source from
286
+ getting matched. Store it in a pointer rather than an array
287
+ because some compilers will just produce instructions to fill the
288
+ array rather than assigning a pointer to a static array. */
289
+ char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
290
+ #ifdef SIMULATE_ID
291
+ char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
292
+ #endif
293
+
294
+ #ifdef __QNXNTO__
295
+ char const* qnxnto = "INFO" ":" "qnxnto[]";
296
+ #endif
297
+
298
+ #if defined(__CRAYXE) || defined(__CRAYXC)
299
+ char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
300
+ #endif
301
+
302
+ #define STRINGIFY_HELPER(X) #X
303
+ #define STRINGIFY(X) STRINGIFY_HELPER(X)
304
+
305
+ /* Identify known platforms by name. */
306
+ #if defined(__linux) || defined(__linux__) || defined(linux)
307
+ # define PLATFORM_ID "Linux"
308
+
309
+ #elif defined(__CYGWIN__)
310
+ # define PLATFORM_ID "Cygwin"
311
+
312
+ #elif defined(__MINGW32__)
313
+ # define PLATFORM_ID "MinGW"
314
+
315
+ #elif defined(__APPLE__)
316
+ # define PLATFORM_ID "Darwin"
317
+
318
+ #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
319
+ # define PLATFORM_ID "Windows"
320
+
321
+ #elif defined(__FreeBSD__) || defined(__FreeBSD)
322
+ # define PLATFORM_ID "FreeBSD"
323
+
324
+ #elif defined(__NetBSD__) || defined(__NetBSD)
325
+ # define PLATFORM_ID "NetBSD"
326
+
327
+ #elif defined(__OpenBSD__) || defined(__OPENBSD)
328
+ # define PLATFORM_ID "OpenBSD"
329
+
330
+ #elif defined(__sun) || defined(sun)
331
+ # define PLATFORM_ID "SunOS"
332
+
333
+ #elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
334
+ # define PLATFORM_ID "AIX"
335
+
336
+ #elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
337
+ # define PLATFORM_ID "IRIX"
338
+
339
+ #elif defined(__hpux) || defined(__hpux__)
340
+ # define PLATFORM_ID "HP-UX"
341
+
342
+ #elif defined(__HAIKU__)
343
+ # define PLATFORM_ID "Haiku"
344
+
345
+ #elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
346
+ # define PLATFORM_ID "BeOS"
347
+
348
+ #elif defined(__QNX__) || defined(__QNXNTO__)
349
+ # define PLATFORM_ID "QNX"
350
+
351
+ #elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
352
+ # define PLATFORM_ID "Tru64"
353
+
354
+ #elif defined(__riscos) || defined(__riscos__)
355
+ # define PLATFORM_ID "RISCos"
356
+
357
+ #elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
358
+ # define PLATFORM_ID "SINIX"
359
+
360
+ #elif defined(__UNIX_SV__)
361
+ # define PLATFORM_ID "UNIX_SV"
362
+
363
+ #elif defined(__bsdos__)
364
+ # define PLATFORM_ID "BSDOS"
365
+
366
+ #elif defined(_MPRAS) || defined(MPRAS)
367
+ # define PLATFORM_ID "MP-RAS"
368
+
369
+ #elif defined(__osf) || defined(__osf__)
370
+ # define PLATFORM_ID "OSF1"
371
+
372
+ #elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
373
+ # define PLATFORM_ID "SCO_SV"
374
+
375
+ #elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
376
+ # define PLATFORM_ID "ULTRIX"
377
+
378
+ #elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
379
+ # define PLATFORM_ID "Xenix"
380
+
381
+ #elif defined(__WATCOMC__)
382
+ # if defined(__LINUX__)
383
+ # define PLATFORM_ID "Linux"
384
+
385
+ # elif defined(__DOS__)
386
+ # define PLATFORM_ID "DOS"
387
+
388
+ # elif defined(__OS2__)
389
+ # define PLATFORM_ID "OS2"
390
+
391
+ # elif defined(__WINDOWS__)
392
+ # define PLATFORM_ID "Windows3x"
393
+
394
+ # else /* unknown platform */
395
+ # define PLATFORM_ID
396
+ # endif
397
+
398
+ #else /* unknown platform */
399
+ # define PLATFORM_ID
400
+
401
+ #endif
402
+
403
+ /* For windows compilers MSVC and Intel we can determine
404
+ the architecture of the compiler being used. This is because
405
+ the compilers do not have flags that can change the architecture,
406
+ but rather depend on which compiler is being used
407
+ */
408
+ #if defined(_WIN32) && defined(_MSC_VER)
409
+ # if defined(_M_IA64)
410
+ # define ARCHITECTURE_ID "IA64"
411
+
412
+ # elif defined(_M_X64) || defined(_M_AMD64)
413
+ # define ARCHITECTURE_ID "x64"
414
+
415
+ # elif defined(_M_IX86)
416
+ # define ARCHITECTURE_ID "X86"
417
+
418
+ # elif defined(_M_ARM)
419
+ # if _M_ARM == 4
420
+ # define ARCHITECTURE_ID "ARMV4I"
421
+ # elif _M_ARM == 5
422
+ # define ARCHITECTURE_ID "ARMV5I"
423
+ # else
424
+ # define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
425
+ # endif
426
+
427
+ # elif defined(_M_MIPS)
428
+ # define ARCHITECTURE_ID "MIPS"
429
+
430
+ # elif defined(_M_SH)
431
+ # define ARCHITECTURE_ID "SHx"
432
+
433
+ # else /* unknown architecture */
434
+ # define ARCHITECTURE_ID ""
435
+ # endif
436
+
437
+ #elif defined(__WATCOMC__)
438
+ # if defined(_M_I86)
439
+ # define ARCHITECTURE_ID "I86"
440
+
441
+ # elif defined(_M_IX86)
442
+ # define ARCHITECTURE_ID "X86"
443
+
444
+ # else /* unknown architecture */
445
+ # define ARCHITECTURE_ID ""
446
+ # endif
447
+
448
+ #else
449
+ # define ARCHITECTURE_ID
450
+ #endif
451
+
452
+ /* Convert integer to decimal digit literals. */
453
+ #define DEC(n) \
454
+ ('0' + (((n) / 10000000)%10)), \
455
+ ('0' + (((n) / 1000000)%10)), \
456
+ ('0' + (((n) / 100000)%10)), \
457
+ ('0' + (((n) / 10000)%10)), \
458
+ ('0' + (((n) / 1000)%10)), \
459
+ ('0' + (((n) / 100)%10)), \
460
+ ('0' + (((n) / 10)%10)), \
461
+ ('0' + ((n) % 10))
462
+
463
+ /* Convert integer to hex digit literals. */
464
+ #define HEX(n) \
465
+ ('0' + ((n)>>28 & 0xF)), \
466
+ ('0' + ((n)>>24 & 0xF)), \
467
+ ('0' + ((n)>>20 & 0xF)), \
468
+ ('0' + ((n)>>16 & 0xF)), \
469
+ ('0' + ((n)>>12 & 0xF)), \
470
+ ('0' + ((n)>>8 & 0xF)), \
471
+ ('0' + ((n)>>4 & 0xF)), \
472
+ ('0' + ((n) & 0xF))
473
+
474
+ /* Construct a string literal encoding the version number components. */
475
+ #ifdef COMPILER_VERSION_MAJOR
476
+ char const info_version[] = {
477
+ 'I', 'N', 'F', 'O', ':',
478
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
479
+ COMPILER_VERSION_MAJOR,
480
+ # ifdef COMPILER_VERSION_MINOR
481
+ '.', COMPILER_VERSION_MINOR,
482
+ # ifdef COMPILER_VERSION_PATCH
483
+ '.', COMPILER_VERSION_PATCH,
484
+ # ifdef COMPILER_VERSION_TWEAK
485
+ '.', COMPILER_VERSION_TWEAK,
486
+ # endif
487
+ # endif
488
+ # endif
489
+ ']','\0'};
490
+ #endif
491
+
492
+ /* Construct a string literal encoding the version number components. */
493
+ #ifdef SIMULATE_VERSION_MAJOR
494
+ char const info_simulate_version[] = {
495
+ 'I', 'N', 'F', 'O', ':',
496
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
497
+ SIMULATE_VERSION_MAJOR,
498
+ # ifdef SIMULATE_VERSION_MINOR
499
+ '.', SIMULATE_VERSION_MINOR,
500
+ # ifdef SIMULATE_VERSION_PATCH
501
+ '.', SIMULATE_VERSION_PATCH,
502
+ # ifdef SIMULATE_VERSION_TWEAK
503
+ '.', SIMULATE_VERSION_TWEAK,
504
+ # endif
505
+ # endif
506
+ # endif
507
+ ']','\0'};
508
+ #endif
509
+
510
+ /* Construct the string literal in pieces to prevent the source from
511
+ getting matched. Store it in a pointer rather than an array
512
+ because some compilers will just produce instructions to fill the
513
+ array rather than assigning a pointer to a static array. */
514
+ char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
515
+ char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
516
+
517
+
518
+
519
+
520
+ #if !defined(__STDC__)
521
+ # if defined(_MSC_VER) && !defined(__clang__)
522
+ # define C_DIALECT "90"
523
+ # else
524
+ # define C_DIALECT
525
+ # endif
526
+ #elif __STDC_VERSION__ >= 201000L
527
+ # define C_DIALECT "11"
528
+ #elif __STDC_VERSION__ >= 199901L
529
+ # define C_DIALECT "99"
530
+ #else
531
+ # define C_DIALECT "90"
532
+ #endif
533
+ const char* info_language_dialect_default =
534
+ "INFO" ":" "dialect_default[" C_DIALECT "]";
535
+
536
+ /*--------------------------------------------------------------------------*/
537
+
538
+ #ifdef ID_VOID_MAIN
539
+ void main() {}
540
+ #else
541
+ # if defined(__CLASSIC_C__)
542
+ int main(argc, argv) int argc; char *argv[];
543
+ # else
544
+ int main(int argc, char* argv[])
545
+ # endif
546
+ {
547
+ int require = 0;
548
+ require += info_compiler[argc];
549
+ require += info_platform[argc];
550
+ require += info_arch[argc];
551
+ #ifdef COMPILER_VERSION_MAJOR
552
+ require += info_version[argc];
553
+ #endif
554
+ #ifdef SIMULATE_ID
555
+ require += info_simulate[argc];
556
+ #endif
557
+ #ifdef SIMULATE_VERSION_MAJOR
558
+ require += info_simulate_version[argc];
559
+ #endif
560
+ #if defined(__CRAYXE) || defined(__CRAYXC)
561
+ require += info_cray[argc];
562
+ #endif
563
+ require += info_language_dialect_default[argc];
564
+ (void)argv;
565
+ return require;
566
+ }
567
+ #endif