32 lines
843 B
JavaScript
32 lines
843 B
JavaScript
'use strict';
|
|
const path = require('path');
|
|
const binBuild = require('bin-build');
|
|
const log = require('logalot');
|
|
const bin = require('.');
|
|
|
|
(async () => {
|
|
try {
|
|
await bin.run(['--version']);
|
|
log.success('optipng pre-build test passed successfully');
|
|
} catch (error) {
|
|
log.warn(error.message);
|
|
log.warn('optipng pre-build test failed');
|
|
log.info('compiling from source');
|
|
|
|
try {
|
|
// From https://sourceforge.net/projects/optipng/files/OptiPNG/
|
|
await binBuild.file(path.resolve(__dirname, '../vendor/source/optipng.tar.gz'), [
|
|
`./configure --with-system-zlib --prefix="${bin.dest()}" --bindir="${bin.dest()}"`,
|
|
'make install'
|
|
]);
|
|
|
|
log.success('optipng built successfully');
|
|
} catch (error) {
|
|
log.error(error.stack);
|
|
|
|
// eslint-disable-next-line unicorn/no-process-exit
|
|
process.exit(1);
|
|
}
|
|
}
|
|
})();
|