[ruby-core:93609] [Ruby master Bug#10651] pkg_config does not report required include headers

From: merch-redmine@...
Date: 2019-07-08 03:19:54 UTC
List: ruby-core #93609
Issue #10651 has been updated by jeremyevans0 (Jeremy Evans).

File mkmf-pkgconfig-return-value.patch added

anatolik (Anatol Pomozov) wrote:
> Could anyone explain what this change tries to do?

It tries to separate the `-I` cflags from the non `-I` ones, as they are stored in different global variables.  In general it probably doesn't cause problems in mkmf because it is used for the side effect of modifying the global variables.  However, the return value should probably be fixed to include the `-I` cflags.  Attached is a patch that does that.

----------------------------------------
Bug #10651: pkg_config does not report required include headers
https://bugs.ruby-lang.org/issues/10651#change-79206

* Author: anatolik (Anatol Pomozov)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
pkg_config behavior seems incorrect in 2.2.0. I am testing following script in Linux Arch:

`require 'mkmf'
puts pkg_config("xft")`

In 2.1.5 it gives
`["-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz", "", "-lXft"]`

In 2.2.0 it gives
`["", "", "-lXft"]`

pkg-config command line tool gives.

`$ pkg-config --cflags xft
-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz`

So it points that new pkg_config implementation is incorrect.


Here is content of the pc file itself:

$ cat /usr/lib/pkgconfig/xft.pc 
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Xft
Description: X FreeType library
Version: 2.3.2
Requires: xproto
Requires.private: xrender, fontconfig, freetype2
Cflags: -I${includedir}
Libs: -L${libdir} -lXft

---Files--------------------------------
mkmf-pkgconfig-return-value.patch (1.48 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next