diff --git a/kmake/src/Exporters/EmscriptenExporter.ts b/kmake/src/Exporters/EmscriptenExporter.ts index 07c6347a67..64e4d74eb8 100644 --- a/kmake/src/Exporters/EmscriptenExporter.ts +++ b/kmake/src/Exporters/EmscriptenExporter.ts @@ -6,10 +6,12 @@ import * as fs from 'kmake/fsextra'; import * as path from 'path'; import { CompilerCommandsExporter } from 'kmake/Exporters/CompileCommandsExporter'; import { MakeExporter } from 'kmake/Exporters/MakeExporter'; +import { NinjaExporter } from 'kmake/Exporters/NinjaExporter'; export class EmscriptenExporter extends Exporter { compileCommands: CompilerCommandsExporter; make: MakeExporter; + ninja: NinjaExporter; constructor(project: Project, options: any) { super(options); @@ -36,10 +38,24 @@ export class EmscriptenExporter extends Exporter { linkerFlags += ' -o ' + executableName + '.html --preload-file ' + this.debugDirName(project); - this.make = new MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsMakeLine); + this.make = new MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsLine); + this.ninja = new NinjaExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsLine); } - libsMakeLine(project: Project): string { + libsLine(project: Project): string { + let libs = ''; + for (let lib of project.getLibs()) { + if (lib.startsWith('USE_')) { + libs += ' -s' + lib; + } + else { + libs += ' -l' + lib; + } + } + return libs; + } + + libsNinjaLine(project: Project): string { let libs = ''; for (let lib of project.getLibs()) { if (lib.startsWith('USE_')) { diff --git a/kmake/src/Exporters/NinjaExporter.ts b/kmake/src/Exporters/NinjaExporter.ts index 367a194429..516fd08485 100644 --- a/kmake/src/Exporters/NinjaExporter.ts +++ b/kmake/src/Exporters/NinjaExporter.ts @@ -14,7 +14,7 @@ export class NinjaExporter extends Exporter { linkerFlags: string; outputExtension: string; - constructor(options: any, cCompiler: string, cppCompiler: string, cFlags: string, cppFlags: string, linkerFlags: string, outputExtension: string) { + constructor(options: any, cCompiler: string, cppCompiler: string, cFlags: string, cppFlags: string, linkerFlags: string, outputExtension: string, libsLine: (p: Project) => string = null) { super(options); this.cCompiler = cCompiler; this.cppCompiler = cppCompiler; @@ -22,6 +22,17 @@ export class NinjaExporter extends Exporter { this.cppFlags = cppFlags; this.linkerFlags = linkerFlags; this.outputExtension = outputExtension; + if (libsLine != null) { + this.libsLine = libsLine; + } + } + + libsLine(project: Project): string { + let libs = ''; + for (let lib of project.getLibs()) { + libs += ' -l' + lib; + } + return libs; } async exportSolution(project: Project, from: string, to: string, platform: string, vrApi: any, options: any) { @@ -66,9 +77,7 @@ export class NinjaExporter extends Exporter { } let libsline = this.linkerFlags; - for (let lib of project.getLibs()) { - libsline += ' -l' + lib; - } + libsline += this.libsLine(project); libsline += ' '; let defline = ''; diff --git a/lib/kmake/Exporters/EmscriptenExporter.js b/lib/kmake/Exporters/EmscriptenExporter.js index ee530cae8f..58e6941ed4 100644 --- a/lib/kmake/Exporters/EmscriptenExporter.js +++ b/lib/kmake/Exporters/EmscriptenExporter.js @@ -8,6 +8,7 @@ const fs = require("kmake/fsextra"); const path = require("path"); const CompileCommandsExporter_1 = require("kmake/Exporters/CompileCommandsExporter"); const MakeExporter_1 = require("kmake/Exporters/MakeExporter"); +const NinjaExporter_1 = require("kmake/Exporters/NinjaExporter"); class EmscriptenExporter extends Exporter_1.Exporter { constructor(project, options) { super(options); @@ -28,9 +29,22 @@ class EmscriptenExporter extends Exporter_1.Exporter { executableName = project.getExecutableName(); } linkerFlags += ' -o ' + executableName + '.html --preload-file ' + this.debugDirName(project); - this.make = new MakeExporter_1.MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsMakeLine); + this.make = new MakeExporter_1.MakeExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsLine); + this.ninja = new NinjaExporter_1.NinjaExporter(options, 'emcc', 'emcc', '', '', '', '.html', this.libsLine); } - libsMakeLine(project) { + libsLine(project) { + let libs = ''; + for (let lib of project.getLibs()) { + if (lib.startsWith('USE_')) { + libs += ' -s' + lib; + } + else { + libs += ' -l' + lib; + } + } + return libs; + } + libsNinjaLine(project) { let libs = ''; for (let lib of project.getLibs()) { if (lib.startsWith('USE_')) { diff --git a/lib/kmake/Exporters/EmscriptenExporter.js.map b/lib/kmake/Exporters/EmscriptenExporter.js.map index 562a252ff0..a1d5efbd7e 100644 --- a/lib/kmake/Exporters/EmscriptenExporter.js.map +++ b/lib/kmake/Exporters/EmscriptenExporter.js.map @@ -1 +1 @@ -{"version":3,"file":"EmscriptenExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/EmscriptenExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"EmscriptenExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/EmscriptenExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/kmake/Exporters/NinjaExporter.js b/lib/kmake/Exporters/NinjaExporter.js index b7bc695597..110dc17d00 100644 --- a/lib/kmake/Exporters/NinjaExporter.js +++ b/lib/kmake/Exporters/NinjaExporter.js @@ -5,7 +5,7 @@ const Exporter_1 = require("kmake/Exporters/Exporter"); const fs = require("kmake/fsextra"); const path = require("path"); class NinjaExporter extends Exporter_1.Exporter { - constructor(options, cCompiler, cppCompiler, cFlags, cppFlags, linkerFlags, outputExtension) { + constructor(options, cCompiler, cppCompiler, cFlags, cppFlags, linkerFlags, outputExtension, libsLine = null) { super(options); this.cCompiler = cCompiler; this.cppCompiler = cppCompiler; @@ -13,6 +13,16 @@ class NinjaExporter extends Exporter_1.Exporter { this.cppFlags = cppFlags; this.linkerFlags = linkerFlags; this.outputExtension = outputExtension; + if (libsLine != null) { + this.libsLine = libsLine; + } + } + libsLine(project) { + let libs = ''; + for (let lib of project.getLibs()) { + libs += ' -l' + lib; + } + return libs; } async exportSolution(project, from, to, platform, vrApi, options) { let objects = {}; @@ -51,9 +61,7 @@ class NinjaExporter extends Exporter_1.Exporter { incline += '-I' + inc + ' '; } let libsline = this.linkerFlags; - for (let lib of project.getLibs()) { - libsline += ' -l' + lib; - } + libsline += this.libsLine(project); libsline += ' '; let defline = ''; for (const def of project.getDefines()) { diff --git a/lib/kmake/Exporters/NinjaExporter.js.map b/lib/kmake/Exporters/NinjaExporter.js.map index ed28cd811c..6b47b457fb 100644 --- a/lib/kmake/Exporters/NinjaExporter.js.map +++ b/lib/kmake/Exporters/NinjaExporter.js.map @@ -1 +1 @@ -{"version":3,"file":"NinjaExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/NinjaExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"NinjaExporter.js","sourceRoot":"","sources":["../../../kmake/src/Exporters/NinjaExporter.ts"],"names":[],"mappings":"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"} \ No newline at end of file