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. Building pkg-config is now supported on Visual Studio/MSVC as well. To build it, you will need to have a glib installation. Note that MSVC builds of glib does not have a build-time dependency on pkg-config, unlike the normal autotools builds. The headers and libs either need to be found in your default %INCLUDE% and %LIB% respectively, or they need to be found in $(GLIB_PREFIX)\include and $(GLIB_PREFIX)\lib respectively; please see Makefile.vc for adjusting $(GLIB_PREFIX) to suit your needs. To build pkg-config with MSVC, run in a Visual Studio command prompt: "nmake /f Makefile.vc CFG=release" (release builds) -or- "nmake /f Makefile.vc CFG=debug" (debug builds) The resulting pkg-config.exe will be found in [release|debug]\[win32|x64]; a 'clean' target is supported to clean up the build. MSVC 2008 through 2015 is supported; older versions may work as well but is not tested. Note that building with the glib bundled with this source distribution is not currently supported-the glib DLL and all of its dependent DLLs are required at runtime.