
I'm taking a page from Dolphin's book, and including copies of each dependency's source code. This combines the ease of use of including pre-built libraries instead of needing to navigate a package manager - as is (or was) the case for MSVC - with the portability of using packages. Granted, this method's more of a jack of all trades, master of none, since it's *less* user-friendly than prebuilt packages (compilation times), and you don't get the per-distro compatibility fixes you'd get from a package manager. You can still use system libs if you want. In fact, it's still the default behaviour: compiling the libs manually is just a fallback. I'll add an option to force-enable this soon, however, since it's a nicer way to produce static MSYS2 builds than the hackish nightmare that I was using before. Not to mention, having my own copy of the sources means I can provide my own fixes and tweaks your package manager may not. For example, I can combine MSYS2's FreeType subpixel rendering with vcpkg's fix for SDL2 exporting its symbols in static builds.
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
function makeURL(toolchain, config) {
|
|
return 'index.html?tc=' + toolchain + '&config=' + config;
|
|
}
|
|
|
|
function createWindow(url) {
|
|
console.log('loading ' + url);
|
|
chrome.app.window.create(url, {
|
|
width: 1024,
|
|
height: 800,
|
|
frame: 'none'
|
|
});
|
|
}
|
|
|
|
function onLaunched(launchData) {
|
|
// Send and XHR to get the URL to load from a configuration file.
|
|
// Normally you won't need to do this; just call:
|
|
//
|
|
// chrome.app.window.create('<your url>', {...});
|
|
//
|
|
// In the SDK we want to be able to load different URLs (for different
|
|
// toolchain/config combinations) from the commandline, so we to read
|
|
// this information from the file "run_package_config".
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open('GET', 'run_package_config', true);
|
|
xhr.onload = function() {
|
|
var toolchain_config = this.responseText.split(' ');
|
|
createWindow(makeURL.apply(null, toolchain_config));
|
|
};
|
|
xhr.onerror = function() {
|
|
// Can't find the config file, just load the default.
|
|
createWindow('index.html');
|
|
};
|
|
xhr.send();
|
|
}
|
|
|
|
chrome.app.runtime.onLaunched.addListener(onLaunched);
|