From: anatol.pomozov@... Date: 2014-12-27T14:39:58+00:00 Subject: [ruby-core:67166] [ruby-trunk - Bug #10651] pkg_config does not report required include headers Issue #10651 has been updated by Anatol Pomozov. The commit that produced this behavior change is 097c3e9cbbf23718371f08c24b2d2297b039f63f in particular this part: ~~~ orig_ldflags = $LDFLAGS if get and option get[option] elsif get and try_ldflags(ldflags = get['libs']) - cflags = get['cflags'] + if incflags = get['cflags-only-I'] + $INCFLAGS << " " << incflags + cflags = get['cflags-only-other'] + else + cflags = get['cflags'] + end libs = get['libs-only-l'] ldflags = (Shellwords.shellwords(ldflags) - Shellwords.shellwords(libs)).quote.join(" ") $CFLAGS += " " << cflags ~~~ Could anyone explain what this change tries to do? ---------------------------------------- Bug #10651: pkg_config does not report required include headers https://bugs.ruby-lang.org/issues/10651#change-50655 * Author: Anatol Pomozov * Status: Open * Priority: Normal * Assignee: * Category: * 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 -- https://bugs.ruby-lang.org/