diff --git a/.gitignore b/.gitignore index 899625640..d1e88db91 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,6 @@ /etc/scripts/asm-docs* # user local customizations -/etc/**/*.local.* /lib/storage/data # IDE project files diff --git a/etc/config/c++.spd.properties b/etc/config/c++.local.properties similarity index 51% rename from etc/config/c++.spd.properties rename to etc/config/c++.local.properties index f2711ac54..a1c5c51a5 100644 --- a/etc/config/c++.spd.properties +++ b/etc/config/c++.local.properties @@ -14,16 +14,16 @@ group.mfcc.supportsBinary=false group.mfcc.supportsBinaryObject=false compiler.mfcp_16x16.exe=/usr/local/miniconda/envs/mfc/speedata/llvm/scripts/mfcc -compiler.mfcp_16x16.options=-I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/include/apu_kernels_codegen/codegen -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_16x16_32fpu_8sfu.csv +compiler.mfcp_16x16.options=-S -I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/jsoncons/0.176.0/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/spdlog/1.14.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/fmt/10.2.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/yaml-cpp/0.8.0/Release/x86_64/include --stop_at_functional --mfcp -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS -D SPDLOG_FMT_EXTERNAL --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_16x16_32fpu_8sfu.csv compiler.mfcp_16x16_mesh8.exe=/usr/local/miniconda/envs/mfc/speedata/llvm/scripts/mfcc -compiler.mfcp_16x16_mesh8.options=-I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/include/apu_kernels_codegen/codegen -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_16x16_32fpu_8sfu_mesh8.grd.csv +compiler.mfcp_16x16_mesh8.options=-S -I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/jsoncons/0.176.0/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/spdlog/1.14.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/fmt/10.2.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/yaml-cpp/0.8.0/Release/x86_64/include --stop_at_functional --mfcp -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS -D SPDLOG_FMT_EXTERNAL --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_16x16_32fpu_8sfu_mesh8.grd.csv compiler.mfcp_9x9.exe=/usr/local/miniconda/envs/mfc/speedata/llvm/scripts/mfcc -compiler.mfcp_9x9.options=-I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/include/apu_kernels_codegen/codegen -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_9x9.csv +compiler.mfcp_9x9.options=-S -I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/jsoncons/0.176.0/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/spdlog/1.14.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/fmt/10.2.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/yaml-cpp/0.8.0/Release/x86_64/include --stop_at_functional --mfcp -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS -D SPDLOG_FMT_EXTERNAL --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_9x9.csv compiler.mfcp_9x9_mesh6.exe=/usr/local/miniconda/envs/mfc/speedata/llvm/scripts/mfcc -compiler.mfcp_9x9_mesh6.options=-I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/include/apu_kernels_codegen/codegen -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_9x9_mesh6.grd.csv +compiler.mfcp_9x9_mesh6.options=-S -I /usr/local/miniconda/envs/mfc/include -I /usr/local/miniconda/envs/mfc/speedata/include/cpp_utils/logger-lib -I /usr/local/miniconda/envs/mfc/speedata/include/memory_image_manager -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/jsoncons/0.176.0/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/spdlog/1.14.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/fmt/10.2.1/include -I /usr/local/miniconda/envs/mfc/speedata/3rd_parties/Deploy/Release/full_deploy/host/yaml-cpp/0.8.0/Release/x86_64/include --stop_at_functional --mfcp -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/MFC -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/PSS -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/QX -I /usr/local/miniconda/envs/mfc/speedata/include/fw_definitions/COMMON_UTILS -D SPDLOG_FMT_EXTERNAL --unit /usr/local/miniconda/envs/mfc/speedata/bender/data/mfcp_9x9_mesh6.grd.csv group.clang.compilers=mfcp_ir diff --git a/etc/config/compiler-explorer.defaults.properties b/etc/config/compiler-explorer.defaults.properties index b50a5be42..2411853fc 100644 --- a/etc/config/compiler-explorer.defaults.properties +++ b/etc/config/compiler-explorer.defaults.properties @@ -10,6 +10,7 @@ staticMaxAgeSecs=1 maxUploadSize=16mb supportsExecute=true optionsAllowedRe=.* +restrictToLanguages=c++ # For local instances, you can use optionsForbiddenRe for extra hardening - preventing clang plugins etc. Today the live site uses nsjail instead. # optionsForbiddenRe=^(-W[alp],)?((--?(wrapper|fplugin.*|specs|load|plugin|include|fmodule-mapper)|(@.*)|-I|-i)(=.*)?|--)$ diff --git a/lib/compilers/_all.ts b/lib/compilers/_all.ts index 2ccf7c4bb..7d812aa63 100644 --- a/lib/compilers/_all.ts +++ b/lib/compilers/_all.ts @@ -171,3 +171,4 @@ export {ZigCC} from './zigcc.js'; export {ZigCXX} from './zigcxx.js'; export {ZigCompiler} from './zig.js'; export {z88dkCompiler} from './z88dk.js'; +export {MfccCompiler} from './mfcc.js'; diff --git a/lib/compilers/mfcc.ts b/lib/compilers/mfcc.ts index 5873ccf0d..d678ae9ea 100644 --- a/lib/compilers/mfcc.ts +++ b/lib/compilers/mfcc.ts @@ -1,6 +1,6 @@ // Customization point for Speedata MFCC compiler -import path from 'path'; +import path from 'node:path'; import fs from 'fs-extra'; @@ -12,9 +12,9 @@ import {BaseCompiler} from '../base-compiler.js'; import {CompilationEnvironment} from '../compilation-env.js'; import {logger} from '../logger.js'; +import {splitArguments} from '../../shared/common-utils.js'; +import {SelectedLibraryVersion} from '../../types/libraries/libraries.interfaces.js'; import {ClangParser} from './argument-parsers.js'; -import { SelectedLibraryVersion } from '../../types/libraries/libraries.interfaces.js'; -import { splitArguments } from '../../shared/common-utils.js'; export class MfccCompiler extends BaseCompiler { constructor(info: PreliminaryCompilerInfo, env: CompilationEnvironment) {