From 28928a44cf16dc849a82ec72dce1724dc65b14ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= Date: Thu, 18 Aug 2022 22:28:28 +0200 Subject: [PATCH] Initial support for Objective-C/Objective-C++ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently only list GCC compilers as a first step. Will add clang in a followup change. Port gcc.js to Typescript (simple renaming). Package the objectivec language support for Monaco. Add very basic example. Something more objc/objc++ specific would be better. fixes #2942 Signed-off-by: Marc Poulhiès --- etc/config/objc++.amazon.properties | 1476 +++++++++++++++++++++++++ etc/config/objc++.defaults.properties | 69 ++ etc/config/objc.amazon.properties | 451 ++++++++ etc/config/objc.defaults.properties | 39 + examples/objc++/default.mm | 4 + examples/objc/default.m | 4 + lib/compilers/{gcc.js => gcc.ts} | 0 lib/languages.ts | 22 + types/languages.interfaces.ts | 2 + webpack.config.esm.js | 1 + 10 files changed, 2068 insertions(+) create mode 100644 etc/config/objc++.amazon.properties create mode 100644 etc/config/objc++.defaults.properties create mode 100644 etc/config/objc.amazon.properties create mode 100644 etc/config/objc.defaults.properties create mode 100644 examples/objc++/default.mm create mode 100644 examples/objc/default.m rename lib/compilers/{gcc.js => gcc.ts} (100%) diff --git a/etc/config/objc++.amazon.properties b/etc/config/objc++.amazon.properties new file mode 100644 index 000000000..db19c6012 --- /dev/null +++ b/etc/config/objc++.amazon.properties @@ -0,0 +1,1476 @@ +compilers=&objcppgcc86 +defaultCompiler=objcppg122 +demangler=/opt/compiler-explorer/gcc-12.2.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-12.2.0/bin/objdump +needsMulti=false + +buildenvsetup=ceconan +buildenvsetup.host=https://conan.compiler-explorer.com + +externalparser=CEAsmParser +externalparser.exe=/usr/local/bin/asm-parser + +llvmDisassembler=/opt/compiler-explorer/clang-14.0.0/bin/llvm-dis + +############################### +# GCC for x86 +group.objcppgcc86.compilers=objcppg122:objcppgsnapshot +group.objcppgcc86.groupName=GCC x86-64 +group.objcppgcc86.instructionSet=amd64 +group.objcppgcc86.baseName=x86-64 gcc +group.objcppgcc86.isSemVer=true +group.objcppgcc86.unwiseOptions=-march=native +group.objcppgcc86.supportsPVS-Studio=true +group.objcppgcc86.licenseLink=https://gcc.gnu.org/onlinedocs/gcc/Copying.html +group.objcppgcc86.licenseName=GNU General Public License +group.objcppgcc86.licensePreamble=Copyright (c) 2007 Free Software Foundation, Inc. https://fsf.org/ +group.objcppgcc86.supportsBinaryObject=true + +compiler.objcppg122.exe=/opt/compiler-explorer/gcc-12.2.0/bin/g++ +compiler.objcppg122.semver=12.2 + +compiler.objcppgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++ +compiler.objcppgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt +compiler.objcppgsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump +compiler.objcppgsnapshot.semver=(trunk) + +################################# +################################# +# Installed libs +libs=abseil:belleviews:benchmark:benri:blaze:boost:bmulti:brigand:catch2:cctz:cmcstl2:cnl:cppcoro:cppitertools:crosscables:ctbignum:ctre:date:dataframe:dawjson:dlib:doctest:eastl:eigen:enoki:entt:etl:eve:expected_lite:fastor:fmt:gemmlowp:glm:gnufs:gnulibbacktrace:googletest:gsl:hdf5:hedley:hfsm:highfive:highway:hotels-template-library:immer:jsoncons:jsoncpp:kiwaku:kumi:kvasir:lager:lagom:lexy:libassert:libguarded:libsimdpp:libuv:llvm:llvmfs:lua:magic_enum:mfem:mlir:mp-coro:mp-units:namedtype:nanorange:nlohmann_json:nsimd:ofw:openssl:outcome:pegtl:pipes:pugixml:python:rangesv3:raberu:scnlib:seastar:seqan3:simde:sol2:spdlog:spy:stdexec:strong_type:taojson:tbb:tlexpected:toml11:tomlplusplus:trompeloeil:tts:type_safe:unifex:vcl:xercesc:xsimd:xtensor:xtl:ztdtext:zug:cli11:avr-libstdcpp:curl:copperspice:sqlite + +libs.abseil.name=Abseil +libs.abseil.versions=trunk +libs.abseil.url=https://abseil.io/ +libs.abseil.staticliblink=absl_bad_any_cast_impl:absl_failure_signal_handler:absl_examine_stack:absl_flags_parse:absl_flags_usage:absl_flags_usage_internal:absl_flags:absl_flags_internal:absl_flags_marshalling:absl_flags_reflection:absl_flags_private_handle_accessor:absl_flags_commandlineflag:absl_flags_commandlineflag_internal:absl_flags_config:absl_flags_program_name:absl_leak_check:absl_hash:absl_city:absl_periodic_sampler:absl_random_internal_distribution_test_util:absl_random_distributions:absl_random_seed_sequences:absl_random_internal_pool_urbg:absl_random_internal_randen:absl_random_internal_randen_hwaes:absl_random_internal_randen_hwaes_impl:absl_random_internal_randen_slow:absl_random_internal_platform:absl_random_internal_seed_material:absl_random_seed_gen_exception:absl_raw_hash_set:absl_hashtablez_sampler:absl_exponential_biased:absl_scoped_set_env:absl_statusor:absl_status:absl_cord:absl_bad_optional_access:absl_strerror:absl_str_format_internal:absl_synchronization:absl_graphcycles_internal:absl_stacktrace:absl_symbolize:absl_debugging_internal:absl_demangle_internal:absl_malloc_internal:absl_time:absl_civil_time:absl_strings:absl_strings_internal:rt:absl_base:absl_spinlock_wait:absl_int128:absl_throw_delegate:absl_time_zone:absl_bad_variant_access:absl_raw_logging_internal:absl_log_severity:absl_low_level_hash +libs.abseil.versions.trunk.version=trunk +libs.abseil.versions.trunk.path=/opt/compiler-explorer/libs/abseil + +libs.belleviews.name=Belle Views +libs.belleviews.url=https://github.com/josuttis/belleviews +libs.belleviews.versions=trunk +libs.belleviews.description=A library of C++ views that just works for all basic use cases as expected. +libs.belleviews.versions.trunk.version=trunk +libs.belleviews.versions.trunk.path=/opt/compiler-explorer/libs/belleviews/trunk/sources + +libs.benchmark.name=Google Benchmark +libs.benchmark.versions=trunk:120:130:140:141:150:161:162 +libs.benchmark.url=https://github.com/google/benchmark +libs.benchmark.staticliblink=benchmark +libs.benchmark.versions.trunk.version=trunk +libs.benchmark.versions.trunk.path=/opt/compiler-explorer/libs/google-benchmark/trunk/include +libs.benchmark.versions.120.version=1.2.0 +libs.benchmark.versions.120.path=/opt/compiler-explorer/libs/google-benchmark/v1.2.0/include +libs.benchmark.versions.130.version=1.3.0 +libs.benchmark.versions.130.path=/opt/compiler-explorer/libs/google-benchmark/v1.3.0/include +libs.benchmark.versions.140.version=1.4.0 +libs.benchmark.versions.140.path=/opt/compiler-explorer/libs/google-benchmark/v1.4.0/include +libs.benchmark.versions.141.version=1.4.1 +libs.benchmark.versions.141.path=/opt/compiler-explorer/libs/google-benchmark/v1.4.1/include +libs.benchmark.versions.150.version=1.5.0 +libs.benchmark.versions.150.path=/opt/compiler-explorer/libs/google-benchmark/v1.5.0/include +libs.benchmark.versions.161.version=1.6.1 +libs.benchmark.versions.161.path=/opt/compiler-explorer/libs/google-benchmark/v1.6.1/include +libs.benchmark.versions.162.version=1.6.2 +libs.benchmark.versions.162.path=/opt/compiler-explorer/libs/google-benchmark/v1.6.2/include + +libs.benri.name=benri +libs.benri.description=Compile time checking of physical quantities. +libs.benri.versions=trunk:201:211 +libs.benri.url=https://github.com/jansende/benri +libs.benri.versions.trunk.version=trunk +libs.benri.versions.trunk.path=/opt/compiler-explorer/libs/benri/trunk/include +libs.benri.versions.201.version=2.0.1 +libs.benri.versions.201.path=/opt/compiler-explorer/libs/benri/v2.0.1/include +libs.benri.versions.211.version=2.1.1 +libs.benri.versions.211.path=/opt/compiler-explorer/libs/benri/v2.1.1/include + +libs.blaze.name=Blaze +libs.blaze.versions=trunk:33:34:35:36:37:38 +libs.blaze.url=https://bitbucket.org/blaze-lib/blaze +libs.blaze.versions.trunk.version=trunk +libs.blaze.versions.trunk.path=/opt/compiler-explorer/libs/blaze/trunk +libs.blaze.versions.33.version=3.3 +libs.blaze.versions.33.path=/opt/compiler-explorer/libs/blaze/v3.3 +libs.blaze.versions.34.version=3.4 +libs.blaze.versions.34.path=/opt/compiler-explorer/libs/blaze/v3.4 +libs.blaze.versions.35.version=3.5 +libs.blaze.versions.35.path=/opt/compiler-explorer/libs/blaze/v3.5 +libs.blaze.versions.36.version=3.6 +libs.blaze.versions.36.path=/opt/compiler-explorer/libs/blaze/v3.6 +libs.blaze.versions.37.version=3.7 +libs.blaze.versions.37.path=/opt/compiler-explorer/libs/blaze/v3.7 +libs.blaze.versions.38.version=3.8 +libs.blaze.versions.38.path=/opt/compiler-explorer/libs/blaze/v3.8 + +libs.boost.name=Boost +libs.boost.versions=164:165:166:167:168:169:170:171:172:173:174:175:176:177:178:179:180:181 +libs.boost.url=https://www.boost.org +libs.boost.versions.164.version=1.64.0 +libs.boost.versions.164.path=/opt/compiler-explorer/libs/boost_1_64_0 +libs.boost.versions.165.version=1.65.0 +libs.boost.versions.165.path=/opt/compiler-explorer/libs/boost_1_65_0 +libs.boost.versions.166.version=1.66.0 +libs.boost.versions.166.path=/opt/compiler-explorer/libs/boost_1_66_0 +libs.boost.versions.167.version=1.67.0 +libs.boost.versions.167.path=/opt/compiler-explorer/libs/boost_1_67_0 +libs.boost.versions.168.version=1.68.0 +libs.boost.versions.168.path=/opt/compiler-explorer/libs/boost_1_68_0 +libs.boost.versions.169.version=1.69.0 +libs.boost.versions.169.path=/opt/compiler-explorer/libs/boost_1_69_0 +libs.boost.versions.170.version=1.70.0 +libs.boost.versions.170.path=/opt/compiler-explorer/libs/boost_1_70_0 +libs.boost.versions.171.version=1.71.0 +libs.boost.versions.171.path=/opt/compiler-explorer/libs/boost_1_71_0 +libs.boost.versions.172.version=1.72.0 +libs.boost.versions.172.path=/opt/compiler-explorer/libs/boost_1_72_0 +libs.boost.versions.173.version=1.73.0 +libs.boost.versions.173.path=/opt/compiler-explorer/libs/boost_1_73_0 +libs.boost.versions.174.version=1.74.0 +libs.boost.versions.174.path=/opt/compiler-explorer/libs/boost_1_74_0 +libs.boost.versions.175.version=1.75.0 +libs.boost.versions.175.path=/opt/compiler-explorer/libs/boost_1_75_0 +libs.boost.versions.176.version=1.76.0 +libs.boost.versions.176.path=/opt/compiler-explorer/libs/boost_1_76_0 +libs.boost.versions.177.version=1.77.0 +libs.boost.versions.177.path=/opt/compiler-explorer/libs/boost_1_77_0 +libs.boost.versions.178.version=1.78.0 +libs.boost.versions.178.path=/opt/compiler-explorer/libs/boost_1_78_0 +libs.boost.versions.179.version=1.79.0 +libs.boost.versions.179.path=/opt/compiler-explorer/libs/boost_1_79_0 +libs.boost.versions.180.version=1.80.0 +libs.boost.versions.180.path=/opt/compiler-explorer/libs/boost_1_80_0 +libs.boost.versions.181.version=1.81.0 +libs.boost.versions.181.path=/opt/compiler-explorer/libs/boost_1_81_0 + +libs.bmulti.name=B-Multi +libs.bmulti.url=https://gitlab.com/correaa/boost-multi +libs.bmulti.versions=trunk +libs.bmulti.description=Modern C++ multidimensional arrays +libs.bmulti.versions.trunk.version=trunk +libs.bmulti.versions.trunk.path=/opt/compiler-explorer/libs/bmulti/trunk/include + +libs.brigand.name=Brigand +libs.brigand.versions=trunk:130 +libs.brigand.url=https://github.com/edouarda/brigand +libs.brigand.versions.trunk.version=trunk +libs.brigand.versions.130.version=1.3.0 +libs.brigand.versions.trunk.path=/opt/compiler-explorer/libs/brigand/trunk/include +libs.brigand.versions.130.path=/opt/compiler-explorer/libs/brigand/1.3.0 + +libs.catch2.name=Catch2 +libs.catch2.description=Catch2 +libs.catch2.url=https://github.com/catchorg/Catch2 +libs.catch2.versions=trunk:222:223:230:240:241:242:250:260:261:270:271:272:280:290:291:292:2100:2101:2102:2110:2111:2112:2113:2120:2121:300-preview2:300-preview3:301 +libs.catch2.versions.trunk.version=trunk +libs.catch2.versions.trunk.path=/opt/compiler-explorer/libs/catch2/trunk/src +libs.catch2.versions.trunk.staticliblink=Catch2d +libs.catch2.versions.222.version=2.2.2 +libs.catch2.versions.222.path=/opt/compiler-explorer/libs/catch2/v2.2.2/include +libs.catch2.versions.223.version=2.2.3 +libs.catch2.versions.223.path=/opt/compiler-explorer/libs/catch2/v2.2.3/include +libs.catch2.versions.230.version=2.3.0 +libs.catch2.versions.230.path=/opt/compiler-explorer/libs/catch2/v2.3.0/include +libs.catch2.versions.240.version=2.4.0 +libs.catch2.versions.240.path=/opt/compiler-explorer/libs/catch2/v2.4.0/include +libs.catch2.versions.241.version=2.4.1 +libs.catch2.versions.241.path=/opt/compiler-explorer/libs/catch2/v2.4.1/include +libs.catch2.versions.242.version=2.4.2 +libs.catch2.versions.242.path=/opt/compiler-explorer/libs/catch2/v2.4.2/include +libs.catch2.versions.250.version=2.5.0 +libs.catch2.versions.250.path=/opt/compiler-explorer/libs/catch2/v2.5.0/include +libs.catch2.versions.260.version=2.6.0 +libs.catch2.versions.260.path=/opt/compiler-explorer/libs/catch2/v2.6.0/include +libs.catch2.versions.261.version=2.6.1 +libs.catch2.versions.261.path=/opt/compiler-explorer/libs/catch2/v2.6.1/include +libs.catch2.versions.270.version=2.7.0 +libs.catch2.versions.270.path=/opt/compiler-explorer/libs/catch2/v2.7.0/include +libs.catch2.versions.271.version=2.7.1 +libs.catch2.versions.271.path=/opt/compiler-explorer/libs/catch2/v2.7.1/include +libs.catch2.versions.272.version=2.7.2 +libs.catch2.versions.272.path=/opt/compiler-explorer/libs/catch2/v2.7.2/include +libs.catch2.versions.280.version=2.8.0 +libs.catch2.versions.280.path=/opt/compiler-explorer/libs/catch2/v2.8.0/include +libs.catch2.versions.290.version=2.9.0 +libs.catch2.versions.290.path=/opt/compiler-explorer/libs/catch2/v2.9.0/include +libs.catch2.versions.291.version=2.9.1 +libs.catch2.versions.291.path=/opt/compiler-explorer/libs/catch2/v2.9.1/include +libs.catch2.versions.292.version=2.9.2 +libs.catch2.versions.292.path=/opt/compiler-explorer/libs/catch2/v2.9.2/include +libs.catch2.versions.2100.version=2.10.0 +libs.catch2.versions.2100.path=/opt/compiler-explorer/libs/catch2/v2.10.0/include +libs.catch2.versions.2101.version=2.10.1 +libs.catch2.versions.2101.path=/opt/compiler-explorer/libs/catch2/v2.10.1/include +libs.catch2.versions.2102.version=2.10.2 +libs.catch2.versions.2102.path=/opt/compiler-explorer/libs/catch2/v2.10.2/include +libs.catch2.versions.2110.version=2.11.0 +libs.catch2.versions.2110.path=/opt/compiler-explorer/libs/catch2/v2.11.0/include +libs.catch2.versions.2111.version=2.11.1 +libs.catch2.versions.2111.path=/opt/compiler-explorer/libs/catch2/v2.11.1/include +libs.catch2.versions.2112.version=2.11.2 +libs.catch2.versions.2112.path=/opt/compiler-explorer/libs/catch2/v2.11.2/include +libs.catch2.versions.2113.version=2.11.3 +libs.catch2.versions.2113.path=/opt/compiler-explorer/libs/catch2/v2.11.3/include +libs.catch2.versions.2120.version=2.12.0 +libs.catch2.versions.2120.path=/opt/compiler-explorer/libs/catch2/v2.12.0/include +libs.catch2.versions.2121.version=2.12.1 +libs.catch2.versions.2121.path=/opt/compiler-explorer/libs/catch2/v2.12.1/include +libs.catch2.versions.300-preview2.version=3.0.0-preview2 +libs.catch2.versions.300-preview2.path=/opt/compiler-explorer/libs/catch2/v3.0.0-preview2/src +libs.catch2.versions.300-preview2.staticliblink=Catch2 +libs.catch2.versions.300-preview3.version=3.0.0-preview3 +libs.catch2.versions.300-preview3.path=/opt/compiler-explorer/libs/catch2/v3.0.0-preview3/src +libs.catch2.versions.300-preview3.staticliblink=Catch2 +libs.catch2.versions.301.version=3.0.1 +libs.catch2.versions.301.path=/opt/compiler-explorer/libs/catch2/v3.0.1/src +libs.catch2.versions.301.staticliblink=Catch2d + +libs.cctz.name=CCTZ +libs.cctz.url=https://github.com/google/cctz +libs.cctz.versions=23 +libs.cctz.staticliblink=cctz +libs.cctz.versions.23.version=2.3 +libs.cctz.versions.23.path=/opt/compiler-explorer/libs/cctz/v2.3/include + +libs.cmcstl2.name=cmcstl2 +libs.cmcstl2.versions=trunk +libs.cmcstl2.url=https://github.com/CaseyCarter/cmcstl2 +libs.cmcstl2.versions.trunk.version=trunk +libs.cmcstl2.versions.trunk.path=/opt/compiler-explorer/libs/cmcstl2/include + +libs.cnl.name=CNL +libs.cnl.description=Compositional Numeric Library +libs.cnl.url=https://github.com/johnmcfarlane/cnl +libs.cnl.versions=1x:100:115:trunk +libs.cnl.versions.trunk.version=trunk +libs.cnl.versions.trunk.path=/opt/compiler-explorer/libs/cnl/trunk/include +libs.cnl.versions.1x.version=1.x +libs.cnl.versions.1x.path=/opt/compiler-explorer/libs/cnl/v1.x/include +libs.cnl.versions.100.version=1.0.0 +libs.cnl.versions.100.path=/opt/compiler-explorer/libs/cnl/v1.0.0/include +libs.cnl.versions.115.version=1.1.5 +libs.cnl.versions.115.path=/opt/compiler-explorer/libs/cnl/v1.1.5/include + +libs.cppcoro.name=cppcoro +libs.cppcoro.description=Coroutine abstractions for the Coroutines TS +libs.cppcoro.versions=trunk +libs.cppcoro.staticliblink=cppcoro +libs.cppcoro.url=https://github.com/andreasbuhr/cppcoro +libs.cppcoro.versions.trunk.version=trunk +libs.cppcoro.versions.trunk.path=/opt/compiler-explorer/libs/cppcoro/include + +libs.cppitertools.name=cppitertools +libs.cppitertools.versions=trunk:100:200 +libs.cppitertools.url=https://github.com/ryanhaining/cppitertools +libs.cppitertools.versions.trunk.version=trunk +libs.cppitertools.versions.trunk.path=/opt/compiler-explorer/libs/cppitertools/trunk +libs.cppitertools.versions.100.version=v1.0 +libs.cppitertools.versions.100.path=/opt/compiler-explorer/libs/cppitertools/v1.0 +libs.cppitertools.versions.200.version=v2.0 +libs.cppitertools.versions.200.path=/opt/compiler-explorer/libs/cppitertools/v2.0 + +libs.crosscables.name=Crosscables +libs.crosscables.url=https://github.com/partouf/Crosscables +libs.crosscables.description=A statically linked C++98 cross-platform and multi-purpose library. Includes templates, classes and functions for custom strings, encoding, containers, threading, filesystem and networking. +libs.crosscables.versions=trunk +libs.crosscables.staticliblink=Jumpropes:Groundfloor +libs.crosscables.versions.trunk.version=trunk +libs.crosscables.versions.trunk.path=/opt/compiler-explorer/libs/crosscables/trunk/include + +libs.ctbignum.name=ctbignum +libs.ctbignum.versions=trunk +libs.ctbignum.url=https://github.com/niekbouman/ctbignum +libs.ctbignum.versions.trunk.version=trunk +libs.ctbignum.versions.trunk.path=/opt/compiler-explorer/libs/ctbignum/include + +libs.ctre.name=CTRE +libs.ctre.description=Compile Time Regular Expressions +libs.ctre.versions=trunk:ecma-unicode:dfa:v2 +libs.ctre.url=https://github.com/hanickadot/compile-time-regular-expressions +libs.ctre.examples=5U67_e:x64CVp:PKTiCC +libs.ctre.versions.ecma-unicode.version=ecma-unicode +libs.ctre.versions.ecma-unicode.path=/opt/compiler-explorer/libs/ctre/ecma-unicode/include +libs.ctre.versions.dfa.version=dfa +libs.ctre.versions.dfa.path=/opt/compiler-explorer/libs/ctre/dfa/include +libs.ctre.versions.trunk.version=trunk +libs.ctre.versions.trunk.path=/opt/compiler-explorer/libs/ctre/main/include +libs.ctre.versions.v2.version=v2 +libs.ctre.versions.v2.path=/opt/compiler-explorer/libs/ctre/v2/include + +libs.date.name=Date +libs.date.url=https://github.com/HowardHinnant/date +libs.date.description=Date +libs.date.staticliblink=date-tz +libs.date.dependencies=curl-d +libs.date.versions=trunk:301 +libs.date.versions.trunk.version=trunk +libs.date.versions.trunk.path=/opt/compiler-explorer/libs/date/trunk/include +libs.date.versions.301.version=3.0.1 +libs.date.versions.301.path=/opt/compiler-explorer/libs/date/v3.0.1/include + +libs.dataframe.name=DataFrame +libs.dataframe.url=https://github.com/Hosseinmoein/DataFrame +libs.dataframe.description=C++ DataFrame +libs.dataframe.staticliblink=DataFrame +libs.dataframe.versions=trunk:1_19_0 +libs.dataframe.versions.trunk.version=trunk +libs.dataframe.versions.trunk.path=/opt/compiler-explorer/libs/dataframe/trunk/include +libs.dataframe.versions.1_19_0.version=1.19.0 +libs.dataframe.versions.1_19_0.path=/opt/compiler-explorer/libs/dataframe/1.19.0/include + +libs.dawjson.name=DAW JSON Link +libs.dawjson.url=https://github.com/beached/daw_json_link/ +libs.dawjson.description=Fast JSON serialization and parsing in C++ with declarative mappings +libs.dawjson.versions=trunk:2911 +libs.dawjson.versions.trunk.version=trunk +libs.dawjson.versions.trunk.path=/opt/compiler-explorer/libs/dawjson/trunk/include +libs.dawjson.versions.2911.version=2.9.11 +libs.dawjson.versions.2911.path=/opt/compiler-explorer/libs/dawjson/v2.9.11/include + +libs.dlib.name=dlib +libs.dlib.description=Machine learning algorithms and tools +libs.dlib.versions=197:199:1910:trunk +libs.dlib.url=http://dlib.net/ +libs.dlib.staticliblink=dlib +libs.dlib.versions.trunk.version=trunk +libs.dlib.versions.trunk.path=/opt/compiler-explorer/libs/dlib/trunk +libs.dlib.versions.197.version=19.7 +libs.dlib.versions.197.path=/opt/compiler-explorer/libs/dlib/v19.7 +libs.dlib.versions.197.lookupversion=v19.7 +libs.dlib.versions.199.version=19.9 +libs.dlib.versions.199.path=/opt/compiler-explorer/libs/dlib/v19.9 +libs.dlib.versions.199.lookupversion=v19.9 +libs.dlib.versions.1910.version=19.10 +libs.dlib.versions.1910.path=/opt/compiler-explorer/libs/dlib/v19.10 +libs.dlib.versions.1910.lookupversion=v19.10 + +libs.doctest.name=Doctest +libs.doctest.description=The fastest feature-rich C++11 single-header testing framework for unit tests and TDD +libs.doctest.url=https://github.com/onqtam/doctest +libs.doctest.versions=trunk:129:200:201:210:220:221:222:223:230:231:232:233:234:235:236:237:238 +libs.doctest.versions.trunk.version=trunk +libs.doctest.versions.trunk.path=/opt/compiler-explorer/libs/doctest/trunk/doctest +libs.doctest.versions.129.version=1.2.9 +libs.doctest.versions.129.path=/opt/compiler-explorer/libs/doctest/1.2.9/doctest +libs.doctest.versions.200.version=2.0.0 +libs.doctest.versions.200.path=/opt/compiler-explorer/libs/doctest/2.0.0/doctest +libs.doctest.versions.201.version=2.0.1 +libs.doctest.versions.201.path=/opt/compiler-explorer/libs/doctest/2.0.1/doctest +libs.doctest.versions.210.version=2.1.0 +libs.doctest.versions.210.path=/opt/compiler-explorer/libs/doctest/2.1.0/doctest +libs.doctest.versions.220.version=2.2.0 +libs.doctest.versions.220.path=/opt/compiler-explorer/libs/doctest/2.2.0/doctest +libs.doctest.versions.221.version=2.2.1 +libs.doctest.versions.221.path=/opt/compiler-explorer/libs/doctest/2.2.1/doctest +libs.doctest.versions.222.version=2.2.2 +libs.doctest.versions.222.path=/opt/compiler-explorer/libs/doctest/2.2.2/doctest +libs.doctest.versions.223.version=2.2.3 +libs.doctest.versions.223.path=/opt/compiler-explorer/libs/doctest/2.2.3/doctest +libs.doctest.versions.230.version=2.3.0 +libs.doctest.versions.230.path=/opt/compiler-explorer/libs/doctest/2.3.0/doctest +libs.doctest.versions.231.version=2.3.1 +libs.doctest.versions.231.path=/opt/compiler-explorer/libs/doctest/2.3.1/doctest +libs.doctest.versions.232.version=2.3.2 +libs.doctest.versions.232.path=/opt/compiler-explorer/libs/doctest/2.3.2/doctest +libs.doctest.versions.233.version=2.3.3 +libs.doctest.versions.233.path=/opt/compiler-explorer/libs/doctest/2.3.3/doctest +libs.doctest.versions.234.version=2.3.4 +libs.doctest.versions.234.path=/opt/compiler-explorer/libs/doctest/2.3.4/doctest +libs.doctest.versions.235.version=2.3.5 +libs.doctest.versions.235.path=/opt/compiler-explorer/libs/doctest/2.3.5/doctest +libs.doctest.versions.236.version=2.3.6 +libs.doctest.versions.236.path=/opt/compiler-explorer/libs/doctest/2.3.6/doctest +libs.doctest.versions.237.version=2.3.7 +libs.doctest.versions.237.path=/opt/compiler-explorer/libs/doctest/2.3.7/doctest +libs.doctest.versions.238.version=2.3.8 +libs.doctest.versions.238.path=/opt/compiler-explorer/libs/doctest/2.3.8/doctest + +libs.eastl.name=EASTL +libs.eastl.description=The Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance. +libs.eastl.url=https://github.com/electronicarts/EASTL +libs.eastl.versions=trunk:3_12_01:3_12_04:3_12_07:3_12_08:3_13_00:3_13_02:3_13_03:3_13_04:3_13_05:3_13_06:3_14_00:3_14_01:3_14_02:3_14_03:3_14_06:3_15_00:3_16_01:3_16_05 +libs.eastl.versions.trunk.version=trunk +libs.eastl.versions.trunk.path=/opt/compiler-explorer/libs/eastl/trunk/include:/opt/compiler-explorer/libs/eastl/trunk/test/packages/EABase/include/Common +libs.eastl.versions.3_12_01.version=3.12.01 +libs.eastl.versions.3_12_01.path=/opt/compiler-explorer/libs/eastl/3.12.01/include:/opt/compiler-explorer/libs/eastl/3.12.01/test/packages/EABase/include/Common +libs.eastl.versions.3_12_04.version=3.12.04 +libs.eastl.versions.3_12_04.path=/opt/compiler-explorer/libs/eastl/3.12.04/include:/opt/compiler-explorer/libs/eastl/3.12.04/test/packages/EABase/include/Common +libs.eastl.versions.3_12_07.version=3.12.07 +libs.eastl.versions.3_12_07.path=/opt/compiler-explorer/libs/eastl/3.12.07/include:/opt/compiler-explorer/libs/eastl/3.12.07/test/packages/EABase/include/Common +libs.eastl.versions.3_12_08.version=3.12.08 +libs.eastl.versions.3_12_08.path=/opt/compiler-explorer/libs/eastl/3.12.08/include:/opt/compiler-explorer/libs/eastl/3.12.08/test/packages/EABase/include/Common +libs.eastl.versions.3_13_00.version=3.13.00 +libs.eastl.versions.3_13_00.path=/opt/compiler-explorer/libs/eastl/3.13.00/include:/opt/compiler-explorer/libs/eastl/3.13.00/test/packages/EABase/include/Common +libs.eastl.versions.3_13_02.version=3.13.02 +libs.eastl.versions.3_13_02.path=/opt/compiler-explorer/libs/eastl/3.13.02/include:/opt/compiler-explorer/libs/eastl/3.13.02/test/packages/EABase/include/Common +libs.eastl.versions.3_13_03.version=3.13.03 +libs.eastl.versions.3_13_03.path=/opt/compiler-explorer/libs/eastl/3.13.03/include:/opt/compiler-explorer/libs/eastl/3.13.03/test/packages/EABase/include/Common +libs.eastl.versions.3_13_04.version=3.13.04 +libs.eastl.versions.3_13_04.path=/opt/compiler-explorer/libs/eastl/3.13.04/include:/opt/compiler-explorer/libs/eastl/3.13.04/test/packages/EABase/include/Common +libs.eastl.versions.3_13_05.version=3.13.05 +libs.eastl.versions.3_13_05.path=/opt/compiler-explorer/libs/eastl/3.13.05/include:/opt/compiler-explorer/libs/eastl/3.13.05/test/packages/EABase/include/Common +libs.eastl.versions.3_13_06.version=3.13.06 +libs.eastl.versions.3_13_06.path=/opt/compiler-explorer/libs/eastl/3.13.06/include:/opt/compiler-explorer/libs/eastl/3.13.06/test/packages/EABase/include/Common +libs.eastl.versions.3_14_00.version=3.14.00 +libs.eastl.versions.3_14_00.path=/opt/compiler-explorer/libs/eastl/3.14.00/include:/opt/compiler-explorer/libs/eastl/3.14.00/test/packages/EABase/include/Common +libs.eastl.versions.3_14_01.version=3.14.01 +libs.eastl.versions.3_14_01.path=/opt/compiler-explorer/libs/eastl/3.14.01/include:/opt/compiler-explorer/libs/eastl/3.14.01/test/packages/EABase/include/Common +libs.eastl.versions.3_14_02.version=3.14.02 +libs.eastl.versions.3_14_02.path=/opt/compiler-explorer/libs/eastl/3.14.02/include:/opt/compiler-explorer/libs/eastl/3.14.02/test/packages/EABase/include/Common +libs.eastl.versions.3_14_03.version=3.14.03 +libs.eastl.versions.3_14_03.path=/opt/compiler-explorer/libs/eastl/3.14.03/include:/opt/compiler-explorer/libs/eastl/3.14.03/test/packages/EABase/include/Common +libs.eastl.versions.3_14_06.version=3.14.06 +libs.eastl.versions.3_14_06.path=/opt/compiler-explorer/libs/eastl/3.14.06/include:/opt/compiler-explorer/libs/eastl/3.14.06/test/packages/EABase/include/Common +libs.eastl.versions.3_15_00.version=3.15.00 +libs.eastl.versions.3_15_00.path=/opt/compiler-explorer/libs/eastl/3.15.00/include:/opt/compiler-explorer/libs/eastl/3.15.00/test/packages/EABase/include/Common +libs.eastl.versions.3_16_01.version=3.16.01 +libs.eastl.versions.3_16_01.path=/opt/compiler-explorer/libs/eastl/3.16.01/include:/opt/compiler-explorer/libs/eastl/3.16.01/test/packages/EABase/include/Common +libs.eastl.versions.3_16_05.version=3.16.05 +libs.eastl.versions.3_16_05.path=/opt/compiler-explorer/libs/eastl/3.16.05/include:/opt/compiler-explorer/libs/eastl/3.16.05/test/packages/EABase/include/Common + +libs.eigen.name=Eigen +libs.eigen.versions=trunk:340:339:337:335:334 +libs.eigen.url=http://eigen.tuxfamily.org/index.php?title=Main_Page +libs.eigen.versions.trunk.version=trunk +libs.eigen.versions.trunk.path=/opt/compiler-explorer/libs/eigen/vtrunk +libs.eigen.versions.340.version=3.4.0 +libs.eigen.versions.340.path=/opt/compiler-explorer/libs/eigen/v3.4.0 +libs.eigen.versions.339.version=3.3.9 +libs.eigen.versions.339.path=/opt/compiler-explorer/libs/eigen/v3.3.9 +libs.eigen.versions.337.version=3.3.7 +libs.eigen.versions.337.path=/opt/compiler-explorer/libs/eigen/v3.3.7 +libs.eigen.versions.335.version=3.3.5 +libs.eigen.versions.335.path=/opt/compiler-explorer/libs/eigen/v3.3.5 +libs.eigen.versions.334.version=3.3.4 +libs.eigen.versions.334.path=/opt/compiler-explorer/libs/eigen/v3.3.4 + +libs.enoki.name=Enoki +libs.enoki.url=https://github.com/mitsuba-renderer/enoki +libs.enoki.versions=trunk +libs.enoki.versions.trunk.version=trunk +libs.enoki.versions.trunk.path=/opt/compiler-explorer/libs/enoki/trunk/include + +libs.entt.name=entt +libs.entt.url=https://github.com/skypjack/entt +libs.entt.versions=trunk:350:360 +libs.entt.versions.350.version=3.5.0 +libs.entt.versions.350.path=/opt/compiler-explorer/libs/entt/v3.5.0/src +libs.entt.versions.360.version=3.6.0 +libs.entt.versions.360.path=/opt/compiler-explorer/libs/entt/v3.6.0/src +libs.entt.versions.trunk.version=trunk +libs.entt.versions.trunk.path=/opt/compiler-explorer/libs/entt/trunk/src + +libs.etl.name=etl +libs.etl.description=Embedded Template Library. An STL-like C++ template library tailored for embedded systems. +libs.etl.versions=trunk +libs.etl.url=https://github.com/ETLCPP/etl +libs.etl.versions.trunk.version=trunk +libs.etl.versions.trunk.path=/opt/compiler-explorer/libs/etl/include:/opt/compiler-explorer/libs/etl/include/etl/profiles + +libs.eve.name=EVE +libs.eve.description=C++20 SIMD wrapper +libs.eve.versions=trunk:v2021100:v2022030:v2022090 +libs.eve.url=https://github.com/jfalcou/eve +libs.eve.versions.trunk.version=trunk +libs.eve.versions.trunk.path=/opt/compiler-explorer/libs/eve/trunk/include +libs.eve.versions.v2021100.version=v2021100 +libs.eve.versions.v2021100.path=/opt/compiler-explorer/libs/eve/v2021.10.0/include +libs.eve.versions.v2022030.version=v2022030 +libs.eve.versions.v2022030.path=/opt/compiler-explorer/libs/eve/v2022030.10.0/include +libs.eve.versions.v2022090.version=v2022090 +libs.eve.versions.v2022090.path=/opt/compiler-explorer/libs/eve/v2022.09.0/include + +libs.expected_lite.versions=001:010:trunk +libs.expected_lite.url=https://github.com/martinmoene/expected-lite +libs.expected_lite.name=expected-lite +libs.expected_lite.description=Expected for C++11 and greater +libs.expected_lite.versions.001.version=0.0.1 +libs.expected_lite.versions.001.path=/opt/compiler-explorer/libs/expected-lite/v0.0.1/include +libs.expected_lite.versions.010.version=0.1.0 +libs.expected_lite.versions.010.path=/opt/compiler-explorer/libs/expected-lite/v0.1.0/include +libs.expected_lite.versions.trunk.version=trunk +libs.expected_lite.versions.trunk.path=/opt/compiler-explorer/libs/expected-lite/trunk/include + +libs.fastor.name=Fastor +libs.fastor.description=Fastor is a high performance stack-based tensor (fixed multi-dimensional array) library for modern C++. +libs.fastor.versions=trunk:063 +libs.fastor.url=https://github.com/romeric/Fastor +libs.fastor.versions.trunk.version=trunk +libs.fastor.versions.trunk.path=/opt/compiler-explorer/libs/fastor/trunk +libs.fastor.versions.063.version=0.6.3 +libs.fastor.versions.063.path=/opt/compiler-explorer/libs/fastor/V0.6.3/ + +libs.fmt.name={fmt} +libs.fmt.description=A modern formatting library +libs.fmt.versions=trunk:400:410:500:510:520:530:600:610:611:612:620:621:700:713:801:811:900:910 +libs.fmt.url=https://fmt.dev/ +libs.fmt.staticliblink=fmtd +libs.fmt.examples=Tevcjh:oK8h33:Yn7Txe:Yn7Txe:K8s4Mc:MjsY7c +libs.fmt.versions.trunk.version=trunk +libs.fmt.versions.trunk.path=/opt/compiler-explorer/libs/fmt/trunk/include +libs.fmt.versions.400.version=4.0.0 +libs.fmt.versions.400.path=/opt/compiler-explorer/libs/fmt/4.0.0 +libs.fmt.versions.400.staticliblink=fmt +libs.fmt.versions.410.version=4.1.0 +libs.fmt.versions.410.path=/opt/compiler-explorer/libs/fmt/4.1.0 +libs.fmt.versions.410.staticliblink=fmt +libs.fmt.versions.500.version=5.0.0 +libs.fmt.versions.500.path=/opt/compiler-explorer/libs/fmt/5.0.0/include +libs.fmt.versions.510.version=5.1.0 +libs.fmt.versions.510.path=/opt/compiler-explorer/libs/fmt/5.1.0/include +libs.fmt.versions.520.version=5.2.0 +libs.fmt.versions.520.path=/opt/compiler-explorer/libs/fmt/5.2.0/include +libs.fmt.versions.530.version=5.3.0 +libs.fmt.versions.530.path=/opt/compiler-explorer/libs/fmt/5.3.0/include +libs.fmt.versions.600.version=6.0.0 +libs.fmt.versions.600.path=/opt/compiler-explorer/libs/fmt/6.0.0/include +libs.fmt.versions.610.version=6.1.0 +libs.fmt.versions.610.path=/opt/compiler-explorer/libs/fmt/6.1.0/include +libs.fmt.versions.611.version=6.1.1 +libs.fmt.versions.611.path=/opt/compiler-explorer/libs/fmt/6.1.1/include +libs.fmt.versions.612.version=6.1.2 +libs.fmt.versions.612.path=/opt/compiler-explorer/libs/fmt/6.1.2/include +libs.fmt.versions.620.version=6.2.0 +libs.fmt.versions.620.path=/opt/compiler-explorer/libs/fmt/6.2.0/include +libs.fmt.versions.621.version=6.2.1 +libs.fmt.versions.621.path=/opt/compiler-explorer/libs/fmt/6.2.1/include +libs.fmt.versions.700.version=7.0.0 +libs.fmt.versions.700.path=/opt/compiler-explorer/libs/fmt/7.0.0/include +libs.fmt.versions.713.version=7.1.3 +libs.fmt.versions.713.path=/opt/compiler-explorer/libs/fmt/7.1.3/include +libs.fmt.versions.801.version=8.0.1 +libs.fmt.versions.801.path=/opt/compiler-explorer/libs/fmt/8.0.1/include +libs.fmt.versions.811.version=8.1.1 +libs.fmt.versions.811.path=/opt/compiler-explorer/libs/fmt/8.1.1/include +libs.fmt.versions.900.version=9.0.0 +libs.fmt.versions.900.path=/opt/compiler-explorer/libs/fmt/9.0.0/include +libs.fmt.versions.910.version=9.1.0 +libs.fmt.versions.910.path=/opt/compiler-explorer/libs/fmt/9.1.0/include + +libs.gemmlowp.name=gemmlowp +libs.gemmlowp.url=https://github.com/google/gemmlowp +libs.gemmlowp.versions=trunk +libs.gemmlowp.versions.trunk.version=trunk +libs.gemmlowp.versions.trunk.path=/opt/compiler-explorer/libs/gemmlowp/trunk + +libs.glm.name=GLM +libs.glm.description=OpenGL Mathematics +libs.glm.versions=trunk:0985:0990:0991:0992:0993:0994:0995:0996:0997:0998 +libs.glm.url=https://glm.g-truc.net/ +libs.glm.versions.trunk.version=trunk +libs.glm.versions.trunk.path=/opt/compiler-explorer/libs/glm/trunk +libs.glm.versions.0985.version=0.9.8.5 +libs.glm.versions.0985.path=/opt/compiler-explorer/libs/glm/0.9.8.5 +libs.glm.versions.0990.version=0.9.9.0 +libs.glm.versions.0990.path=/opt/compiler-explorer/libs/glm/0.9.9.0 +libs.glm.versions.0991.version=0.9.9.1 +libs.glm.versions.0991.path=/opt/compiler-explorer/libs/glm/0.9.9.1 +libs.glm.versions.0992.version=0.9.9.2 +libs.glm.versions.0992.path=/opt/compiler-explorer/libs/glm/0.9.9.2 +libs.glm.versions.0993.version=0.9.9.3 +libs.glm.versions.0993.path=/opt/compiler-explorer/libs/glm/0.9.9.3 +libs.glm.versions.0994.version=0.9.9.4 +libs.glm.versions.0994.path=/opt/compiler-explorer/libs/glm/0.9.9.4 +libs.glm.versions.0995.version=0.9.9.5 +libs.glm.versions.0995.path=/opt/compiler-explorer/libs/glm/0.9.9.5 +libs.glm.versions.0996.version=0.9.9.6 +libs.glm.versions.0996.path=/opt/compiler-explorer/libs/glm/0.9.9.6 +libs.glm.versions.0997.version=0.9.9.7 +libs.glm.versions.0997.path=/opt/compiler-explorer/libs/glm/0.9.9.7 +libs.glm.versions.0998.version=0.9.9.8 +libs.glm.versions.0998.path=/opt/compiler-explorer/libs/glm/0.9.9.8 + +libs.gnufs.name=Filesystem (GNU) +libs.gnufs.versions=autodetect +libs.gnufs.versions.autodetect.version=autodetect +libs.gnufs.versions.autodetect.staticliblink=stdc++fs + +libs.gnulibbacktrace.name=backtrace support (GNU) +libs.gnulibbacktrace.versions=autodetect +libs.gnulibbacktrace.versions.autodetect.version=autodetect +libs.gnulibbacktrace.versions.autodetect.staticliblink=stdc++_libbacktrace + +libs.googletest.name=Google Test +libs.googletest.versions=trunk:110 +libs.googletest.url=https://github.com/google/googletest +libs.googletest.versions.trunk.version=trunk +libs.googletest.versions.trunk.path=/opt/compiler-explorer/libs/googletest/trunk/googletest/include:/opt/compiler-explorer/libs/googletest/trunk/googlemock/include +libs.googletest.versions.trunk.staticliblink=gtest:gmock:pthread +libs.googletest.versions.110.version=1.10.0 +libs.googletest.versions.110.path=/opt/compiler-explorer/libs/googletest/release-1.10.0/googletest/include:/opt/compiler-explorer/libs/googletest/release-1.10.0/googlemock/include +libs.googletest.versions.110.lookupversion=release-1.10.0 +libs.googletest.versions.110.staticliblink=gtestd:gmockd:pthread + +libs.gsl.name=GSL +libs.gsl.description=Guidelines Support Library +libs.gsl.url=https://github.com/Microsoft/GSL +# Sorry Martin! +libs.gsl.versions=trunk:lite:100:200:210:300:301 +libs.gsl.versions.trunk.version=trunk +libs.gsl.versions.trunk.path=/opt/compiler-explorer/libs/GSL/trunk/include +libs.gsl.versions.100.version=1.0.0 +libs.gsl.versions.100.path=/opt/compiler-explorer/libs/GSL/v1.0.0/include +libs.gsl.versions.200.version=2.0.0 +libs.gsl.versions.200.path=/opt/compiler-explorer/libs/GSL/v2.0.0/include +libs.gsl.versions.210.version=2.1.0 +libs.gsl.versions.210.path=/opt/compiler-explorer/libs/GSL/v2.1.0/include +libs.gsl.versions.300.version=3.0.0 +libs.gsl.versions.300.path=/opt/compiler-explorer/libs/GSL/v3.0.0/include +libs.gsl.versions.301.version=3.0.1 +libs.gsl.versions.301.path=/opt/compiler-explorer/libs/GSL/v3.0.1/include +libs.gsl.versions.lite.version=lite +libs.gsl.versions.lite.path=/opt/compiler-explorer/libs/gsl-lite/include + +libs.hdf5.name=HDF5 +libs.hdf5.description=Hierarchical Data Format (HDF) v5 library +libs.hdf5.url=https://github.com/HDFGroup/hdf5 +libs.hdf5.versions=1121:1131 +libs.hdf5.versions.1121.version=1.12.1 +libs.hdf5.versions.1121.path=/opt/compiler-explorer/libs/hdf5/hdf5-1_12_1/include +libs.hdf5.versions.1121.libpath=/opt/compiler-explorer/libs/hdf5/hdf5-1_12_1/lib/x86_64 +libs.hdf5.versions.1121.liblink=hdf5 +libs.hdf5.versions.1131.version=1.13.1 +libs.hdf5.versions.1131.path=/opt/compiler-explorer/libs/hdf5/hdf5-1_13_1/include +libs.hdf5.versions.1131.libpath=/opt/compiler-explorer/libs/hdf5/hdf5-1_13_1/lib/x86_64 +libs.hdf5.versions.1131.liblink=hdf5 + +libs.hedley.name=hedley +libs.hedley.description=A C/C++ header to help move ifdefs out of your code +libs.hedley.versions=v12 +libs.hedley.url=https://github.com/nemequ/hedley +libs.hedley.versions.v12.version=12.0.0 +libs.hedley.versions.v12.path=/opt/compiler-explorer/libs/hedley/v12/ + +libs.hfsm.name=HFSM +libs.hfsm.description=Hierarchical Finite State Machine Framework +libs.hfsm.versions=trunk:08:010 +libs.hfsm.url=https://github.com/andrew-gresyk/HFSM +libs.hfsm.versions.trunk.version=trunk +libs.hfsm.versions.trunk.path=/opt/compiler-explorer/libs/hfsm/trunk:/opt/compiler-explorer/libs/hfsm/trunk/include +libs.hfsm.versions.08.version=0.8 +libs.hfsm.versions.08.path=/opt/compiler-explorer/libs/hfsm/0.8 +libs.hfsm.versions.010.version=0.10 +libs.hfsm.versions.010.path=/opt/compiler-explorer/libs/hfsm/0.10 + +libs.highfive.name=HighFive +libs.highfive.description=A header-only C++ wrapper for HDF5. Note: Please also load the HDF5 library. +libs.highfive.url=https://github.com/BlueBrain/HighFive +libs.highfive.versions=trunk +libs.highfive.versions.trunk.version=trunk +libs.highfive.versions.trunk.path=/opt/compiler-explorer/libs/highfive/trunk/include + +libs.highway.name=Highway +libs.highway.versions=trunk:0_12_2 +libs.highway.url=https://github.com/google/highway +libs.highway.staticliblink=hwy +libs.highway.versions.trunk.version=trunk +libs.highway.versions.trunk.path=/opt/compiler-explorer/libs/highway/trunk +libs.highway.versions.0_12_2.version=0.12.2 +libs.highway.versions.0_12_2.path=/opt/compiler-explorer/libs/highway/0.12.2 + +libs.hotels-template-library.name=Hotels Template Library +libs.hotels-template-library.description=Hotels Template Library contains an open-source collection of C++ template libraries that are developed to make C++ development easier, safer and more efficient. +libs.hotels-template-library.url=https://github.com/google/hotels-template-library +libs.hotels-template-library.versions=trunk +libs.hotels-template-library.versions.trunk.version=trunk +libs.hotels-template-library.versions.trunk.path=/opt/compiler-explorer/libs/hotels-template-library/trunk/ + +libs.immer.name=immer +libs.immer.url=https://github.com/arximboldi/immer +libs.immer.versions=trunk +libs.immer.versions.trunk.version=trunk +libs.immer.versions.trunk.path=/opt/compiler-explorer/libs/immer/trunk + +libs.jsoncons.name=jsoncons +libs.jsoncons.description=jsoncons is a C++, header-only library for constructing JSON and JSON-like data formats such as CBOR. +libs.jsoncons.versions=1683 +libs.jsoncons.url=https://github.com/danielaparker/jsoncons +libs.jsoncons.versions.1683.version=0.168.3 +libs.jsoncons.versions.1683.path=/opt/compiler-explorer/libs/jsoncons/0.168.3/include + +libs.jsoncpp.name=JsonCpp +libs.jsoncpp.description=JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings +libs.jsoncpp.examples=o1W1jofna:rfPajea5G +libs.jsoncpp.versions=195:194 +libs.jsoncpp.url=https://github.com/open-source-parsers/jsoncpp +libs.jsoncpp.staticliblink=jsoncpp +libs.jsoncpp.versions.194.version=1.9.4 +libs.jsoncpp.versions.194.path=/opt/compiler-explorer/libs/jsoncpp/1.9.4/include +libs.jsoncpp.versions.195.version=1.9.5 +libs.jsoncpp.versions.195.path=/opt/compiler-explorer/libs/jsoncpp/1.9.5/include + +libs.kiwaku.name=KIWAKU +libs.kiwaku.description=C++20 Single Files Tools +libs.kiwaku.versions=trunk +libs.kiwaku.url=https://github.com/jfalcou/kiwaku +libs.kiwaku.versions.trunk.version=trunk +libs.kiwaku.versions.trunk.path=/opt/compiler-explorer/libs/kiwaku/trunk/include + +libs.kumi.name=kumi +libs.kumi.description=C++20 Compact Tuple Library +libs.kumi.versions=trunk:10:20:21 +libs.kumi.url=https://github.com/jfalcou/kumi +libs.kumi.versions.trunk.version=trunk +libs.kumi.versions.trunk.path=/opt/compiler-explorer/libs/kumi/trunk/include +libs.kumi.versions.10.version=v1.0 +libs.kumi.versions.10.path=/opt/compiler-explorer/libs/kumi/v1.0/include +libs.kumi.versions.20.version=v2.0 +libs.kumi.versions.20.path=/opt/compiler-explorer/libs/kumi/v2.0/include +libs.kumi.versions.21.version=v2.1 +libs.kumi.versions.21.path=/opt/compiler-explorer/libs/kumi/v2.1/include + +libs.kvasir.name=Kvasir::mpl +libs.kvasir.versions=trunk +libs.kvasir.url=https://github.com/kvasir-io/mpl +libs.kvasir.versions.trunk.version=trunk +# compiler-explorer/compiler-explorer/issues/598 +libs.kvasir.versions.trunk.path=/opt/compiler-explorer/libs/kvasir/mpl/trunk/src/kvasir:/opt/compiler-explorer/libs/kvasir/mpl/trunk/src + +libs.lager.name=lager +libs.lager.url=https://github.com/arximboldi/lager +libs.lager.versions=trunk +libs.lager.versions.trunk.version=trunk +libs.lager.versions.trunk.path=/opt/compiler-explorer/libs/lager/trunk + +libs.lagom.name=Lagom +libs.lagom.url=https://github.com/serenityos/serenity +libs.lagom.description=C++ Development libraries for SerenityOS +libs.lagom.versions=trunk +libs.lagom.versions.trunk.version=trunk +libs.lagom.versions.trunk.path=/opt/compiler-explorer/libs/lagom/trunk:/opt/compiler-explorer/libs/lagom/trunk/Userland/Libraries +libs.lagom.liblink=lagom-core + +libs.lexy.name=lexy +libs.lexy.url=https://github.com/foonathan/lexy +libs.lexy.description=C++ parser combinator library +libs.lexy.versions=trunk +libs.lexy.versions.trunk.version=trunk +libs.lexy.versions.trunk.path=/opt/compiler-explorer/libs/lexy/trunk/include + +libs.libassert.name=Libassert +libs.libassert.liblink=assert +libs.libassert.url=https://github.com/jeremy-rifkin/libassert +libs.libassert.versions=10:11 +libs.libassert.versions.10.version=1.0 +libs.libassert.versions.10.path=/opt/compiler-explorer/libs/libassert/v1.0/include +libs.libassert.versions.11.version=1.1 +libs.libassert.versions.11.path=/opt/compiler-explorer/libs/libassert/v1.1/include + +libs.libguarded.name=CsLibGuarded +libs.libguarded.versions=trunk:110 +libs.libguarded.url=https://github.com/copperspice/cs_libguarded +libs.libguarded.versions.trunk.version=trunk +libs.libguarded.versions.trunk.path=/opt/compiler-explorer/libs/libguarded/trunk/src +libs.libguarded.versions.110.version=1.1.0 +libs.libguarded.versions.110.path=/opt/compiler-explorer/libs/libguarded/libguarded-1.1.0/src + +libs.libsimdpp.name=libsimdpp +libs.libsimdpp.versions=21 +libs.libsimdpp.url=https://github.com/p12tic/libsimdpp +libs.libsimdpp.versions.21.version=2.1 +libs.libsimdpp.versions.21.path=/opt/compiler-explorer/libs/libsimdpp/v2.1 + +libs.libuv.name=libuv +libs.libuv.description=Cross-platform asynchronous I/O +libs.libuv.liblink=uv +libs.libuv.url=https://github.com/libuv/libuv +libs.libuv.versions=1370:1381 +libs.libuv.versions.1370.version=1.37.0 +libs.libuv.versions.1370.path=/opt/compiler-explorer/libs/libuv/v1.37.0/include +libs.libuv.versions.1370.libpath=/opt/compiler-explorer/libs/libuv/v1.37.0/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.37.0/x86/lib +libs.libuv.versions.1381.version=1.38.1 +libs.libuv.versions.1381.path=/opt/compiler-explorer/libs/libuv/v1.38.1/include +libs.libuv.versions.1381.libpath=/opt/compiler-explorer/libs/libuv/v1.38.1/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.38.1/x86/lib + +libs.llvm.name=LLVM +libs.llvm.description=LLVM +libs.llvm.versions=trunk:401:500:501:502:600:601:700:701:800:900:1000:1001:1100:1200:1201:1300:1301:1400:1500 +libs.llvm.url=https://llvm.org/ +libs.llvm.versions.trunk.version=trunk +libs.llvm.versions.trunk.path=/opt/compiler-explorer/libs/llvm/trunk/include +libs.llvm.versions.401.version=4.0.1 +libs.llvm.versions.401.path=/opt/compiler-explorer/libs/llvm/4.0.1/include +libs.llvm.versions.500.version=5.0.0 +libs.llvm.versions.500.path=/opt/compiler-explorer/libs/llvm/5.0.0/include +libs.llvm.versions.501.version=5.0.1 +libs.llvm.versions.501.path=/opt/compiler-explorer/libs/llvm/5.0.1/include +libs.llvm.versions.502.version=5.0.2 +libs.llvm.versions.502.path=/opt/compiler-explorer/libs/llvm/5.0.2/include +libs.llvm.versions.600.version=6.0.0 +libs.llvm.versions.600.path=/opt/compiler-explorer/libs/llvm/6.0.0/include +libs.llvm.versions.601.version=6.0.1 +libs.llvm.versions.601.path=/opt/compiler-explorer/libs/llvm/6.0.1/include +libs.llvm.versions.700.version=7.0.0 +libs.llvm.versions.700.path=/opt/compiler-explorer/libs/llvm/7.0.0/include +libs.llvm.versions.701.version=7.0.1 +libs.llvm.versions.701.path=/opt/compiler-explorer/libs/llvm/7.0.1/include +libs.llvm.versions.800.version=8.0.0 +libs.llvm.versions.800.path=/opt/compiler-explorer/libs/llvm/8.0.0/include +libs.llvm.versions.900.version=9.0.0 +libs.llvm.versions.900.path=/opt/compiler-explorer/libs/llvm/9.0.0/include +libs.llvm.versions.1000.version=10.0.0 +libs.llvm.versions.1000.path=/opt/compiler-explorer/libs/llvm/10.0.0/include +libs.llvm.versions.1001.version=10.0.1 +libs.llvm.versions.1001.path=/opt/compiler-explorer/libs/llvm/10.0.1/include +libs.llvm.versions.1100.version=11.0.0 +libs.llvm.versions.1100.path=/opt/compiler-explorer/libs/llvm/11.0.0/include +libs.llvm.versions.1200.version=12.0.0 +libs.llvm.versions.1200.path=/opt/compiler-explorer/libs/llvm/12.0.0/include +libs.llvm.versions.1201.version=12.0.1 +libs.llvm.versions.1201.path=/opt/compiler-explorer/libs/llvm/12.0.1/include +libs.llvm.versions.1300.version=13.0.0 +libs.llvm.versions.1300.path=/opt/compiler-explorer/libs/llvm/13.0.0/include +libs.llvm.versions.1301.version=13.0.1 +libs.llvm.versions.1301.path=/opt/compiler-explorer/libs/llvm/13.0.1/include +libs.llvm.versions.1400.version=14.0.0 +libs.llvm.versions.1400.path=/opt/compiler-explorer/libs/llvm/14.0.0/include +libs.llvm.versions.1500.version=15.0.0 +libs.llvm.versions.1500.path=/opt/compiler-explorer/libs/llvm/15.0.0/include + +libs.llvmfs.name=Filesystem (LLVM) +libs.llvmfs.versions=autodetect +libs.llvmfs.versions.autodetect.version=autodetect +libs.llvmfs.versions.autodetect.staticliblink=c++fs + +libs.lua.name=Lua +libs.lua.url=https://lua.org +libs.lua.versions=535:540 +libs.lua.liblink=lua:dl +libs.lua.versions.535.version=5.3.5 +libs.lua.versions.535.path=/opt/compiler-explorer/libs/lua/v5.3.5/include +libs.lua.versions.535.libpath=/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86 +libs.lua.versions.540.version=5.4.0 +libs.lua.versions.540.path=/opt/compiler-explorer/libs/lua/v5.4.0/include +libs.lua.versions.540.libpath=/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86 + +libs.magic_enum.name=magic_enum +libs.magic_enum.versions=trunk:073 +libs.magic_enum.url=https://github.com/Neargye/magic_enum +libs.magic_enum.description=Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code +libs.magic_enum.versions.trunk.version=trunk +libs.magic_enum.versions.trunk.path=/opt/compiler-explorer/libs/magic_enum/trunk/include +libs.magic_enum.versions.073.version=0.7.3 +libs.magic_enum.versions.073.path=/opt/compiler-explorer/libs/magic_enum/v0.7.3/include + +libs.mfem.name=mfem +libs.mfem.versions=trunk +libs.mfem.url=https://mfem.org +libs.mfem.staticliblink=mfem +libs.mfem.versions.trunk.version=trunk +libs.mfem.versions.trunk.path=/opt/compiler-explorer/libs/mfem/trunk + +libs.mlir.name=MLIR +libs.mlir.description=MLIR +libs.mlir.versions=1400:1405 +libs.mlir.url=https://mlir.llvm.org/ +libs.mlir.versions.1400.version=14.0.0 +libs.mlir.versions.1400.path=/opt/compiler-explorer/libs/mlir/14.0.0/include +libs.mlir.versions.1405.version=14.0.5 +libs.mlir.versions.1405.path=/opt/compiler-explorer/libs/mlir/14.0.5/include + +libs.mp-units.name=mp-units +libs.mp-units.versions=trunk:070:060:050:040:031 +libs.mp-units.url=https://github.com/mpusz/units +libs.mp-units.description=A Physical Units Library for C++

Note that in some cases, you also need to add the {fmt} library. +libs.mp-units.examples=5dvY8Woh1:9fnzfbhb6 +libs.mp-units.versions.trunk.version=trunk +libs.mp-units.versions.trunk.path=/opt/compiler-explorer/libs/mp-units/trunk/src/core/include:/opt/compiler-explorer/libs/mp-units/trunk/src/core-fmt/include:/opt/compiler-explorer/libs/mp-units/trunk/src/core-io/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/isq/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/isq-iec80000/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/isq-natural/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-cgs/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-fps/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-iau/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-imperial/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-international/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-typographic/include:/opt/compiler-explorer/libs/mp-units/trunk/src/systems/si-us/include:/opt/compiler-explorer/libs/fmt/8.1.1/include:/opt/compiler-explorer/libs/gsl-lite/include +libs.mp-units.versions.070.version=0.7.0 +libs.mp-units.versions.070.path=/opt/compiler-explorer/libs/mp-units/v0.7.0/src/core/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/core-fmt/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/core-io/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/isq/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/isq-iec80000/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/isq-natural/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-cgs/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-fps/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-iau/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-imperial/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-international/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-typographic/include:/opt/compiler-explorer/libs/mp-units/v0.7.0/src/systems/si-us/include:/opt/compiler-explorer/libs/fmt/7.1.3/include:/opt/compiler-explorer/libs/gsl-lite/include +libs.mp-units.versions.060.version=0.6.0 +libs.mp-units.versions.060.path=/opt/compiler-explorer/libs/mp-units/v0.6.0/src/include:/opt/compiler-explorer/libs/fmt/7.0.0/include:/opt/compiler-explorer/libs/GSL/v3.0.1/include +libs.mp-units.versions.050.version=0.5.0 +libs.mp-units.versions.050.path=/opt/compiler-explorer/libs/mp-units/v0.5.0/src/include:/opt/compiler-explorer/libs/rangesv3/0.10.0/include:/opt/compiler-explorer/libs/fmt/6.2.0/include +libs.mp-units.versions.040.version=0.4.0 +libs.mp-units.versions.040.path=/opt/compiler-explorer/libs/mp-units/v0.4.0/src/include:/opt/compiler-explorer/libs/rangesv3/0.9.1/include:/opt/compiler-explorer/libs/fmt/6.0.0/include +libs.mp-units.versions.031.version=0.3.1 +libs.mp-units.versions.031.path=/opt/compiler-explorer/libs/mp-units/v0.3.1/src/include:/opt/compiler-explorer/libs/rangesv3/0.9.1/include + +libs.mp-coro.name=mp-coro +libs.mp-coro.versions=trunk +libs.mp-coro.url=https://github.com/mpusz/mp-coro +libs.mp-coro.description=A C++20 coroutine support library +libs.mp-coro.versions.trunk.version=trunk +libs.mp-coro.versions.trunk.path=/opt/compiler-explorer/libs/mp-coro/trunk/src/include + +libs.namedtype.name=NamedType +libs.namedtype.versions=trunk +libs.namedtype.url=https://github.com/joboccara/NamedType +libs.namedtype.versions.trunk.version=trunk +libs.namedtype.versions.trunk.path=/opt/compiler-explorer/libs/NamedType/include:/opt/compiler-explorer/libs/NamedType/include/NamedType + +libs.nanorange.name=NanoRange +libs.nanorange.versions=trunk +libs.nanorange.url=https://github.com/tcbrindle/NanoRange +libs.nanorange.versions.trunk.version=trunk +libs.nanorange.versions.trunk.path=/opt/compiler-explorer/libs/nanorange/include + +libs.nlohmann_json.name=nlohmann::json +libs.nlohmann_json.versions=trunk:3111:3105:391:380:373:361:360:312:211 +libs.nlohmann_json.url=https://github.com/nlohmann/json +libs.nlohmann_json.versions.trunk.version=trunk +libs.nlohmann_json.versions.trunk.path=/opt/compiler-explorer/libs/nlohmann_json/trunk/single_include +libs.nlohmann_json.versions.3111.version=3.11.1 +libs.nlohmann_json.versions.3111.path=/opt/compiler-explorer/libs/nlohmann_json/v3.11.1/single_include +libs.nlohmann_json.versions.3105.version=3.10.5 +libs.nlohmann_json.versions.3105.path=/opt/compiler-explorer/libs/nlohmann_json/v3.10.5/single_include +libs.nlohmann_json.versions.391.version=3.9.1 +libs.nlohmann_json.versions.391.path=/opt/compiler-explorer/libs/nlohmann_json/v3.9.1/single_include +libs.nlohmann_json.versions.380.version=3.8.0 +libs.nlohmann_json.versions.380.path=/opt/compiler-explorer/libs/nlohmann_json/v3.8.0/single_include +libs.nlohmann_json.versions.373.version=3.7.3 +libs.nlohmann_json.versions.373.path=/opt/compiler-explorer/libs/nlohmann_json/v3.7.3/single_include +libs.nlohmann_json.versions.361.version=3.6.1 +libs.nlohmann_json.versions.361.path=/opt/compiler-explorer/libs/nlohmann_json/v3.6.1/single_include +libs.nlohmann_json.versions.360.version=3.6.0 +libs.nlohmann_json.versions.360.path=/opt/compiler-explorer/libs/nlohmann_json/v3.6.0/single_include +libs.nlohmann_json.versions.312.version=3.1.2 +libs.nlohmann_json.versions.312.path=/opt/compiler-explorer/libs/nlohmann_json/v3.1.2/single_include +libs.nlohmann_json.versions.211.version=2.1.1 +libs.nlohmann_json.versions.211.path=/opt/compiler-explorer/libs/nlohmann_json/v2.1.1/src + +libs.nsimd.name=NSIMD +libs.nsimd.url=https://github.com/agenium-scale/nsimd/ +libs.nsimd.versions=22-x86_64:22-arm:22-arm64:301-x86_64:301-arm:301-arm64 +libs.nsimd.versions.22-x86_64.version=2.2 (x86-64) +libs.nsimd.versions.22-x86_64.path=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/include +libs.nsimd.versions.22-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/lib +libs.nsimd.versions.22-x86_64.liblink=nsimd_avx512_skylake +libs.nsimd.versions.22-arm.version=2.2 (arm) +libs.nsimd.versions.22-arm.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/include +libs.nsimd.versions.22-arm.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/lib +libs.nsimd.versions.22-arm.liblink=nsimd_neon128 +libs.nsimd.versions.22-arm64.version=2.2 (arm64) +libs.nsimd.versions.22-arm64.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/include +libs.nsimd.versions.22-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/lib +libs.nsimd.versions.22-arm64.liblink=nsimd_aarch64 +libs.nsimd.versions.301-x86_64.version=3.0.1 (x86_64) +libs.nsimd.versions.301-x86_64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/include +libs.nsimd.versions.301-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/lib +libs.nsimd.versions.301-arm.version=3.0.1 (arm) +libs.nsimd.versions.301-arm.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/include +libs.nsimd.versions.301-arm.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/lib +libs.nsimd.versions.301-arm64.version=3.0.1 (arm64) +libs.nsimd.versions.301-arm64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/include +libs.nsimd.versions.301-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/lib + +libs.ofw.name=OFW +libs.ofw.description=C++20 Single Files Tools +libs.ofw.versions=trunk +libs.ofw.url=https://github.com/jfalcou/ofw +libs.ofw.versions.trunk.version=trunk +libs.ofw.versions.trunk.path=/opt/compiler-explorer/libs/ofw/trunk/include + +# OpenCV disabled for now, needs more installation work, any many more paths +#libs.opencv.name=OpenCV +#libs.opencv.versions=trunk +#libs.opencv.url=https://opencv.org/ +#libs.opencv.versions.trunk.version=trunk +#libs.opencv.versions.trunk.path=/opt/compiler-explorer/libs/opencv/include + +libs.openssl.name=OpenSSL +libs.openssl.liblink=ssl:crypto +libs.openssl.url=https://www.openssl.org +libs.openssl.versions=111c:111g +libs.openssl.versions.111c.version=1.1.1c +libs.openssl.versions.111c.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/include +libs.openssl.versions.111c.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86/opt/lib +libs.openssl.versions.111g.version=1.1.1g +libs.openssl.versions.111g.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/include +libs.openssl.versions.111g.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86/opt/lib + +libs.outcome.versions=trunk +libs.outcome.url=https://ned14.github.io/outcome/ +libs.outcome.name=outcome +libs.outcome.description=Provides very lightweight outcome and result (non-Boost edition) +libs.outcome.versions.trunk.version=trunk +libs.outcome.versions.trunk.path=/opt/compiler-explorer/libs/outcome/single-header + +libs.pegtl.name=PEGTL +libs.pegtl.description=Parsing Expression Grammar Template Library +libs.pegtl.versions=trunk:280 +libs.pegtl.url=https://github.com/taocpp/PEGTL +libs.pegtl.versions.trunk.version=trunk +libs.pegtl.versions.trunk.path=/opt/compiler-explorer/libs/PEGTL/trunk/include +libs.pegtl.versions.280.version=2.8.0 +libs.pegtl.versions.280.path=/opt/compiler-explorer/libs/PEGTL/2.8.0/include + +libs.pipes.name=Pipes +libs.pipes.versions=trunk +libs.pipes.url=https://github.com/joboccara/Pipes +libs.pipes.versions.trunk.version=trunk +libs.pipes.versions.trunk.path=/opt/compiler-explorer/libs/pipes/include + +libs.pugixml.name=pugixml +libs.pugixml.description=pugixml is a light-weight C++ XML processing library +libs.pugixml.examples=bE3WPhMYq +libs.pugixml.versions=1114 +libs.pugixml.url=https://pugixml.org/ +libs.pugixml.staticliblink=pugixml +libs.pugixml.versions.1114.version=1.11.4 +libs.pugixml.versions.1114.path=/opt/compiler-explorer/libs/pugixml/v1.11.4/src/ + +libs.python.name=Python +libs.python.url=https://python.org +libs.python.versions=359:3610:376:381 +libs.python.versions.359.version=3.5.9 +libs.python.versions.359.path=/opt/compiler-explorer/python-3.5.9/include/python3.5 +libs.python.versions.3610.version=3.6.10 +libs.python.versions.3610.path=/opt/compiler-explorer/python-3.6.10/include/python3.6 +libs.python.versions.376.version=3.7.6 +libs.python.versions.376.path=/opt/compiler-explorer/python-3.7.6/include/python3.7 +libs.python.versions.381.version=3.8.1 +libs.python.versions.381.path=/opt/compiler-explorer/python-3.8.1/include/python3.8 + +libs.rangesv3.name=range-v3 +libs.rangesv3.versions=trunk:030:035:036:091:0100:0110:0120 +libs.rangesv3.url=https://github.com/ericniebler/range-v3 +libs.rangesv3.versions.trunk.version=trunk +libs.rangesv3.versions.trunk.path=/opt/compiler-explorer/libs/rangesv3/trunk/include +libs.rangesv3.versions.030.version=0.3.0 +libs.rangesv3.versions.030.path=/opt/compiler-explorer/libs/rangesv3/0.3.0/include +libs.rangesv3.versions.035.version=0.3.5 +libs.rangesv3.versions.035.path=/opt/compiler-explorer/libs/rangesv3/0.3.5/include +libs.rangesv3.versions.036.version=0.3.6 +libs.rangesv3.versions.036.path=/opt/compiler-explorer/libs/rangesv3/0.3.6/include +libs.rangesv3.versions.091.version=0.9.1 +libs.rangesv3.versions.091.path=/opt/compiler-explorer/libs/rangesv3/0.9.1/include +libs.rangesv3.versions.0100.version=0.10.0 +libs.rangesv3.versions.0100.path=/opt/compiler-explorer/libs/rangesv3/0.10.0/include +libs.rangesv3.versions.0110.version=0.11.0 +libs.rangesv3.versions.0110.path=/opt/compiler-explorer/libs/rangesv3/0.11.0/include +libs.rangesv3.versions.0120.version=0.12.0 +libs.rangesv3.versions.0120.path=/opt/compiler-explorer/libs/rangesv3/0.12.0/include + +libs.raberu.name=Raberu +libs.raberu.description=C++20 Named Parameters Library +libs.raberu.examples=a8cG4vMqE +libs.raberu.versions=trunk:10:11 +libs.raberu.url=https://github.com/jfalcou/raberu +libs.raberu.versions.trunk.version=trunk +libs.raberu.versions.trunk.path=/opt/compiler-explorer/libs/raberu/trunk/include +libs.raberu.versions.10.version=v1.0 +libs.raberu.versions.10.path=/opt/compiler-explorer/libs/raberu/v1.0/include +libs.raberu.versions.11.version=v1.1 +libs.raberu.versions.11.path=/opt/compiler-explorer/libs/raberu/v1.1/include + +libs.scnlib.name=scnlib +libs.scnlib.versions=112:04 +libs.scnlib.url=https://scnlib.readthedocs.io/en/latest/ +libs.scnlib.description=scnlib is a modern C++ library for scanning values. Think of it as more C++-y scanf, or the inverse of fmtlib. +libs.scnlib.staticliblink=scn +libs.scnlib.versions.112.version=1.1.2 +libs.scnlib.versions.112.path=/opt/compiler-explorer/libs/scnlib/refs/tags/v1.1.2/include +libs.scnlib.versions.04.version=0.4 +libs.scnlib.versions.04.path=/opt/compiler-explorer/libs/scnlib/refs/tags/v0.4/include + +libs.seastar.name=Seastar +libs.seastar.description=SeaStar is an event-driven framework allowing you to write non-blocking, asynchronous code in a relatively straightforward manner. +libs.seastar.versions=180 +libs.seastar.url=http://seastar.io +libs.seastar.versions.180.version=18.08.0 +libs.seastar.versions.180.path=/opt/compiler-explorer/libs/seastar/seastar-18.08.0 + +libs.seqan3.name=SeqAn3 +libs.seqan3.description=A modern C++ library for sequence analysis. +libs.seqan3.versions=trunk:320 +libs.seqan3.url=https://github.com/seqan/seqan3 +libs.seqan3.versions.trunk.version=trunk +libs.seqan3.versions.trunk.path=/opt/compiler-explorer/libs/seqan3/trunk/include:/opt/compiler-explorer/libs/seqan3/trunk/submodules/cereal/include:/opt/compiler-explorer/libs/seqan3/trunk/submodules/sdsl-lite/include:/opt/compiler-explorer/libs/seqan3/trunk/submodules/sharg-parser/include +libs.seqan3.versions.320.version=3.2.0 +libs.seqan3.versions.320.path=/opt/compiler-explorer/libs/seqan3/3.2.0/include:/opt/compiler-explorer/libs/seqan3/3.2.0/submodules/cereal/include:/opt/compiler-explorer/libs/seqan3/3.2.0/submodules/sdsl-lite/include + +libs.simde.name=SIMDe +libs.simde.description=Implementations of SIMD instruction sets for systems which don't natively support them. +libs.simde.versions=trunk +libs.simde.url=https://github.com/simd-everywhere/simde +libs.simde.versions.trunk.version=trunk +libs.simde.versions.trunk.path=/opt/compiler-explorer/libs/simde/trunk + +libs.sol2.name=sol2 +libs.sol2.url=https://github.com/ThePhD/sol2 +libs.sol2.versions=trunk:321 +libs.sol2.versions.trunk.version=trunk +libs.sol2.versions.trunk.path=/opt/compiler-explorer/libs/sol2/trunk/include +libs.sol2.versions.321.version=3.2.1 +libs.sol2.versions.321.path=/opt/compiler-explorer/libs/sol2/v3.2.1/include + +libs.spdlog.name=spdlog +libs.spdlog.url=https://github.com/gabime/spdlog +libs.spdlog.versions=150:160:161:170:180 +libs.spdlog.staticliblink=spdlogd +libs.spdlog.options=-DSPDLOG_COMPILED_LIB +libs.spdlog.versions.150.version=1.5.0 +libs.spdlog.versions.150.path=/opt/compiler-explorer/libs/spdlog/1.5.0/include +libs.spdlog.versions.160.version=1.6.0 +libs.spdlog.versions.160.path=/opt/compiler-explorer/libs/spdlog/1.6.0/include +libs.spdlog.versions.161.version=1.6.1 +libs.spdlog.versions.161.path=/opt/compiler-explorer/libs/spdlog/1.6.1/include +libs.spdlog.versions.170.version=1.7.0 +libs.spdlog.versions.170.path=/opt/compiler-explorer/libs/spdlog/1.7.0/include +libs.spdlog.versions.180.version=1.8.0 +libs.spdlog.versions.180.path=/opt/compiler-explorer/libs/spdlog/1.8.0/include + +libs.spy.name=SPY +libs.spy.description=C++17 constexpr settings detectors +libs.spy.versions=trunk:v004:v100 +libs.spy.url=https://github.com/jfalcou/spy +libs.spy.versions.trunk.version=trunk +libs.spy.versions.trunk.path=/opt/compiler-explorer/libs/spy/trunk/include +libs.spy.versions.v004.version=v0.0.4 +libs.spy.versions.v004.path=/opt/compiler-explorer/libs/spy/0.0.4/include +libs.spy.versions.v004.alias=v003 +libs.spy.versions.v100.version=v1.0.0 +libs.spy.versions.v100.path=/opt/compiler-explorer/libs/spy/1.0.0/include + +libs.sqlite.name=sqlite +libs.sqlite.versions=3400 +libs.sqlite.liblink=sqlite3 +libs.sqlite.url=https://sqlite.org +libs.sqlite.versions.3400.version=3.40.0 +libs.sqlite.versions.3400.path=/opt/compiler-explorer/libs/sqlite/3.40.0 + +libs.stdexec.name=std::execution +libs.stdexec.description=The proposed C++ framework for asynchronous and parallel programming +libs.stdexec.versions=trunk +libs.stdexec.url=https://github.com/NVIDIA/stdexec +libs.stdexec.versions.trunk.version=trunk +libs.stdexec.versions.trunk.path=/opt/compiler-explorer/libs/stdexec/trunk/include + +libs.strong_type.name=strong_type +libs.strong_type.description=library for creating strong types in C++ +libs.strong_type.versions=7:6:5:4:3:2:1 +libs.strong_type.url=https://github.com/rollbear/strong_type +libs.strong_type.versions.7.path=/opt/compiler-explorer/libs/strong_type/v7/include +libs.strong_type.versions.7.version=v7 +libs.strong_type.versions.6.path=/opt/compiler-explorer/libs/strong_type/v6/include +libs.strong_type.versions.6.version=v6 +libs.strong_type.versions.5.path=/opt/compiler-explorer/libs/strong_type/v5/include +libs.strong_type.versions.5.version=v5 +libs.strong_type.versions.4.path=/opt/compiler-explorer/libs/strong_type/v4/include +libs.strong_type.versions.4.version=v4 +libs.strong_type.versions.3.path=/opt/compiler-explorer/libs/strong_type/v3/include +libs.strong_type.versions.3.version=v3 +libs.strong_type.versions.2.path=/opt/compiler-explorer/libs/strong_type/v2/include +libs.strong_type.versions.2.version=v2 +libs.strong_type.versions.1.path=/opt/compiler-explorer/libs/strong_type/v1/include +libs.strong_type.versions.1.version=v1 + +libs.taojson.name=taoJSON +libs.taojson.description=taoJSON is a C++ header-only JSON library that provides a generic value class, uses type traits to interoperate with C++ types, uses an events interface to convert from and to JSON, JAXN, CBOR, MsgPack and UBJSON, and much more... +libs.taojson.url=https://github.com/taocpp/json +libs.taojson.versions=trunk +libs.taojson.versions.trunk.version=trunk +libs.taojson.versions.trunk.path=/opt/compiler-explorer/libs/taojson/trunk/include + +libs.tbb.name=Intel TBB +libs.tbb.versions=20202:20203:20214 +libs.tbb.liblink=tbb +libs.tbb.examples=xaGa4P8cn +libs.tbb.url=https://www.threadingbuildingblocks.org/ +libs.tbb.versions.20202.version=2020.2 +libs.tbb.versions.20202.path=/opt/compiler-explorer/libs/tbb/2020.2/include +libs.tbb.versions.20203.version=2020.3 +libs.tbb.versions.20203.path=/opt/compiler-explorer/libs/tbb/2020.3/include +libs.tbb.versions.20214.version=2021.4.0 +libs.tbb.versions.20214.path=/opt/compiler-explorer/libs/tbb/2021.4.0/include +libs.tbb.versions.20214.liblink=tbb_debug:tbbmalloc_debug:tbbmalloc_proxy_debug + +libs.tlexpected.name=tl::exected +libs.tlexpected.versions=trunk:100 +libs.tlexpected.description=Single header implementation of std::expected with functional-style extensions. +libs.tlexpected.url=https://github.com/TartanLlama/expected +libs.tlexpected.versions.trunk.version=trunk +libs.tlexpected.versions.trunk.path=/opt/compiler-explorer/libs/tlexpected/trunk/include +libs.tlexpected.versions.100.version=1.0.0 +libs.tlexpected.versions.100.path=/opt/compiler-explorer/libs/tlexpected/v1.0.0/include + +libs.toml11.name=toml11 +libs.toml11.versions=trunk:371 +libs.toml11.description=toml11 is a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library +libs.toml11.url=https://github.com/ToruNiina/toml11 +libs.toml11.versions.trunk.version=trunk +libs.toml11.versions.trunk.path=/opt/compiler-explorer/libs/toml11/trunk +libs.toml11.versions.371.version=3.7.1 +libs.toml11.versions.371.path=/opt/compiler-explorer/libs/toml11/v3.7.1 + +libs.tomlplusplus.name=toml++ +libs.tomlplusplus.versions=trunk:133:124 +libs.tomlplusplus.description=TOML parser and serializer for modern C++ +libs.tomlplusplus.url=https://marzer.github.io/tomlplusplus +libs.tomlplusplus.versions.trunk.version=trunk +libs.tomlplusplus.versions.trunk.path=/opt/compiler-explorer/libs/tomlplusplus/trunk/include +libs.tomlplusplus.versions.133.version=1.3.3 +libs.tomlplusplus.versions.133.path=/opt/compiler-explorer/libs/tomlplusplus/v1.3.3/include +libs.tomlplusplus.versions.124.version=1.2.4 +libs.tomlplusplus.versions.124.path=/opt/compiler-explorer/libs/tomlplusplus/v1.2.4/include + +libs.trompeloeil.name=trompeloeil +libs.trompeloeil.versions=41:40:39:38:37:36:35:34:33:32:31:30:29:28 +libs.trompeloeil.url=https://github.com/rollbear/trompeloeil +libs.trompeloeil.versions.41.path=/opt/compiler-explorer/libs/trompeloeil/v41/include +libs.trompeloeil.versions.41.version=v41 +libs.trompeloeil.versions.40.path=/opt/compiler-explorer/libs/trompeloeil/v40/include +libs.trompeloeil.versions.40.version=v40 +libs.trompeloeil.versions.39.path=/opt/compiler-explorer/libs/trompeloeil/v39/include +libs.trompeloeil.versions.39.version=v39 +libs.trompeloeil.versions.38.path=/opt/compiler-explorer/libs/trompeloeil/v38/include +libs.trompeloeil.versions.38.version=v38 +libs.trompeloeil.versions.37.path=/opt/compiler-explorer/libs/trompeloeil/v37/include +libs.trompeloeil.versions.37.version=v37 +libs.trompeloeil.versions.36.path=/opt/compiler-explorer/libs/trompeloeil/v36/include +libs.trompeloeil.versions.36.version=v36 +libs.trompeloeil.versions.35.path=/opt/compiler-explorer/libs/trompeloeil/v35/include +libs.trompeloeil.versions.35.version=v35 +libs.trompeloeil.versions.34.path=/opt/compiler-explorer/libs/trompeloeil/v34/include +libs.trompeloeil.versions.34.version=v34 +libs.trompeloeil.versions.33.path=/opt/compiler-explorer/libs/trompeloeil/v33/include +libs.trompeloeil.versions.33.version=v33 +libs.trompeloeil.versions.32.path=/opt/compiler-explorer/libs/trompeloeil/v32/include +libs.trompeloeil.versions.32.version=v32 +libs.trompeloeil.versions.31.path=/opt/compiler-explorer/libs/trompeloeil/v31/include +libs.trompeloeil.versions.31.version=v31 +libs.trompeloeil.versions.30.path=/opt/compiler-explorer/libs/trompeloeil/v30/include +libs.trompeloeil.versions.30.version=v30 +libs.trompeloeil.versions.29.path=/opt/compiler-explorer/libs/trompeloeil/v29/include +libs.trompeloeil.versions.29.version=v29 +libs.trompeloeil.versions.28.path=/opt/compiler-explorer/libs/trompeloeil/v28/include +libs.trompeloeil.versions.28.version=v28 + +libs.tts.name=TTS +libs.tts.description=C++20 Unit Test Framework for Numerical Applications +libs.tts.versions=trunk:v01:v02:v10:v20:v21 +libs.tts.url=https://github.com/jfalcou/tts +libs.tts.versions.trunk.version=trunk +libs.tts.versions.trunk.path=/opt/compiler-explorer/libs/tts/trunk/include +libs.tts.versions.v01.version=v0.1 +libs.tts.versions.v01.path=/opt/compiler-explorer/libs/tts/0.1/include +libs.tts.versions.v02.version=v0.2 +libs.tts.versions.v02.path=/opt/compiler-explorer/libs/tts/0.2/include +libs.tts.versions.v10.version=v1.0 +libs.tts.versions.v10.path=/opt/compiler-explorer/libs/tts/1.0/include +libs.tts.versions.v20.version=v2.0 +libs.tts.versions.v20.path=/opt/compiler-explorer/libs/tts/2.0/include +libs.tts.versions.v21.version=v2.1 +libs.tts.versions.v21.path=/opt/compiler-explorer/libs/tts/2.1/include + +libs.type_safe.name=type_safe +libs.type_safe.url=https://github.com/foonathan/type_safe +libs.type_safe.description=type_safe provides zero overhead abstractions that use the C++ type system to prevent bugs. +libs.type_safe.versions=trunk +libs.type_safe.versions.trunk.version=trunk +libs.type_safe.versions.trunk.path=/opt/compiler-explorer/libs/type_safe/trunk/include:/opt/compiler-explorer/libs/type_safe/trunk/external/debug_assert + +libs.unifex.name=libunifex +libs.unifex.url=https://github.com/facebookexperimental/libunifex +libs.unifex.versions=trunk +libs.unifex.staticliblink=unifex +libs.unifex.versions.trunk.version=trunk +libs.unifex.versions.trunk.path=/opt/compiler-explorer/libs/unifex/trunk/include + +libs.vcl.name=VCL +libs.vcl.description=Agner Fog's vector class library +libs.vcl.versions=130:200:201 +libs.vcl.url=https://github.com/vectorclass +libs.vcl.versions.130.version=1.30 +libs.vcl.versions.130.path=/opt/compiler-explorer/libs/vcl/v1.30 +libs.vcl.versions.200.version=2.00 +libs.vcl.versions.200.path=/opt/compiler-explorer/libs/vcl/v2.00.01 +libs.vcl.versions.201.version=2.01 +libs.vcl.versions.201.path=/opt/compiler-explorer/libs/vcl/v2.01.03 + +libs.xercesc.name=Xerces-C++ +libs.xercesc.description=Xerces-C++ is a validating XML parser written in a portable subset of C++ +libs.xercesc.versions=323 +libs.xercesc.url=https://xerces.apache.org/ +libs.xercesc.staticliblink=xerces-c +libs.xercesc.dependencies=curl-d +libs.xercesc.versions.323.version=3.2.3 +libs.xercesc.versions.323.path=/opt/compiler-explorer/libs/xercesc/v3.2.3/src + +libs.xsimd.name=xsimd +libs.xsimd.versions=trunk:901:900:810:805:803:760:700:614 +libs.xsimd.url=http://xsimd.readthedocs.io +libs.xsimd.versions.trunk.version=trunk +libs.xsimd.versions.trunk.path=/opt/compiler-explorer/libs/xsimd/trunk/include +libs.xsimd.versions.901.version=9.0.1 +libs.xsimd.versions.901.path=/opt/compiler-explorer/libs/xsimd/9.0.1/include +libs.xsimd.versions.900.version=9.0.0 +libs.xsimd.versions.900.path=/opt/compiler-explorer/libs/xsimd/9.0.0/include +libs.xsimd.versions.810.version=8.1.0 +libs.xsimd.versions.810.path=/opt/compiler-explorer/libs/xsimd/8.1.0/include +libs.xsimd.versions.805.version=8.0.5 +libs.xsimd.versions.805.path=/opt/compiler-explorer/libs/xsimd/8.0.5/include +libs.xsimd.versions.803.version=8.0.3 +libs.xsimd.versions.803.path=/opt/compiler-explorer/libs/xsimd/8.0.3/include +libs.xsimd.versions.760.version=7.6.0 +libs.xsimd.versions.760.path=/opt/compiler-explorer/libs/xsimd/7.6.0/include +libs.xsimd.versions.700.version=7.0.0 +libs.xsimd.versions.700.path=/opt/compiler-explorer/libs/xsimd/7.0.0/include +libs.xsimd.versions.614.version=6.1.4 +libs.xsimd.versions.614.path=/opt/compiler-explorer/libs/xsimd/6.1.4/include + +libs.xtensor.name=xtensor +libs.xtensor.versions=trunk:0194:0182:0174 +libs.xtensor.url=http://xtensor.readthedocs.io +libs.xtensor.versions.trunk.version=trunk +libs.xtensor.versions.trunk.path=/opt/compiler-explorer/libs/xtensor/trunk/include +libs.xtensor.versions.0194.version=0.19.4 +libs.xtensor.versions.0194.path=/opt/compiler-explorer/libs/xtensor/0.19.4/include +libs.xtensor.versions.0182.version=0.18.2 +libs.xtensor.versions.0182.path=/opt/compiler-explorer/libs/xtensor/0.18.2/include +libs.xtensor.versions.0174.version=0.17.4 +libs.xtensor.versions.0174.path=/opt/compiler-explorer/libs/xtensor/0.17.4/include + +libs.xtl.name=xtl +libs.xtl.versions=trunk:053:0416 +libs.xtl.url=http://xtl.readthedocs.io +libs.xtl.versions.trunk.version=trunk +libs.xtl.versions.trunk.path=/opt/compiler-explorer/libs/xtl/trunk/include +libs.xtl.versions.053.version=0.5.3 +libs.xtl.versions.053.path=/opt/compiler-explorer/libs/xtl/0.5.3/include +libs.xtl.versions.0416.version=0.4.16 +libs.xtl.versions.0416.path=/opt/compiler-explorer/libs/xtl/0.4.16/include + +libs.ztdtext.name=ztd.text +libs.ztdtext.url=https://github.com/soasis/text +libs.ztdtext.description=Text encoding library +libs.ztdtext.versions=trunk +libs.ztdtext.versions.trunk.version=trunk +libs.ztdtext.versions.trunk.path=/opt/compiler-explorer/libs/ztdtext/trunk/include + +libs.zug.name=zug +libs.zug.url=https://github.com/arximboldi/zug +libs.zug.versions=trunk +libs.zug.versions.trunk.version=trunk +libs.zug.versions.trunk.path=/opt/compiler-explorer/libs/zug/trunk + +libs.cli11.name=CLI11 +libs.cli11.url=https://github.com/CLIUtils/CLI11 +libs.cli11.description=Command line parser for C++11 +libs.cli11.versions=191:200 +libs.cli11.versions.191.version=1.9.1 +libs.cli11.versions.191.path=/opt/compiler-explorer/libs/cli11/v1.9.1/include +libs.cli11.versions.200.version=2.0.0 +libs.cli11.versions.200.path=/opt/compiler-explorer/libs/cli11/v2.0.0/include + +libs.avr-libstdcpp.name=avr-libstdcpp +libs.avr-libstdcpp.description=libstdc++ port for avr-gcc +libs.avr-libstdcpp.url=https://github.com/modm-io/avr-libstdcpp +libs.avr-libstdcpp.versions=trunk +libs.avr-libstdcpp.versions.trunk.version=trunk +libs.avr-libstdcpp.versions.trunk.path=/opt/compiler-explorer/libs/avr-libstdcpp/trunk/include + +libs.curl.name=curl +libs.curl.liblink=curl-d +libs.curl.url=https://curl.se +libs.curl.versions=7831 +libs.curl.versions.7831.version=7.83.1 +libs.curl.versions.7831.path=/opt/compiler-explorer/libs/curl/7.83.1/include + +libs.copperspice.name=CopperSpice +libs.copperspice.url=https://www.copperspice.com/ +libs.copperspice.description=CopperSpice is a set of individual libraries which can be used to develop cross platform software applications in C++. Note that on CE we only include: CsCore, CsXml, CsXmlPatterns, CsNetwork and CsScript. +libs.copperspice.liblink=CsScript1.8:CsXmlPatterns1.8:CsNetwork1.8:CsXml1.8:CsCore1.8 +libs.copperspice.versions=180 +libs.copperspice.versions.180.version=1.8.0 +libs.copperspice.versions.180.path=/opt/compiler-explorer/libs/copperspice/1.8.0/include:/opt/compiler-explorer/libs/copperspice/1.8.0/include/QtCore:/opt/compiler-explorer/libs/copperspice/1.8.0/include/QtXml:/opt/compiler-explorer/libs/copperspice/1.8.0/include/QtXmlPatterns:/opt/compiler-explorer/libs/copperspice/1.8.0/include/QtNetwork:/opt/compiler-explorer/libs/copperspice/1.8.0/include/QtScript +libs.copperspice.versions.180.libpath=/opt/compiler-explorer/libs/copperspice/1.8.0/lib + + +################################# +################################# +# Installed tools +tools=PVS-Studio:clangformattrunk:clangquerytrunk:clangtidytrunk:iwyu:ldd:llvm-covtrunk:llvm-mcatrunk:osacatrunk:pahole:readelf:strings:x86to6502 + +tools.PVS-Studio.name=PVS-Studio +tools.PVS-Studio.exe=/opt/compiler-explorer/pvs-studio-latest/bin/pvs-studio-analyzer +tools.PVS-Studio.type=postcompilation +tools.PVS-Studio.exclude=cl19:cl19_2015_u3:cl_new:icc:rvclang:wasmclang:cross:ellcc:zapcc:djggp:www.godbolt.ms@443:armclang32:armclang64 +tools.PVS-Studio.class=pvs-studio-tool +tools.PVS-Studio.stdinHint=disabled +tools.PVS-Studio.includeKey=supportsPVS-Studio + +tools.clangformattrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-format +tools.clangformattrunk.name=clang-format +tools.clangformattrunk.type=independent +tools.clangformattrunk.class=clang-format-tool + +tools.clangquerytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-query +tools.clangquerytrunk.name=clang-query (trunk) +tools.clangquerytrunk.type=independent +tools.clangquerytrunk.class=clang-query-tool +tools.clangquerytrunk.stdinHint=Query commands +tools.clangquerytrunk.monacoStdin=true + +tools.clangtidytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-tidy +tools.clangtidytrunk.name=clang-tidy (trunk) +tools.clangtidytrunk.type=independent +tools.clangtidytrunk.class=clang-tidy-tool +tools.clangtidytrunk.exclude=cl19:cl_new +tools.clangtidytrunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-snapshot +tools.clangtidytrunk.stdinHint=disabled + +tools.iwyu.exe=/opt/compiler-explorer/iwyu/0.12/bin/include-what-you-use +tools.iwyu.name=include-what-you-use (0.12) +tools.iwyu.type=independent +tools.iwyu.class=compiler-dropin-tool +# e.g. +# tools.iwyu.options=-Xiwyu --mapping_file=/opt/compiler-explorer/iwyu/share/include-what-you-use/gcc-8.intrinsics.imp +tools.iwyu.stdinHint=disabled + +tools.ldd.name=ldd +tools.ldd.exe=/usr/bin/ldd +tools.ldd.type=postcompilation +tools.ldd.class=readelf-tool +tools.ldd.exclude=djggp +tools.ldd.stdinHint=disabled + +tools.llvm-covtrunk.name=llvm-cov (trunk) +tools.llvm-covtrunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-cov +tools.llvm-covtrunk.type=postcompilation +tools.llvm-covtrunk.class=llvm-cov-tool + +tools.llvm-mcatrunk.name=llvm-mca (trunk) +tools.llvm-mcatrunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mca +tools.llvm-mcatrunk.type=postcompilation +tools.llvm-mcatrunk.class=llvm-mca-tool +tools.llvm-mcatrunk.exclude=avr:rv32:arm:aarch:mips:msp:ppc:cl19:cl_new:djggp +tools.llvm-mcatrunk.stdinHint=disabled + +tools.osacatrunk.name=OSACA (0.4.8) +tools.osacatrunk.exe=/opt/compiler-explorer/osaca-0.4.8/bin/osaca +tools.osacatrunk.type=postcompilation +tools.osacatrunk.class=osaca-tool +tools.osacatrunk.exclude=avr:rv32:armv7:mips:msp:ppc:cl19:cl_new:djggp:kvx:k1c:armhf:armg:arm5 +tools.osacatrunk.stdinHint=disabled + +tools.pahole.name=pahole (trunk) +tools.pahole.exe=/opt/compiler-explorer/pahole-trunk/bin/pahole +tools.pahole.type=postcompilation +tools.pahole.class=pahole-tool +tools.pahole.exclude=djggp +tools.pahole.stdinHint=disabled +tools.pahole.languageId=cppp + +tools.readelf.name=readelf (trunk) +tools.readelf.exe=/opt/compiler-explorer/gcc-snapshot/bin/readelf +tools.readelf.type=postcompilation +tools.readelf.class=readelf-tool +tools.readelf.exclude=djggp +tools.readelf.stdinHint=disabled + +tools.strings.exe=/opt/compiler-explorer/gcc-snapshot/bin/strings +tools.strings.name=strings +tools.strings.type=postcompilation +tools.strings.class=strings-tool +tools.strings.exclude=djggp +tools.strings.stdinHint=disabled + +tools.x86to6502.exe=/opt/compiler-explorer/x86-to-6502/lefticus/x86-to-6502 +tools.x86to6502.name=x86-to-6502 +tools.x86to6502.type=postcompilation +tools.x86to6502.class=x86to6502-tool +tools.x86to6502.exclude=avr:rv32:arm:aarch:mips:msp:ppc:cl19:cl_new_arm32:djggp:riscv:wasm:frc2019:raspbian:arduino +tools.x86to6502.stdinHint=disabled +tools.x86to6502.languageId=asm6502 diff --git a/etc/config/objc++.defaults.properties b/etc/config/objc++.defaults.properties new file mode 100644 index 000000000..201ed2c3d --- /dev/null +++ b/etc/config/objc++.defaults.properties @@ -0,0 +1,69 @@ +# Default settings for Objective-C++ +defaultCompiler=objcxxgdefault +postProcess= +demangler=c++filt +demanglerType=cpp +objdumper=objdump +#androidNdk=/opt/google/android-ndk-r9c +options= +supportsBinary=true +supportsBinaryObject=true +binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*|_dl_relocate_static_pie)$ +needsMulti=false +stubRe=\bmain\b +stubText=int main(void){return 0;/*stub provided by Compiler Explorer*/} +supportsLibraryCodeFilter=true + + +compilers=&gcc + +group.gcc.compilers=objcxxg44:objcxxg45:objcxxg46:objcxxg47:objcxxg48:objcxxg5:objcxxg6x:objcxxg7:objcxxg8:objcxxg9:objcxxg10:objcxxg11:objcxxgdefault +compiler.objcxxg44.exe=/usr/bin/g++-4.4 +compiler.objcxxg44.name=g++ 4.4 +compiler.objcxxg45.exe=/usr/bin/g++-4.5 +compiler.objcxxg45.name=g++ 4.5 +compiler.objcxxg46.exe=/usr/bin/g++-4.6 +compiler.objcxxg46.name=g++ 4.6 +compiler.objcxxg47.exe=/usr/bin/g++-4.7 +compiler.objcxxg47.name=g++ 4.7 +compiler.objcxxg48.exe=/usr/bin/g++-4.8 +compiler.objcxxg48.name=g++ 4.8 +compiler.objcxxg5.exe=/usr/bin/g++-5 +compiler.objcxxg5.name=g++ 5.x +compiler.objcxxg6x.exe=/usr/bin/g++-6 +compiler.objcxxg6x.name=g++ 6.x +compiler.objcxxg6x.alias=g6 +compiler.objcxxg7.exe=/usr/bin/g++-7 +compiler.objcxxg7.name=g++ 7.x +compiler.objcxxg8.exe=/usr/bin/g++-8 +compiler.objcxxg8.name=g++ 8.x +compiler.objcxxg9.exe=/usr/bin/g++-9 +compiler.objcxxg9.name=g++ 9.x +compiler.objcxxg10.exe=/usr/bin/g++-10 +compiler.objcxxg10.name=g++ 10.x +compiler.objcxxg11.exe=/usr/bin/g++-11 +compiler.objcxxg11.name=g++ 11.x +compiler.objcxxgdefault.exe=/usr/bin/g++ +compiler.objcxxgdefault.name=g++ default + +tools=strings:ldd + +tools.ldd.name=ldd +tools.ldd.exe=/usr/bin/ldd +tools.ldd.type=postcompilation +tools.ldd.class=readelf-tool +tools.ldd.exclude=djggp +tools.ldd.stdinHint=disabled + +tools.strings.exe=/usr/bin/strings +tools.strings.name=strings +tools.strings.type=postcompilation +tools.strings.class=strings-tool +tools.strings.exclude=djggp +tools.strings.stdinHint=disabled + + +################################# +################################# +# Installed libs (See c++.amazon.properties for a scheme of libs group) +libs= diff --git a/etc/config/objc.amazon.properties b/etc/config/objc.amazon.properties new file mode 100644 index 000000000..2f961106b --- /dev/null +++ b/etc/config/objc.amazon.properties @@ -0,0 +1,451 @@ +compilers=&objcgcc86:&objccross +defaultCompiler=objcg122 +demangler=/opt/compiler-explorer/gcc-12.2.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-12.2.0/bin/objdump +needsMulti=false + +externalparser=CEAsmParser +externalparser.exe=/usr/local/bin/asm-parser + +############################### +# GCC for x86 +group.objcgcc86.compilers=objcg122:objcgsnapshot +group.objcgcc86.groupName=GCC x86-64 +group.objcgcc86.instructionSet=amd64 +group.objcgcc86.isSemVer=true +group.objcgcc86.baseName=x86-64 gcc +group.objcgcc86.supportsPVS-Studio=true +group.objcgcc86.licenseLink=https://gcc.gnu.org/onlinedocs/gcc/Copying.html +group.objcgcc86.licenseName=GNU General Public License +group.objcgcc86.licensePreamble=Copyright (c) 2007 Free Software Foundation, Inc. https://fsf.org/ + +compiler.objcg122.exe=/opt/compiler-explorer/gcc-12.2.0/bin/gcc +compiler.objcg122.semver=12.2 + +compiler.objcgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc +compiler.objcgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt +compiler.objcgsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump +compiler.objcgsnapshot.semver=(trunk) + +############################### +# Cross Compilers +group.objccross.compilers=&objcppcs:&objcmipss:&objcgccarm:&objcrv:&objcs390x:&objcloongarch64:&objcsparc:&objcsparc64:&objcsparcleon +group.objccross.supportsBinary=false +group.objccross.supportsBinaryObject=true +group.objccross.groupName=Cross GCC +group.objccross.licenseLink=https://gcc.gnu.org/onlinedocs/gcc/Copying.html +group.objccross.licenseName=GNU General Public License +group.objccross.licensePreamble=Copyright (c) 2007 Free Software Foundation, Inc. https://fsf.org/ + +############################### +# Cross for SPARC +group.objcsparc.compilers=&objcgccsparc + +# GCC for SPARC +group.objcgccsparc.compilers=objcsparcg1220 +group.objcgccsparc.supportsBinary=true +group.objcgccsparc.supportsExecute=false +group.objcgccsparc.baseName=SPARC gcc +group.objcgccsparc.groupName=SPARC GCC +group.objcgccsparc.isSemVer=true + +compiler.objcsparcg1220.exe=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-gcc +compiler.objcsparcg1220.semver=12.2.0 +compiler.objcsparcg1220.objdumper=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump +compiler.objcsparcg1220.demangler=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt + +############################### +# Cross for SPARC64 +group.objcsparc64.compilers=&objcgccsparc64 + +# GCC for SPARC64 +group.objcgccsparc64.compilers=objcsparc64g1220 +group.objcgccsparc64.supportsBinary=true +group.objcgccsparc64.supportsExecute=false +group.objcgccsparc64.baseName=SPARC64 gcc +group.objcgccsparc64.groupName=SPARC64 GCC +group.objcgccsparc64.isSemVer=true + +compiler.objcsparc64g1220.exe=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-gcc +compiler.objcsparc64g1220.semver=12.2.0 +compiler.objcsparc64g1220.objdumper=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump +compiler.objcsparc64g1220.demangler=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt + +############################### +# Cross for SPARC-LEON +group.objcsparcleon.compilers=&objcgccsparcleon + +# GCC for SPARC-LEON +group.objcgccsparcleon.compilers=objcsparcleong1220 +group.objcgccsparcleon.supportsBinary=true +group.objcgccsparcleon.supportsExecute=false +group.objcgccsparcleon.baseName=SPARC LEON gcc +group.objcgccsparcleon.groupName=SPARC LEON GCC +group.objcgccsparcleon.isSemVer=true + +compiler.objcsparcleong1220.exe=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-gcc +compiler.objcsparcleong1220.semver=12.2.0 +compiler.objcsparcleong1220.objdumper=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump +compiler.objcsparcleong1220.demangler=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt + +############################### +# Cross for loongarch64 +group.objcloongarch64.compilers=&objcgccloongarch64 + +# GCC for loongarch64 +group.objcgccloongarch64.compilers=objcloongarch64g1220 +group.objcgccloongarch64.supportsBinary=true +group.objcgccloongarch64.supportsExecute=false +group.objcgccloongarch64.baseName=loongarch64 gcc +group.objcgccloongarch64.groupName=loongarch64 GCC +group.objcgccloongarch64.isSemVer=true + +compiler.objcloongarch64g1220.exe=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-gcc +compiler.objcloongarch64g1220.semver=12.2.0 +compiler.objcloongarch64g1220.objdumper=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump +compiler.objcloongarch64g1220.demangler=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt + + +############################### +# Cross for s390x +group.objcs390x.compilers=&objcgccs390x + +# GCC for s390x +group.objcgccs390x.compilers=objcs390xg1220 +group.objcgccs390x.supportsBinary=true +group.objcgccs390x.supportsExecute=false +group.objcgccs390x.baseName=s390x gcc +group.objcgccs390x.groupName=s390x GCC +group.objcgccs390x.isSemVer=true + +compiler.objcs390xg1220.exe=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-gcc +compiler.objcs390xg1220.semver=12.2.0 +compiler.objcs390xg1220.objdumper=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump +compiler.objcs390xg1220.demangler=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt + +############################### +# Cross compilers for PPC +group.objcppcs.compilers=&objcppc:&objcppc64:&objcppc64le +group.objcppcs.isSemVer=true +group.objcppcs.supportsBinary=true +group.objcppcs.supportsExecute=false + +group.objcppc.compilers=objcppcg1220 +group.objcppc.groupName=POWER +group.objcppc.baseName=POWER GCC + +compiler.objcppcg1220.exe=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gcc +compiler.objcppcg1220.semver=12.2.0 +compiler.objcppcg1220.objdumper=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump +compiler.objcppcg1220.demangler=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt + +group.objcppc64.compilers=objcppc64g1220 +group.objcppc64.groupName=POWER64 +group.objcppc64.baseName=POWER64 GCC + +compiler.objcppc64g1220.exe=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc +compiler.objcppc64g1220.semver=12.2.0 +compiler.objcppc64g1220.objdumper=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump +compiler.objcppc64g1220.demangler=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt + +group.objcppc64le.compilers=objcppc64leg1220 +group.objcppc64le.groupName=POWER64LE +group.objcppc64le.baseName=POWER64LE GCC + +compiler.objcppc64leg1220.exe=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc +compiler.objcppc64leg1220.semver=12.2.0 +compiler.objcppc64leg1220.objdumper=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump +compiler.objcppc64leg1220.demangler=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt + +############################### +# GCC for ARM +group.objcgccarm.compilers=&objcgcc32arm:&objcgcc64arm +group.objcgccarm.supportsBinary=true +group.objcgccarm.supportsExecute=false +# Some of the compilers don't like -isystem (as they assume the code must be C). +# See https://github.com/compiler-explorer/compiler-explorer/issues/989 for discussion/ +group.objcgccarm.includeFlag=-I + +# 32 bit +group.objcgcc32arm.groupName=Arm 32-bit GCC +group.objcgcc32arm.compilers=objcarmg1220:objcarmgtrunk +group.objcgcc32arm.isSemVer=true +group.objcgcc32arm.instructionSet=arm32 +group.objcgcc32arm.baseName=ARM gcc + +compiler.objcarmg1220.exe=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc +compiler.objcarmg1220.semver=12.2.0 +compiler.objcarmg1220.objdumper=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump +compiler.objcarmg1220.demangler=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt + +compiler.objcarmgtrunk.exe=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc +compiler.objcarmgtrunk.demangler=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt +compiler.objcarmgtrunk.name=ARM gcc trunk (linux) +compiler.objcarmgtrunk.semver=trunk + +# 64 bit +group.objcgcc64arm.groupName=Arm 64-bit GCC +group.objcgcc64arm.baseName=ARM64 GCC +group.objcgcc64arm.compilers=objcarm64gtrunk:objcarm64g1220 +group.objcgcc64arm.isSemVer=true +group.objcgcc64arm.instructionSet=aarch64 + +compiler.objcarm64g1220.exe=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc +compiler.objcarm64g1220.semver=12.2.0 +compiler.objcarm64g1220.objdumper=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.objcarm64g1220.demangler=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt + +compiler.objcarm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc +compiler.objcarm64gtrunk.objdumper=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.objcarm64gtrunk.demangler=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt +compiler.objcarm64gtrunk.semver=trunk + +############################### +# GCC for MIPS +group.objcmipss.compilers=&objcmips:&objcmipsel:&objcmips64:&objcmips64el + +group.objcmipss.isSemVer=true +group.objcmipss.supportsBinary=true +group.objcmipss.supportsExecute=false + +## MIPS +group.objcmips.compilers=objcmipsg1220 +group.objcmips.groupName=MIPS GCC +group.objcmips.baseName=mips gcc + +compiler.objcmipsg1220.exe=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gcc +compiler.objcmipsg1220.semver=12.2.0 +compiler.objcmipsg1220.objdumper=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump +compiler.objcmipsg1220.demangler=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt + +## MIPS64 +group.objcmips64.groupName=MIPS64 GCC +group.objcmips64.compilers=objcmips64g1220 +group.objcmips64.baseName=MIPS64 gcc + +compiler.objcmips64g1220.exe=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gcc +compiler.objcmips64g1220.semver=12.2.0 +compiler.objcmips64g1220.objdumper=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump +compiler.objcmips64g1220.demangler=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt + +## MIPS EL +group.objcmipsel.groupName=MIPSEL GCC +group.objcmipsel.compilers=objcmipselg1220 +group.objcmipsel.baseName=mips (el) gcc + +compiler.objcmipselg1220.exe=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-gcc +compiler.objcmipselg1220.semver=12.2.0 +compiler.objcmipselg1220.objdumper=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump +compiler.objcmipselg1220.demangler=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt + +## MIPS64 EL +group.objcmips64el.groupName=MIPS64EL GCC +group.objcmips64el.compilers=objcmips64elg1220 +group.objcmips64el.baseName=mips64 (el) gcc + +compiler.objcmips64elg1220.exe=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-gcc +compiler.objcmips64elg1220.semver=12.2.0 +compiler.objcmips64elg1220.objdumper=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump +compiler.objcmips64elg1220.demangler=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt + + +############################### +# GCC for RISC-V +group.objcrv.compilers=&objcrv64:&objcrv32 +group.objcrv.groupName=RISC-V GCC +group.objcrv.supportsExecute=false +group.objcrv.supportsBinary=true + +group.objcrv32.groupName=RISC-V 32-bits +group.objcrv32.baseName=RISC-V 32 GCC +group.objcrv32.compilers=objcrv32g1220 + +compiler.objcrv32g1220.exe=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-gcc +compiler.objcrv32g1220.semver=12.2.0 +compiler.objcrv32g1220.demangler=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt +compiler.objcrv32g1220.objdumper=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump + +group.objcrv64.groupName=RISC-V 64-bits +group.objcrv64.baseName=RISC-V 64 GCC +group.objcrv64.compilers=objcrv64g1220 + +compiler.objcrv64g1220.exe=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc +compiler.objcrv64g1220.semver=12.2.0 +compiler.objcrv64g1220.objdumper=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump +compiler.objcrv64g1220.demangler=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt + +################################# +################################# +# Libraries +libs=cs50:hedley:libuv:lua:nsimd:openssl:python:simde:curl + +libs.cs50.name=cs50 +libs.cs50.versions=910 +libs.cs50.versions.910.version=9.1.0 +libs.cs50.versions.910.path=/opt/compiler-explorer/libs/cs50/9.1.0/include +libs.cs50.versions.910.libpath=/opt/compiler-explorer/libs/cs50/9.1.0/x86_64/lib:/opt/compiler-explorer/libs/cs50/9.1.0/x86/lib +libs.cs50.versions.910.liblink=cs50 + +libs.hedley.name=hedley +libs.hedley.description=A C/C++ header to help move ifdefs out of your code +libs.hedley.versions=v12 +libs.hedley.url=https://github.com/nemequ/hedley +libs.hedley.versions.v12.version=12.0.0 +libs.hedley.versions.v12.path=/opt/compiler-explorer/libs/hedley/v12/ + +libs.lua.name=Lua +libs.lua.versions=535:540 +libs.lua.liblink=lua:dl:m +libs.lua.versions.535.version=5.3.5 +libs.lua.versions.535.path=/opt/compiler-explorer/libs/lua/v5.3.5/include +libs.lua.versions.535.libpath=/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86 +libs.lua.versions.540.version=5.4.0 +libs.lua.versions.540.path=/opt/compiler-explorer/libs/lua/v5.4.0/include +libs.lua.versions.540.libpath=/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86 + +libs.libuv.name=libuv +libs.libuv.description=Cross-platform asynchronous I/O +libs.libuv.liblink=uv +libs.libuv.url=https://github.com/libuv/libuv +libs.libuv.versions=1370:1381 +libs.libuv.versions.1370.version=1.37.0 +libs.libuv.versions.1370.path=/opt/compiler-explorer/libs/libuv/v1.37.0/include +libs.libuv.versions.1370.libpath=/opt/compiler-explorer/libs/libuv/v1.37.0/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.37.0/x86/lib +libs.libuv.versions.1381.version=1.38.1 +libs.libuv.versions.1381.path=/opt/compiler-explorer/libs/libuv/v1.38.1/include +libs.libuv.versions.1381.libpath=/opt/compiler-explorer/libs/libuv/v1.38.1/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.38.1/x86/lib + +libs.nsimd.name=NSIMD +libs.nsimd.url=https://github.com/agenium-scale/nsimd/ +libs.nsimd.versions=22-x86_64:22-arm:22-arm64:301-x86_64:301-arm:301-arm64 +libs.nsimd.versions.22-x86_64.version=2.2 (x86_64) +libs.nsimd.versions.22-x86_64.path=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/include +libs.nsimd.versions.22-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/lib +libs.nsimd.versions.22-x86_64.liblink=nsimd_avx512_skylake +libs.nsimd.versions.22-arm.version=2.2 (arm) +libs.nsimd.versions.22-arm.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/include +libs.nsimd.versions.22-arm.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/lib +libs.nsimd.versions.22-arm.liblink=nsimd_neon128 +libs.nsimd.versions.22-arm64.version=2.2 (arm64) +libs.nsimd.versions.22-arm64.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/include +libs.nsimd.versions.22-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/lib +libs.nsimd.versions.22-arm64.liblink=nsimd_aarch64 +libs.nsimd.versions.301-x86_64.version=3.0.1 (x86_64) +libs.nsimd.versions.301-x86_64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/include +libs.nsimd.versions.301-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/lib +libs.nsimd.versions.301-arm.version=3.0.1 (arm) +libs.nsimd.versions.301-arm.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/include +libs.nsimd.versions.301-arm.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/lib +libs.nsimd.versions.301-arm64.version=3.0.1 (arm64) +libs.nsimd.versions.301-arm64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/include +libs.nsimd.versions.301-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/lib + +libs.openssl.name=OpenSSL +libs.openssl.liblink=ssl:crypto +libs.openssl.versions=111c:111g +libs.openssl.versions.111c.version=1.1.1c +libs.openssl.versions.111c.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/include +libs.openssl.versions.111c.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86/opt/lib +libs.openssl.versions.111g.version=1.1.1g +libs.openssl.versions.111g.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/include +libs.openssl.versions.111g.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86/opt/lib + +libs.python.name=Python +libs.python.url=https://python.org +libs.python.versions=359:3610:376:381 +libs.python.versions.359.version=3.5.9 +libs.python.versions.359.path=/opt/compiler-explorer/python-3.5.9/include/python3.5 +libs.python.versions.3610.version=3.6.10 +libs.python.versions.3610.path=/opt/compiler-explorer/python-3.6.10/include/python3.6 +libs.python.versions.376.version=3.7.6 +libs.python.versions.376.path=/opt/compiler-explorer/python-3.7.6/include/python3.7 +libs.python.versions.381.version=3.8.1 +libs.python.versions.381.path=/opt/compiler-explorer/python-3.8.1/include/python3.8 + +libs.simde.name=SIMDe +libs.simde.description=Implementations of SIMD instruction sets for systems which don't natively support them. +libs.simde.versions=trunk +libs.simde.url=https://github.com/simd-everywhere/simde +libs.simde.versions.trunk.version=trunk +libs.simde.versions.trunk.path=/opt/compiler-explorer/libs/simde/trunk + +libs.curl.name=curl +libs.curl.liblink=curl-d +libs.curl.url=https://curl.se +libs.curl.versions=7831 +libs.curl.versions.7831.version=7.83.1 +libs.curl.versions.7831.path=/opt/compiler-explorer/libs/curl/7.83.1/include + +################################# +################################# +# Installed tools +tools=PVS-Studio:clangformattrunk:clangquerytrunk:clangtidytrunk:ldd:llvm-mcatrunk:osacatrunk:pahole:readelf:strings + +tools.PVS-Studio.name=PVS-Studio +tools.PVS-Studio.exe=/opt/compiler-explorer/pvs-studio-latest/bin/pvs-studio-analyzer +tools.PVS-Studio.type=postcompilation +tools.PVS-Studio.exclude=ccl19:ccl19_2015_u3:ccl_new:armcclang32:armcclang64:rvcclang:ppci:cicc:cross:cgcc-classic:cc65 +tools.PVS-Studio.class=pvs-studio-tool +tools.PVS-Studio.stdinHint=disabled +tools.PVS-Studio.includeKey=supportsPVS-Studio + +tools.clangformattrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-format +tools.clangformattrunk.name=clang-format +tools.clangformattrunk.type=independent +tools.clangformattrunk.class=clang-format-tool + +tools.clangquerytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-query +tools.clangquerytrunk.name=clang-query (trunk) +tools.clangquerytrunk.type=independent +tools.clangquerytrunk.class=clang-query-tool +tools.clangquerytrunk.stdinHint=Query commands + +tools.clangtidytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-tidy +tools.clangtidytrunk.name=clang-tidy (trunk) +tools.clangtidytrunk.type=independent +tools.clangtidytrunk.class=clang-tidy-tool +tools.clangtidytrunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 +tools.clangtidytrunk.stdinHint=disabled + +tools.ldd.name=ldd +tools.ldd.exe=/usr/bin/ldd +tools.ldd.type=postcompilation +tools.ldd.class=readelf-tool +tools.ldd.exclude= +tools.ldd.stdinHint=disabled + +tools.llvm-mcatrunk.name=llvm-mca (trunk) +tools.llvm-mcatrunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mca +tools.llvm-mcatrunk.type=postcompilation +tools.llvm-mcatrunk.class=llvm-mca-tool +tools.llvm-mcatrunk.exclude=cavr:carm:caarch:cmips:cmsp:cppc:ppci +tools.llvm-mcatrunk.stdinHint=disabled + +tools.osacatrunk.name=OSACA (0.4.8) +tools.osacatrunk.exe=/opt/compiler-explorer/osaca-0.4.8/bin/osaca +tools.osacatrunk.type=postcompilation +tools.osacatrunk.class=osaca-tool +tools.osacatrunk.exclude=cavr:carm:cmips:cmsp:cppc:ppci:armv7:ckvx:ck1c:carduino:carmh:carm5:carmg:carmce:cfr:rv6 +tools.osacatrunk.stdinHint=disabled + +tools.pahole.name=pahole +tools.pahole.exe=/opt/compiler-explorer/pahole/bin/pahole +tools.pahole.type=postcompilation +tools.pahole.class=pahole-tool +tools.pahole.exclude= +tools.pahole.stdinHint=disabled +tools.pahole.languageId=cppp + +tools.readelf.name=readelf +tools.readelf.exe=/opt/compiler-explorer/gcc-snapshot/bin/readelf +tools.readelf.type=postcompilation +tools.readelf.class=readelf-tool +tools.readelf.exclude= +tools.readelf.stdinHint=disabled + +tools.strings.exe=/opt/compiler-explorer/gcc-snapshot/bin/strings +tools.strings.name=strings +tools.strings.type=postcompilation +tools.strings.class=strings-tool +tools.strings.exclude= +tools.strings.stdinHint=disabled diff --git a/etc/config/objc.defaults.properties b/etc/config/objc.defaults.properties new file mode 100644 index 000000000..697adda82 --- /dev/null +++ b/etc/config/objc.defaults.properties @@ -0,0 +1,39 @@ +# Default settings for Objective-C +compilers=:&gcc +defaultCompiler=gdefault +objdumper=objdump +postProcess= +supportsBinary=true +supportsBinaryObject=true +binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*)$ +stubRe=\bmain\b +stubText=int main(void){return 0;/*stub provided by Compiler Explorer*/} +supportsLibraryCodeFilter=true + +group.gcc.compilers=objcg44:objcg45:objcg46:objcg47:objcg48:objcg5:objcg6:objcg7:objcg8:objcg9:objcg10:objcg11:objcgdefault +compiler.objcg44.exe=/usr/bin/gcc-4.4 +compiler.objcg44.name=gcc 4.4 +compiler.objcg45.exe=/usr/bin/gcc-4.5 +compiler.objcg45.name=gcc 4.5 +compiler.objcg46.exe=/usr/bin/gcc-4.6 +compiler.objcg46.name=gcc 4.6 +compiler.objcg47.exe=/usr/bin/gcc-4.7 +compiler.objcg47.name=gcc 4.7 +compiler.objcg48.exe=/usr/bin/gcc-4.8 +compiler.objcg48.name=gcc 4.8 +compiler.objcg5.exe=/usr/bin/gcc-5 +compiler.objcg5.name=gcc 5.x +compiler.objcg6.exe=/usr/bin/gcc-6 +compiler.objcg6.name=gcc 6.x +compiler.objcg7.exe=/usr/bin/gcc-7 +compiler.objcg7.name=gcc 7.x +compiler.objcg8.exe=/usr/bin/gcc-8 +compiler.objcg8.name=gcc 8.x +compiler.objcg9.exe=/usr/bin/gcc-9 +compiler.objcg9.name=gcc 9.x +compiler.objcg10.exe=/usr/bin/gcc-10 +compiler.objcg10.name=gcc 10.x +compiler.objcg11.exe=/usr/bin/gcc-11 +compiler.objcg11.name=gcc 11.x +compiler.objcgdefault.exe=/usr/bin/gcc +compiler.objcgdefault.name=gcc default diff --git a/examples/objc++/default.mm b/examples/objc++/default.mm new file mode 100644 index 000000000..99eb4c2bb --- /dev/null +++ b/examples/objc++/default.mm @@ -0,0 +1,4 @@ +/* Type your code here, or load an example. */ +int square(int num) { + return num * num; +} diff --git a/examples/objc/default.m b/examples/objc/default.m new file mode 100644 index 000000000..99eb4c2bb --- /dev/null +++ b/examples/objc/default.m @@ -0,0 +1,4 @@ +/* Type your code here, or load an example. */ +int square(int num) { + return num * num; +} diff --git a/lib/compilers/gcc.js b/lib/compilers/gcc.ts similarity index 100% rename from lib/compilers/gcc.js rename to lib/compilers/gcc.ts diff --git a/lib/languages.ts b/lib/languages.ts index ad1517cfe..bcde44a24 100644 --- a/lib/languages.ts +++ b/lib/languages.ts @@ -429,6 +429,28 @@ const definitions: Record = { previewFilter: null, monacoDisassembly: null, }, + objc: { + name: 'Objective-C', + monaco: 'objective-c', + extensions: ['.m'], + alias: [], + logoUrl: null, + logoUrlDark: null, + formatter: null, + previewFilter: null, + monacoDisassembly: null, + }, + 'objc++': { + name: 'Objective-C++', + monaco: 'objective-c', + extensions: ['.mm'], + alias: [], + logoUrl: null, + logoUrlDark: null, + formatter: null, + previewFilter: null, + monacoDisassembly: null, + }, ocaml: { name: 'OCaml', monaco: 'ocaml', diff --git a/types/languages.interfaces.ts b/types/languages.interfaces.ts index 746159153..807836c7b 100644 --- a/types/languages.interfaces.ts +++ b/types/languages.interfaces.ts @@ -59,6 +59,8 @@ export type LanguageKey = | 'mlir' | 'nim' | 'ocaml' + | 'objc' + | 'objc++' | 'openclc' | 'pascal' | 'pony' diff --git a/webpack.config.esm.js b/webpack.config.esm.js index 911f89f23..6e9933b74 100644 --- a/webpack.config.esm.js +++ b/webpack.config.esm.js @@ -78,6 +78,7 @@ const plugins = [ 'typescript', 'solidity', 'scheme', + 'objective-c', ], filename: isDev ? '[name].worker.js' : `[name]${webjackJsHack}worker.[contenthash].js`, }),