37 lines
1.0 KiB
JavaScript
37 lines
1.0 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']).then(() => {
|
|
log.success('mozjpeg pre-build test passed successfully');
|
|
}).catch(error => {
|
|
log.warn(error.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 --enable-static --disable-shared --disable-dependency-tracking --with-jpeg8 ${cfgExtras}`,
|
|
`--prefix="${bin.dest()}" --bindir="${bin.dest()}" --libdir="${bin.dest()}"`
|
|
].join(' ');
|
|
|
|
binBuild.url('https://github.com/mozilla/mozjpeg/releases/download/v3.2/mozjpeg-3.2-release-source.tar.gz', [
|
|
'autoreconf -fiv',
|
|
cfg,
|
|
`make -j${cpuNum}`,
|
|
`make install -j${cpuNum}`
|
|
]).then(() => {
|
|
log.success('mozjpeg built successfully');
|
|
}).catch(error => {
|
|
log.error(error.stack);
|
|
});
|
|
});
|