glLoadGen / docs / Extension_Files.xml

<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng" type="xml"?>
<?oxygen SCHSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng"?>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
    <title>Extension Files</title>
    <para>The extension file format is pretty simple, but it does have quite a bit of power to
        it.</para>
    <para>Every line of the file is expected to be one of the following:</para>
    <itemizedlist>
        <listitem>
            <para>Nothing. An empty line, spaces, anything that isn't visible text.</para>
        </listitem>
        <listitem>
            <para>A <literal>#include ""</literal> statement. This will cause the loading of another
                extension file named in the <literal>""</literal>s. The <emphasis>current file's
                    location</emphasis> will be the base directory for any relative paths. So if you
                do <literal>#include "more.txt"</literal>, it will search for
                    <filename>more.txt</filename> in the same directory as this extension
                file.</para>
        </listitem>
        <listitem>
            <para>A <literal>#include &lt;></literal> statement. This will cause the loading of
                another extension file named in the <literal>&lt;></literal>s. The location of the
                glLoadGen will be used for the base directory of any relative paths. This is mostly
                intended to allow easy inclusion of the <link xlink:href="Common_Extension_Files"
                    >standard extension files</link>, located in the <filename>extfiles</filename>
                directory. Note that here, you will need to prefix the filename with
                    <filename>extfiles/</filename>; you don't do that with the
                    <literal>-stdext</literal> option.</para>
        </listitem>
        <listitem>
            <para>Anything starting with <literal>//</literal> will be ignored as a comment.</para>
        </listitem>
        <listitem>
            <para>Anything starting with <literal>--</literal> will be ignored as a comment.</para>
        </listitem>
        <listitem>
            <para>Any other text in a line will be interpreted as an extension name. Extension names
                should not have the <quote>GL_</quote>/<quote>WGL_</quote>/<quote>GLX_</quote>
                prefixes.</para>
        </listitem>
    </itemizedlist>
    <para>Note that the system will cull out duplicates, so don't worry too much about putting the
        same name in multiple times. The system will also error out if type an extension that
        doesn't exist.</para>
    <para>What the system will not do is handle <emphasis>infinite recursion.</emphasis> You could
        include a file that includes itself ad-infinitum, and the system will just stack-overflow.
        And there are no include-guards to cover this case; you are expected to deal with such
        inclusion yourself.</para>
</article>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.