Blame docs/build-with-autotools.md
|
Packit |
bfcc33 |
### Get the sources
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
# using git is preferred
|
|
Packit |
bfcc33 |
git clone https://github.com/sass/libsass.git
|
|
Packit |
bfcc33 |
# only needed for sassc and/or testsuite
|
|
Packit |
bfcc33 |
git clone https://github.com/sass/sassc.git libsass/sassc
|
|
Packit |
bfcc33 |
git clone https://github.com/sass/sass-spec.git libsass/sass-spec
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Prerequisites
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
In order to run autotools you need a few tools installed on your system.
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
yum install automake libtool # RedHat Linux
|
|
Packit |
bfcc33 |
emerge -a automake libtool # Gentoo Linux
|
|
Packit |
bfcc33 |
pkgin install automake libtool # SmartOS
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Create configure script
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
cd libsass
|
|
Packit |
bfcc33 |
autoreconf --force --install
|
|
Packit |
bfcc33 |
cd ..
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Create custom makefiles
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
cd libsass
|
|
Packit |
bfcc33 |
./configure \
|
|
Packit |
bfcc33 |
--disable-tests \
|
|
Packit |
bfcc33 |
--disable-shared \
|
|
Packit |
bfcc33 |
--prefix=/usr
|
|
Packit |
bfcc33 |
cd ..
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Build the library
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
make -C libsass -j5
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Install the library
|
|
Packit |
bfcc33 |
The library will be installed to the location given as `prefix` to `configure`. This is standard behavior for autotools and not `libsass` specific.
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
make -C libsass -j5 install
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Configure options
|
|
Packit |
bfcc33 |
The `configure` script is created by autotools. To get an overview of available options you can call `./configure --help`. When you execute this script, it will create specific makefiles, which you then use via the regular make command.
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
There are some `libsass` specific options:
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
Optional Features:
|
|
Packit |
bfcc33 |
--enable-tests enable testing the build
|
|
Packit |
bfcc33 |
--enable-coverage enable coverage report for test suite
|
|
Packit |
bfcc33 |
--enable-shared build shared libraries [default=yes]
|
|
Packit |
bfcc33 |
--enable-static build static libraries [default=yes]
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
Optional Packages:
|
|
Packit |
bfcc33 |
--with-sassc-dir=<dir> specify directory of sassc sources for
|
|
Packit |
bfcc33 |
testing (default: sassc)
|
|
Packit |
bfcc33 |
--with-sass-spec-dir=<dir> specify directory of sass-spec for testing
|
|
Packit |
bfcc33 |
(default: sass-spec)
|
|
Packit |
bfcc33 |
```
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
### Build sassc and run spec test-suite
|
|
Packit |
bfcc33 |
|
|
Packit |
bfcc33 |
```bash
|
|
Packit |
bfcc33 |
cd libsass
|
|
Packit |
bfcc33 |
autoreconf --force --install
|
|
Packit |
bfcc33 |
./configure \
|
|
Packit |
bfcc33 |
--enable-tests \
|
|
Packit |
bfcc33 |
--enable-shared \
|
|
Packit |
bfcc33 |
--prefix=/usr
|
|
Packit |
bfcc33 |
make -j5 test_build
|
|
Packit |
bfcc33 |
cd ..
|
|
Packit |
bfcc33 |
```
|