forked from kornelski/pngquant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL
92 lines (54 loc) · 2.55 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
## Compiling on Linux, *BSD and macOS
(For instructions for Windows see section below.)
### Using GNU/Makefile
To get the code:
git clone --recursive https://github.com/kornelski/pngquant.git
You will need libpng installed with development headers.
On Linux install `libpng-dev` package. On macOS `brew install libpng`.
There's an optional `./configure` step (see sections below). Run:
make
It will create `pngquant` executable in the current directory. If you'd like
to install it system-wide:
sudo make install
By default it will be installed in /usr/local/bin. To install it in another
directory run `./configure --prefix=dir && make`.
pngquant uses GNU Makefile. To compile on FreeBSD you will need to use `gmake`.
Avoid Linux distros that ship with libpng 1.2. It is old and buggy.
Use libpng 1.6 or later.
### Using Rust/Cargo
If you have Rust, you can also build with `cargo build`.
### Custom static libpng
Extract libpng source code as a *sub*directory of pngquant source directory.
Build static libpng (`./configure --enable-static && make`), and then
`./configure && make` pngquant.
When building with Cargo, `export PNG_STATIC=1`.
## Windows
Compiling on Windows is supported only via Rust/Cargo.
1. Install git (msys-git).
2. Install Visual C++ 2015 Build Tools.
3. [Install Rust](https://www.rust-lang.org/install.html)
4. Restart Windows.
Open Git's Bash prompt and run:
git clone -b msvc --recursive https://github.com/kornelski/pngquant.git
cd pngquant
This will create pngquant folder in your user folder. And then run:
cargo build --release
It will create `pngquant.exe` in `target/release` subfolder.
## Compilation with OpenMP
cargo build --release --features=openmp # or
cargo build --release --features=openmp-static
On macOS you may need to install gcc and run `export CC=gcc-7` first,
because clang doesn't support OpenMP (yet).
## Compilation without Cocoa image reader
macOS version can use Cocoa to read images. This adds support for color profiles
and other image formats as input.
cargo build --release --features=cocoa
## Compilation with Little CMS 2
Little CMS library is used by default.
It's linked dynamically if `pkg-config` is working (e.g. install `liblcms2-dev`).
Otherwise uses static build as a fallback.
Set `export LCMS2_STATIC=1` to force static linking.
## Compilation of `libimagequant.a` only
If you want to use pngquant's conversion algorithm without loading/saving PNG
files, then you can run `make` or `cargo build` in the `lib/` directory.
The library doesn't need libpng nor zlib.