mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-26 21:20:03 +01:00
If pkg-config is used in a multiarch or cross-compiling scenario it's likely pkg-config needs to behave differently for each of them. It's possible to handle this through environment variables with one pkg-config, but another option is to have one pkg-config per platform, each with the host alias prefixed to the program. PKG_PROG_PKG_CONFIG supports this type of installation, and this is also how autoconf/libtool handle other build tools like compilers and linkers. The host-prefixed tool is installed as a hardlink where supported and a copy otherwise. This is how gcc handles it's host-prefixed versions. This feature can be turned off by passing --disable-host-tool to configure. Freedesktop #130
66 lines
1.7 KiB
Makefile
66 lines
1.7 KiB
Makefile
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
|
|
|
|
if INTERNAL_GLIB
|
|
GLIB_SUBDIR = glib
|
|
endif
|
|
|
|
# Normally we'd want glib to be part of DIST_SUBDIRS unconditionally,
|
|
# but distclean gets broken unless we always run glib's configure
|
|
SUBDIRS = $(GLIB_SUBDIR) . check
|
|
DIST_SUBDIRS = $(SUBDIRS)
|
|
|
|
# Escape paths properly on windows
|
|
if NATIVE_WIN32
|
|
AM_CPPFLAGS = \
|
|
-DPKG_CONFIG_PC_PATH="\"$(subst /,\/,$(pc_path))\"" \
|
|
-DPKG_CONFIG_SYSTEM_INCLUDE_PATH="\"$(subst /,\/,$(system_include_path))\"" \
|
|
-DPKG_CONFIG_SYSTEM_LIBRARY_PATH="\"$(subst /,\/,$(system_library_path))\""
|
|
else
|
|
AM_CPPFLAGS = \
|
|
-DPKG_CONFIG_PC_PATH="\"$(pc_path)\"" \
|
|
-DPKG_CONFIG_SYSTEM_INCLUDE_PATH="\"$(system_include_path)\"" \
|
|
-DPKG_CONFIG_SYSTEM_LIBRARY_PATH="\"$(system_library_path)\""
|
|
endif
|
|
|
|
AM_CFLAGS = \
|
|
$(WARN_CFLAGS) \
|
|
$(GCOV_CFLAGS) \
|
|
$(GLIB_CFLAGS)
|
|
|
|
bin_PROGRAMS = pkg-config
|
|
pkg_config_LDADD = $(GLIB_LIBS)
|
|
pkg_config_SOURCES= \
|
|
pkg.h \
|
|
pkg.c \
|
|
parse.h \
|
|
parse.c \
|
|
main.c
|
|
|
|
if HOST_TOOL
|
|
host_tool = $(host)-pkg-config$(EXEEXT)
|
|
install-exec-hook:
|
|
cd $(DESTDIR)$(bindir) && $(LN) pkg-config$(EXEEXT) $(host_tool)
|
|
endif
|
|
|
|
# Various data files
|
|
m4dir = $(datadir)/aclocal
|
|
dist_m4_DATA = pkg.m4
|
|
dist_doc_DATA = pkg-config-guide.html
|
|
dist_man_MANS = pkg-config.1
|
|
EXTRA_DIST = README.win32
|
|
|
|
# gcov test coverage
|
|
gcov:
|
|
-$(MAKE) $(AM_MAKEFLAGS) -k check
|
|
$(GCOV) $(pkg_config_SOURCES)
|
|
CLEANFILES = *.gcda *.gcno *.gcov
|
|
|
|
# Since we can't always have glib in DIST_SUBDIRS, we need to make sure
|
|
# glib is configured when we want to run dist. Unfortunately, there's no
|
|
# DIST_CONFIGURE_FLAGS.
|
|
DISTCHECK_CONFIGURE_FLAGS = --with-internal-glib
|
|
if !INTERNAL_GLIB
|
|
dist-hook:
|
|
@echo "error: --with-internal-glib is required to include glib in dist"
|
|
@exit 1
|
|
endif
|