pkg-config on Win32 =================== This file describes pkg-config for "native" Win32. (On Cygwin, pkg-config builds fine right out of the box. Cygwin is just another Unix variant, as far as pkg-config is concerned.) I don't call this "native" Win32 target MinGW, as pkg-config on Windows is supposed to be useable also by MSVC users. When pkg-config.exe is invoked, it uses the glib function g_win32_get_package_installation_directory_of_module() to find the directory it's being run from. It then adds the "lib" and "share" subdirectories to the pkg-config search path unless PKG_CONFIG_LIBDIR is set in the environment. This allows pkg-config to adjust to being relocated on Windows. For each .pc file encountered, pkg-config will replace the prefix variable to the base of it's currently installed directory unless the command line option --dont-define-prefix is set. It will take the .pc directory and strip off either lib\pkgconfig or share\pkgconfig to determine the prefix. This allows the paths encoded in .pc files at build time to be replaced with appropriate values at runtime. In order to use the output of pkg-config with MSVC, the option --msvc-syntax can be used to convert UNIX style library output to arguments that work with MSVC. This means -Lfoo will be converted to /libpath:foo, and -lfoo will be converted to foo.lib.