Blame win32/introspection-msvc.mak

Packit a7d494
# Common NMake Makefile module for checking the build environment is sane
Packit a7d494
# for building introspection files under MSVC/NMake.
Packit a7d494
# This can be copied from $(gi_srcroot)\build\win32 for GNOME items
Packit a7d494
# that support MSVC builds and introspection under MSVC.
Packit a7d494
Packit a7d494
# Can override with env vars as needed
Packit a7d494
# You will need to have built gobject-introspection for this to work.
Packit a7d494
# Change or pass in or set the following to suit your environment
Packit a7d494
Packit a7d494
!if "$(PREFIX)" == ""
Packit a7d494
PREFIX = ..\..\vs$(VSVER)\$(PLAT)
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!if ![setlocal]		&& \
Packit a7d494
    ![set PFX=$(PREFIX)]	&& \
Packit a7d494
    ![for %P in (%PFX%) do @echo PREFIX_FULL=%~dpnfP > pfx.x]
Packit a7d494
!endif
Packit a7d494
!include pfx.x
Packit a7d494
Packit a7d494
!if "$(PKG_CONFIG_PATH)" == ""
Packit a7d494
PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig
Packit a7d494
!else
Packit a7d494
PKG_CONFIG_PATH=$(PREFIX_FULL)\lib\pkgconfig;$(PKG_CONFIG_PATH)
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!if ![del $(ERRNUL) /q/f pfx.x]
Packit a7d494
!endif
Packit a7d494
Packit a7d494
# Note: The PYTHON must be the Python release series that was used to build
Packit a7d494
# the GObject-introspection scanner Python module!
Packit a7d494
# Either having python.exe your PATH will work or passing in
Packit a7d494
# PYTHON=<full path to your Python interpretor> will do
Packit a7d494
Packit a7d494
# This is required, and gobject-introspection needs to be built
Packit a7d494
# before this can be successfully run.
Packit a7d494
!if "$(PYTHON)" == ""
Packit a7d494
PYTHON=python
Packit a7d494
!endif
Packit a7d494
Packit a7d494
# Path to the pkg-config tool, if not already in the PATH
Packit a7d494
!if "$(PKG_CONFIG)" == ""
Packit a7d494
PKG_CONFIG=pkg-config
Packit a7d494
!endif
Packit a7d494
Packit a7d494
# Don't change anything following this line!
Packit a7d494
Packit a7d494
GIR_SUBDIR = share\gir-1.0
Packit a7d494
GIR_TYPELIBDIR = lib\girepository-1.0
Packit a7d494
G_IR_SCANNER = $(PREFIX)\bin\g-ir-scanner
Packit a7d494
G_IR_COMPILER = $(PREFIX)\bin\g-ir-compiler.exe
Packit a7d494
G_IR_INCLUDEDIR = $(PREFIX)\$(GIR_SUBDIR)
Packit a7d494
G_IR_TYPELIBDIR = $(PREFIX)\$(GIR_TYPELIBDIR)
Packit a7d494
Packit a7d494
VALID_PKG_CONFIG_PATH = FALSE
Packit a7d494
Packit a7d494
MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
Packit a7d494
MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files
Packit a7d494
Packit a7d494
ERROR_MSG =
Packit a7d494
Packit a7d494
BUILD_INTROSPECTION = TRUE
Packit a7d494
Packit a7d494
!if ![set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH)]	\
Packit a7d494
	&& ![$(PKG_CONFIG) --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x]	\
Packit a7d494
	&& ![setlocal]	\
Packit a7d494
	&& ![set file="pkgconfig.x"]	\
Packit a7d494
	&& ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize]	\
Packit a7d494
	&& ![del $(ERRNUL) /q/f pkgconfig.x]
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!include pkgconfig.chksize
Packit a7d494
!if "$(PKG_CHECK_SIZE)" == "0"
Packit a7d494
VALID_PKG_CONFIG_PATH = TRUE
Packit a7d494
!else
Packit a7d494
VALID_PKG_CONFIG_PATH = FALSE
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!if ![del $(ERRNUL) /q/f pkgconfig.chksize]
Packit a7d494
!endif
Packit a7d494
Packit a7d494
VALID_CFGSET = FALSE
Packit a7d494
!if "$(CFG)" == "release" || "$(CFG)" == "debug" || "$(CFG)" == "Release" || "$(CFG)" == "Debug"
Packit a7d494
VALID_CFGSET = TRUE
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE"
Packit a7d494
BUILD_INTROSPECTION = FALSE
Packit a7d494
ERROR_MSG = $(MSG_INVALID_PKGCONFIG)
Packit a7d494
!endif
Packit a7d494
Packit a7d494
!if "$(VALID_CFGSET)" != "TRUE"
Packit a7d494
BUILD_INTROSPECTION = FALSE
Packit a7d494
ERROR_MSG = $(MSG_INVALID_CFG)
Packit a7d494
!endif