Skip to content

netsurf-browser/libcss

Repository files navigation

LibCSS -- a CSS parser and selection engine
===========================================

Overview
--------

  LibCSS is a CSS parser and selection engine. It aims to parse the forward
  compatible CSS grammar.

Requirements
------------

  LibCSS requires the following tools:

    + A C99 capable C compiler
    + GNU make or compatible
    + Pkg-config
    + Perl (for the testcases)
    + Python3 (minimum 3.6, for generated selection code)

  LibCSS also requires the following libraries to be installed:

    +  LibParserUtils
    +  LibWapcaplet

Compilation
-----------

  If necessary, modify the toolchain settings in the Makefile.
  Invoke make:

      $ make

Regenerating generated selection source code
--------------------------------------------

  To regenerate the selection sources (computed style data accesses),
  note this requires python3:

      $ make select_generator

Verification
------------

  To verify that the parser is working, it is necessary to specify a
  different makefile target than that used for normal compilation, thus:

      $ make test

API documentation
-----------------

  Currently, there is none. However, the code is well commented and the
  public API may be found in the "include" directory. The testcase sources
  may also be of use in working out how to use it.