# Configuration

## ./configure

It is possible to customize the functionality of liboggz by using various ./configure flags when building it from source. You can build a smaller version of liboggz to only read or write. By default, both reading and writing support is built.

For general information about using ./configure, see the file INSTALL

### Removing writing support

Configuring with --disable-write will remove all support for writing:

- All internal write related functions will not be built
- Any attempt to call oggz_new(), oggz_open() or oggz_open_stdio() with flags == OGGZ_WRITE will fail, returning NULL
- Any attempt to call oggz_write(), oggz_write_output(), oggz_write_feed(), oggz_write_set_hungry_callback(), or oggz_write_get_next_page_size() will return OGGZ_ERR_DISABLED

### Removing reading support

Configuring with --disable-read will remove all support for reading:

- All internal reading related functions will not be built
- Any attempt to call oggz_new(), oggz_open() or oggz_open_stdio() with flags == OGGZ_READ will fail, returning NULL
- Any attempt to call oggz_read(), oggz_read_input(), oggz_set_read_callback(), oggz_seek(), or oggz_seek_units() will return OGGZ_ERR_DISABLED