Commit Graph

5 Commits

Author SHA1 Message Date
Demi Marie Obenour 48dbb5b6ca Avoid undefined behavior due to strict aliasing
This does not make XCB conform to the C99+ strict aliasing rules, but it
does use attributes to prevent GCC and Clang from assuming the rules are
followed in the cases where XCB does violate them.

Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2024-08-29 17:53:44 -04:00
Emil Velikov 382d306d6c Move internal/private dependencies to Requires.private
Program using the xcb sub-modules has indirect compile and runtime
dependency of core xcb. To ensure this out we currently list xcb in
the Requires field of the pkg-config files. While this provides all
the required dependencies for successful compilation this causes
over-linking and hides potential linking miss-use against the xcb modules.

By moving to Requires.private we retain the compilation and runtime
compatibility and avoids any runtime problems.

Cc: Keith Packard <keithp@keithp.com>
Cc: Alan Coopersmith <alan.coopersmith@oracle.com>
References: http://people.freedesktop.org/~dbn/pkg-config-guide.html#faq
References: https://wiki.mageia.org/en/Overlinking_issues_in_packaging
References: http://err.no/personal/blog/2008/Mar/25
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-10-03 23:53:54 +02:00
Keith Packard e2813e1cde Update .pc file Requires lines to express full dependencies
Some xcb libraries depend on others; make these dependencies explicit
in the .pc files that are installed.

This change was generated automatically by running 'check-pc-requires -fix'

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Uli Schlachter <psychon@znc.in>
2014-03-22 14:44:52 +01:00
Jamey Sharp cf80bab8e6 Lowercase library names to correspond with the new API. 2006-09-25 01:42:12 -07:00
Josh Triplett b825f3385b Add .pc.in files for all the new extension libraries. Generate .pc files from the new .pc.in files in configure.ac. Install the new .pc files in Makefile.am, and add the new .pc.in files to EXTRA_DIST.
Based on a patch by Vincent Torri.  Changes from that patch: add Requires to the .pc.in files based on the <import>s in the extensions, add a .pc.in file for libXCBxtest, change Name and Description fields to match extension names.
2006-04-26 13:22:12 -07:00