File: building.xml

package info (click to toggle)
chafa 1.18.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,828 kB
  • sloc: ansic: 52,456; xml: 881; sh: 610; makefile: 466; python: 334
file content (129 lines) | stat: -rw-r--r-- 4,697 bytes parent folder | download | duplicates (2)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
               "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
<refentry id="chafa-building">
  <refmeta>
    <refentrytitle>Compiling the Chafa package</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo>Chafa Library</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>Compiling the Chafa Package</refname>
    <refpurpose>How to compile Chafa itself</refpurpose>
  </refnamediv>

  <refsect1 id="building-git">
    <title>Building from the Git repository</title>
    <para>
      When building from a clean Git repository, the build files
      must be prepared before anything else happens. The repository
      includes a shell script for this:

      <literallayout>
        <userinput>./autogen.sh</userinput>
      </literallayout>

      Afterwards the build can proceed like it would from a source
      package.
    </para>
  </refsect1>

  <refsect1 id="building-src">
    <title>Building from a source package</title>
    <para>
      Chafa uses a typical build system provided by
      <application>autoconf</application>, <application>automake</application>
      and <application>libtool</application>. You can build and install
      Chafa like this:

      <literallayout>
        <userinput>./configure</userinput>
        <userinput>make</userinput>
        <userinput>make install</userinput>
      </literallayout>
    </para>

    <para>
      The standard options provided by <application>GNU
      autoconf</application> may be passed to the
      <command>configure</command> script.  Please see the
      <application>autoconf</application> documentation or run
      <command>./configure --help</command> for information about
      the standard options.
    </para>
  </refsect1>
  <refsect1 id="dependencies">
    <title>Dependencies</title>
    <para>
      Chafa depends on the GLib library. If you want to build the
      <command>chafa</command> command-line tool in addition to the
      libchafa library, you will also need the FreeType library and
      its development files. <command>chafa</command> has built-in
      support for the GIF, PNG, QOI and XWD formats, and can be
      built with optional support for many others, including AVIF,
      JPEG, SVG, TIFF and WebP. <command>./configure</command> will
      summarize the build features.
    </para>
  </refsect1>
  <refsect1 id="extra-configuration-options">
    <title>Extra Configuration Options</title>

    <para>
      In addition to the normal options, the
      <command>configure</command> script supports these additional
      arguments:
    </para>

    <formalpara>
      <title><systemitem>--disable-Bsymbolic</systemitem> and
        <systemitem>--enable-Bsymbolic</systemitem></title>

      <para>
        By default, Chafa uses the -Bsymbolic-functions linker
        flag to avoid intra-library PLT jumps. A side-effect
        of this is that it is no longer possible to override
        internal uses of Chafa functions with
        <envar>LD_PRELOAD</envar>. Therefore, it may make
        sense to turn this feature off in some situations.
        The <option>--disable-Bsymbolic</option> option allows
        you to do that.
      </para>
    </formalpara>

    <formalpara>
      <title><systemitem>--disable-gtk-doc</systemitem> and
        <systemitem>--enable-gtk-doc</systemitem></title>

      <para>
        By default the <command>configure</command> script will try
        to auto-detect whether the
        <application>gtk-doc</application> package is installed.
        If it is, then it will use it to extract and build the
        documentation for the Chafa library. These options
        can be used to explicitly control whether
        <application>gtk-doc</application> should be
        used or not. If it is not used, the distributed,
        pre-generated HTML files will be installed instead of
        building them on your machine.
      </para>
    </formalpara>

    <formalpara>
      <title><systemitem>--disable-man</systemitem> and
        <systemitem>--enable-man</systemitem></title>

      <para>
        By default the <command>configure</command> script will try
        to auto-detect whether <application>xsltproc</application>
        and the necessary Docbook stylesheets are installed.
        If they are, then it will use them to rebuild the included
        man pages from the XML sources. These options can be used
        to explicitly control whether man pages should be rebuilt
        or not. The distribution includes pre-generated man
        pages.
      </para>
    </formalpara>
  </refsect1>
</refentry>