[build] Support pkg-config cross-compilation
Previously to cross-compile one would need to add a pkg-config executable in $PATH wrapping all the search paths required; now one can e.g. make PKG_CONFIG=foreign-arch-target-pkg-config with the wrapper executable being separate and allowing programs for host to also be built if needed for example.
This commit is contained in:
5
Makefile
5
Makefile
@@ -77,6 +77,7 @@ SRC = \
|
|||||||
# Tools and flags
|
# Tools and flags
|
||||||
#
|
#
|
||||||
|
|
||||||
|
PKG_CONFIG ?= pkg-config
|
||||||
CC ?= $(CROSS_COMPILE)gcc
|
CC ?= $(CROSS_COMPILE)gcc
|
||||||
STRIP ?= strip
|
STRIP ?= strip
|
||||||
LD = $(CC)
|
LD = $(CC)
|
||||||
@@ -86,10 +87,10 @@ BASE_FLAGS = -fPIC
|
|||||||
FULL_CFLAGS = $(BASE_FLAGS) $(CFLAGS) $(DEFINES) $(WARNINGS) $(INCLUDES) \
|
FULL_CFLAGS = $(BASE_FLAGS) $(CFLAGS) $(DEFINES) $(WARNINGS) $(INCLUDES) \
|
||||||
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 \
|
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 \
|
||||||
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_MAX_ALLOWED \
|
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_MAX_ALLOWED \
|
||||||
-MMD -MP $(shell pkg-config --cflags $(PKGS))
|
-MMD -MP $(shell $(PKG_CONFIG) --cflags $(PKGS))
|
||||||
FULL_LDFLAGS = $(BASE_FLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) \
|
FULL_LDFLAGS = $(BASE_FLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) \
|
||||||
-Wl,--version-script=$(LIB_NAME).ver
|
-Wl,--version-script=$(LIB_NAME).ver
|
||||||
LIBS := $(shell pkg-config --libs $(PKGS))
|
LIBS := $(shell $(PKG_CONFIG) --libs $(PKGS))
|
||||||
DEBUG_FLAGS = -g
|
DEBUG_FLAGS = -g
|
||||||
RELEASE_FLAGS =
|
RELEASE_FLAGS =
|
||||||
COVERAGE_FLAGS = -g
|
COVERAGE_FLAGS = -g
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ COVERAGE_BUILD_DIR = $(BUILD_DIR)/coverage
|
|||||||
# Tools and flags
|
# Tools and flags
|
||||||
#
|
#
|
||||||
|
|
||||||
|
PKG_CONFIG ?= pkg-config
|
||||||
CC ?= $(CROSS_COMPILE)gcc
|
CC ?= $(CROSS_COMPILE)gcc
|
||||||
LD = $(CC)
|
LD = $(CC)
|
||||||
WARNINGS = -Wall
|
WARNINGS = -Wall
|
||||||
@@ -51,9 +52,9 @@ BASE_CFLAGS = $(BASE_FLAGS) $(CFLAGS)
|
|||||||
FULL_CFLAGS = $(BASE_CFLAGS) $(DEFINES) $(WARNINGS) $(INCLUDES) -MMD -MP \
|
FULL_CFLAGS = $(BASE_CFLAGS) $(DEFINES) $(WARNINGS) $(INCLUDES) -MMD -MP \
|
||||||
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 \
|
-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 \
|
||||||
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_MAX_ALLOWED \
|
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_MAX_ALLOWED \
|
||||||
$(shell pkg-config --cflags $(PKGS))
|
$(shell $(PKG_CONFIG) --cflags $(PKGS))
|
||||||
FULL_LDFLAGS = $(BASE_LDFLAGS)
|
FULL_LDFLAGS = $(BASE_LDFLAGS)
|
||||||
LIBS = $(shell pkg-config --libs $(PKGS))
|
LIBS = $(shell $(PKG_CONFIG) --libs $(PKGS))
|
||||||
QUIET_MAKE = $(MAKE) --no-print-directory
|
QUIET_MAKE = $(MAKE) --no-print-directory
|
||||||
DEBUG_FLAGS = -g
|
DEBUG_FLAGS = -g
|
||||||
RELEASE_FLAGS =
|
RELEASE_FLAGS =
|
||||||
|
|||||||
Reference in New Issue
Block a user