123456789101112131415161718192021222324252627282930313233343536 |
- '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);
- });
- });
|