Files
asciidisco.com/build/node_modules/mozjpeg/lib/install.js
2023-08-01 13:49:46 +02:00

44 lines
1.1 KiB
JavaScript

'use strict';
const os = require('os');
const BinBuild = require('bin-build');
const log = require('logalot');
const bin = require('.');
const cpuNum = os.cpus().length;
bin.run(['-version'], err => {
if (err) {
log.warn(err.message);
log.warn('mozjpeg pre-build test failed');
log.info('compiling from source');
let cfgExtras = '';
if (process.platform === 'darwin') {
cfgExtras = 'libpng_LIBS=\'/usr/local/lib/libpng16.a -lz\' --enable-static';
}
const cfg = [
`./configure --disable-shared --disable-dependency-tracking --with-jpeg8 ${cfgExtras}`,
`--prefix="${bin.dest()}" --bindir="${bin.dest()}" --libdir="${bin.dest()}"`
].join(' ');
const builder = new BinBuild()
.src('https://github.com/mozilla/mozjpeg/releases/download/v3.2/mozjpeg-3.2-release-source.tar.gz')
.cmd('autoreconf -fiv')
.cmd(cfg)
.cmd(`make -j${cpuNum}`)
.cmd(`make install -j${cpuNum}`);
return builder.run(err => {
if (err) {
log.error(err.stack);
return;
}
log.success('mozjpeg built successfully');
});
}
log.success('mozjpeg pre-build test passed successfully');
});