<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libepoxy.git/src/meson.build, branch master</title>
<subtitle>github.com: anholt/libepoxy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/'/>
<entry>
<title>meson: Override dependency to improve usage as a subproject</title>
<updated>2022-12-18T04:03:20+00:00</updated>
<author>
<name>Nirbheek Chauhan</name>
<email>nirbheek@centricular.com</email>
</author>
<published>2022-12-18T04:03:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=ec0fb1850bf816b341d23c5ebbdb68beba4ab805'/>
<id>ec0fb1850bf816b341d23c5ebbdb68beba4ab805</id>
<content type='text'>
With this change, libepoxy can be consumed as a subproject without
making any changes to the build files of a project. All you need to do
is provide a wrap file with a `[provide]` section:

https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section

This is also necessary because otherwise projects need to hard-code
the subproject name, which might be `libepoxy` when using `wrap-git` or
`libepoxy-1.5.10` when using `wrap-file` (to build from a release
tarball). This can cause conflicts between different subprojects that
consume libepoxy differently.

Other projects like glib, cairo, pango, etc already do this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this change, libepoxy can be consumed as a subproject without
making any changes to the build files of a project. All you need to do
is provide a wrap file with a `[provide]` section:

https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section

This is also necessary because otherwise projects need to hard-code
the subproject name, which might be `libepoxy` when using `wrap-git` or
`libepoxy-1.5.10` when using `wrap-file` (to build from a release
tarball). This can cause conflicts between different subprojects that
consume libepoxy differently.

Other projects like glib, cairo, pango, etc already do this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the right include paths for EGL and X11 headers</title>
<updated>2022-02-16T19:37:01+00:00</updated>
<author>
<name>Alex Richardson</name>
<email>Alexander.Richardson@cl.cam.ac.uk</email>
</author>
<published>2021-10-06T08:44:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=9bf47884554b4f7e93c7c8fe4f51058a2efbb846'/>
<id>9bf47884554b4f7e93c7c8fe4f51058a2efbb846</id>
<content type='text'>
Libepoxy currently depends on all headers living under the same prefix.
This is not necessarily true: X11 headers can live in a separate prefix,
for instance under /opt/X11. This is also the case when cross-compiling to
a platform that sets up the build environment in non-standard ways.

We could add `x11_dep` and `egl_dep` to the libepoxy target dependencies,
but that could potentially add spurious linker flags and cause libepoxy to
depend on libraries it will dlopen() during normal operations.

To avoid that case, we use a partial_dep() object from Meson, and we limit
the dependency to compiler flags and inclusion paths.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Libepoxy currently depends on all headers living under the same prefix.
This is not necessarily true: X11 headers can live in a separate prefix,
for instance under /opt/X11. This is also the case when cross-compiling to
a platform that sets up the build environment in non-standard ways.

We could add `x11_dep` and `egl_dep` to the libepoxy target dependencies,
but that could potentially add spurious linker flags and cause libepoxy to
depend on libraries it will dlopen() during normal operations.

To avoid that case, we use a partial_dep() object from Meson, and we limit
the dependency to compiler flags and inclusion paths.
</pre>
</div>
</content>
</entry>
<entry>
<title>meson: Set same variables in declare_dependency() as in pkgconfig</title>
<updated>2021-01-20T13:09:14+00:00</updated>
<author>
<name>Xavier Claessens</name>
<email>xavier.claessens@collabora.com</email>
</author>
<published>2020-10-14T21:21:50+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=950b9f5b25843d95c4667ef60038e8d7b476fbb8'/>
<id>950b9f5b25843d95c4667ef60038e8d7b476fbb8</id>
<content type='text'>
GTK currently fails to detect if epoxy has been built with EGL on
Windows when epoxy is a subproject. To fix that it needs to get that
information from the dependency variables.

This requires Meson &gt;=0.54.0 for setting variables in
declare_dependency().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GTK currently fails to detect if epoxy has been built with EGL on
Windows when epoxy is a subproject. To fix that it needs to get that
information from the dependency variables.

This requires Meson &gt;=0.54.0 for setting variables in
declare_dependency().
</pre>
</div>
</content>
</entry>
<entry>
<title>Use Meson's darwin_versions argument</title>
<updated>2020-07-21T18:37:51+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2020-07-21T18:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=f91fb0a0b6c05ea43070201892372d225e5c8f50'/>
<id>f91fb0a0b6c05ea43070201892372d225e5c8f50</id>
<content type='text'>
Instead of tweaking the linker flags ourselves. This allows Meson to do
the right thing, and pass the arguments only where needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of tweaking the linker flags ourselves. This allows Meson to do
the right thing, and pass the arguments only where needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Python 2 support</title>
<updated>2019-11-14T15:10:01+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2019-11-14T15:10:01+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=7baa918b3f946a27f39fd1d99c2e6a4499c4a20c'/>
<id>7baa918b3f946a27f39fd1d99c2e6a4499c4a20c</id>
<content type='text'>
Python 2 is going to reach EOL in January 2020, and most platforms have
already moved to Python 3.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Python 2 is going to reach EOL in January 2020, and most platforms have
already moved to Python 3.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: Drop conditional use of get_supported_link_arguments()</title>
<updated>2018-10-04T16:07:34+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-10-04T16:07:34+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=bf531d104299f5074a6f22cc353221cc7c7708fa'/>
<id>bf531d104299f5074a6f22cc353221cc7c7708fa</id>
<content type='text'>
Meson complains even in the face of a version check.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Meson complains even in the face of a version check.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use -Bsymbolic-functions instead of -Bsymbolic</title>
<updated>2018-05-17T16:02:42+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-05-17T13:19:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=c00c889e625164fc9507f84e57f40c9962e650bb'/>
<id>c00c889e625164fc9507f84e57f40c9962e650bb</id>
<content type='text'>
Epoxy updates the function pointers in order to avoid calling the
resolver multiple times, but with -Bsymbolic we're going to update the
copy inside libepoxy, instead of the relocated copy in the code using
libepoxy. This leads to libepoxy constantly querying the function
resolver code instead of just once.

We still want to avoid intra-library relocations for our functions,
but we need to live with them for our global function pointers.

See issue #171
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Epoxy updates the function pointers in order to avoid calling the
resolver multiple times, but with -Bsymbolic we're going to update the
copy inside libepoxy, instead of the relocated copy in the code using
libepoxy. This leads to libepoxy constantly querying the function
resolver code instead of just once.

We still want to avoid intra-library relocations for our functions,
but we need to live with them for our global function pointers.

See issue #171
</pre>
</div>
</content>
</entry>
<entry>
<title>meson: Fix the -z,relro flag</title>
<updated>2018-04-25T17:50:28+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-04-25T17:50:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=610203a1a4ce5709191a08572709e6a691e6b928'/>
<id>610203a1a4ce5709191a08572709e6a691e6b928</id>
<content type='text'>
We're missing a dash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We're missing a dash.
</pre>
</div>
</content>
</entry>
<entry>
<title>meson: Conditionally test for linker flags</title>
<updated>2018-04-25T10:37:44+00:00</updated>
<author>
<name>Emmanuele Bassi</name>
<email>ebassi@gnome.org</email>
</author>
<published>2018-04-12T15:43:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=af76cd235d73c412f86bc0c523be88d4b13f353b'/>
<id>af76cd235d73c412f86bc0c523be88d4b13f353b</id>
<content type='text'>
Meson 0.46 introduced a function to check for linker flags passed to the
compiler; since the version is really brand new, I don't want to bump
the dependency on Meson just yet, so we're going to conditionally use
get_supported_link_arguments() only if we're building with Meson 0.46 or
later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Meson 0.46 introduced a function to check for linker flags passed to the
compiler; since the version is really brand new, I don't want to bump
the dependency on Meson just yet, so we're going to conditionally use
get_supported_link_arguments() only if we're building with Meson 0.46 or
later.
</pre>
</div>
</content>
</entry>
<entry>
<title>meson: do not add gl to pkg-config file on macOS</title>
<updated>2018-03-04T10:40:55+00:00</updated>
<author>
<name>Tom Schoonjans</name>
<email>Tom.Schoonjans@diamond.ac.uk</email>
</author>
<published>2018-02-28T13:43:00+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libepoxy.git/commit/?id=dc5e092584f5ead9aebba55444ac62ea0ff95e56'/>
<id>dc5e092584f5ead9aebba55444ac62ea0ff95e56</id>
<content type='text'>
Even though meson will find the dependency gl on macOS, this does not mean that
there is a pkg-config file for it, as meson does not use pkg-config to
establish its presence. It should therefore not be added to
the libepoxy pkg-config file as a (private) requirement.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Even though meson will find the dependency gl on macOS, this does not mean that
there is a pkg-config file for it, as meson does not use pkg-config to
establish its presence. It should therefore not be added to
the libepoxy pkg-config file as a (private) requirement.
</pre>
</div>
</content>
</entry>
</feed>
