This file is indexed.

/usr/share/doc/allegro4-doc/html/abi.html is in allegro4-doc 2:4.4.2-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><title>
ABI compatibility information
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" title="Default" type="text/css" href="allegro.css"></head><body bgcolor=white text=black link="#0000ee" alink="#ff0000" vlink="#551a8b">
<pre>
     ______   ___    ___
    /\  _  \ /\_ \  /\_ \
    \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___ 
     \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ <tt>`\/\`'</tt>__\/ __`\
      \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
       \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
        \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
                                       /\____/
                                       \_/__/


                ABI compatibility information.

         See <a href="readme.html">readme.txt</a> for a more general overview.
</pre>



<p><br>
<h1><a name="Introduction">Introduction</a></h1>

<p>
   We plan to maintain backward compatibility at the Application Binary
   Interface level for the subsequent releases of the 4.4.x series. For
   example, that means you will be able to use an executable compiled using
   version 4.4.0 with version 4.4.5 or 4.4.41 of the dynamically linked
   library.

<p>
   However, there are some guidelines you should follow.

<p>
   Note: ABI compatibility will only be _actively_ maintained for:
<ul>
<li>Windows on x86 / x86-64
<li>Linux on x86 / x86-64
<li>MacOS X on PowerPC / x86
</ul>

<p>
   We will not be maintaining "forwards compatibility", meaning that
   programs compiled with a newer release of Allegro may not necessarily
   run on a target system which has an older release of Allegro installed.
   You would have to upgrade the Allegro DLL on the target system.  While
   we will try to minimise these kinds of forced upgrades, it should give
   us more flexibility within the stable series.



<p><br>
<h1><a name="Windows notes">Windows notes</a></h1>

<p>
   If you don't need a modified version of Allegro then just link your
   program against an official stable version. Don't disable any features
   in the DLL.

<p>
   If you require a modified version of Allegro, then please either
   statically link, or pick a non-standard name for the Allegro DLL.
   For example, don't distribute a modified version of Allegro under a
   name such as all44.dll or alleg44.dll.

<p>
   For the people who use vanilla Allegro, we will provide a set of
   "reference" DLLs. If your binary works with those then everything is
   fine. If you want to distribute Allegro DLLs with your program
   (usually a good idea), we recommend you distribute our DLLs instead
   of ones you compiled yourself.



<p><br>
<h1><a name="Linux notes">Linux notes</a></h1>

<p>
   When you are ready to distribute your binary, run "ldd &lt;mybinary&gt;".
   It should say something like:

<p>
      liballeg.so.4.4 =&gt; /usr/local/lib/liballeg.so.4.4 (0xdeadbeaf)

<p>
   It should NOT say:

<p>
      liballeg.so.4.4.0 =&gt; /usr/local/lib/liballeg.so.4.4.0 (0xdeadbeaf)

<p>
   If you see the latter, that would mean users with later versions of
   Allegro would not be able to run your binary.

<p>
   See also the Windows section if you need to use a modified version of
   Allegro.

<p>
   For people packaging Allegro for redistribution: you should try to ensure
   that a program built against a copy of Allegro with the default
   configuration will work with your version of the library.



<p><br>
<h1><a name="MacOS X notes">MacOS X notes</a></h1>

<p>
   On OSX there are two 'styles' of linking - Unix style and Mac style.
   For the Unix style linking, you would use `allegro-config --libs`
   on the link line. For versioning, follow the advice given in the
   Linux section above, using the command `otool -L' instead of <tt>`ldd'</tt>.

<p>
   For example, otool -L &lt;mybinary&gt; should give

<p>
      liballeg.4.4.dylib (compatibility version 4.4.0, current version 4.4.0)

<p>
   For the Mac style, use `allegro-config --frameworks` on the link
   line, or add <tt>`Allegro.framework'</tt> to your project if you are using 
   XCode. In this case, the versioning is done inside the framework
   itself.

<p>
   Apple recommends that an application should be entirely self-
   contained. To achieve this in Allegro, static-link the executable
   and use <tt>`fixbundle'</tt> to bind all its resources together. In this
   way, you will not need to worry about incompatible versions of
   the library. This is useful if you are distributing an application.

<p>
   There is a known compatibility problem when using gcc 4 on MacOS X 10.4
   that prevents binaries from working on older versions of MacOS X. While it
   is anticipated that a future update from Apple will fix this problem, you
   can use gcc 3 to work around it.



</body>
</html>