diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2014-01-10 16:58:38 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2014-01-10 16:58:38 +0800 |
commit | c825bb054b38d0cc78f878d115189ff32a4773a2 (patch) | |
tree | 870cc91d0f747d7066e8ba671710847bcb9ea40c /build | |
parent | a6c318ee505aeabe6f84e1543d68834b9e0e7acf (diff) | |
download | pango-c825bb054b38d0cc78f878d115189ff32a4773a2.tar.gz |
MSVC Builds: Rework Introspection Build
The current approach of building the introspection files for Pango works,
but is often cumbersome as one needs to set many environmental variables
before launching a solution file, which runs a Windows batch script to
generate the .gir/.typelib files. It was also possible to hand-run the
batch script from the Visual Studio command prompt, but even more
environmental variables need to be set.
This changes the approach to build the introspection files using an NMake
Makefile (but elimating from the Visual Studio Project Files the part to
build the introspection files) to:
-Make it clearer to the person building the introspection files what
environmental variables are needed, specifically for PKG_CONFIG_PATH and
MINGWDIR and CFG (formerly CONF). Setting stuff like VSVER, PLAT and
BASEDIR is no longer required, which was a bit clunky.
-Allows some more easier flexibility on the build of the intropsection
files.
Diffstat (limited to 'build')
-rw-r--r-- | build/Makefile.am | 6 | ||||
-rw-r--r-- | build/gen-file-list-pango.py (renamed from build/win32/gen-file-list-pango.py) | 25 | ||||
-rw-r--r-- | build/introspection-msvc.mak | 79 | ||||
-rw-r--r-- | build/pango-introspection-msvc.mak | 106 | ||||
-rw-r--r-- | build/testsrules_msvc.mak | 72 | ||||
-rw-r--r-- | build/win32/Makefile.am | 4 | ||||
-rw-r--r-- | build/win32/gengir_pango.bat | 169 | ||||
-rw-r--r-- | build/win32/vs10/Makefile.am | 2 | ||||
-rw-r--r-- | build/win32/vs10/gengir.vcxproj | 112 | ||||
-rw-r--r-- | build/win32/vs10/pango-gengir.props | 31 | ||||
-rw-r--r-- | build/win32/vs10/pango.sln | 10 | ||||
-rw-r--r-- | build/win32/vs9/Makefile.am | 2 | ||||
-rw-r--r-- | build/win32/vs9/gengir.vcproj | 77 | ||||
-rw-r--r-- | build/win32/vs9/pango-gengir.vsprops | 21 | ||||
-rw-r--r-- | build/win32/vs9/pango.sln | 14 |
15 files changed, 280 insertions, 450 deletions
diff --git a/build/Makefile.am b/build/Makefile.am index 73e7a6f6..0ca470ba 100644 --- a/build/Makefile.am +++ b/build/Makefile.am @@ -1,3 +1,9 @@ SUBDIRS = win32 +EXTRA_DIST = \ + pango-introspection-msvc.mak \ + introspection-msvc.mak \ + testsrules_msvc.mak \ + gen-file-list-pango.py + -include $(top_srcdir)/git.mk diff --git a/build/win32/gen-file-list-pango.py b/build/gen-file-list-pango.py index 2515353b..fa438c0b 100644 --- a/build/win32/gen-file-list-pango.py +++ b/build/gen-file-list-pango.py @@ -40,19 +40,17 @@ def gen_pangoft_filelist(srcroot, subdir, dest): d.write(srcroot + '\\' + subdir + '\\' + i.replace('/', '\\') + '\n') def gen_pangocairo_filelist(srcroot, subdir, dest, is_fc_used): + cond_pangocairo = {} + if is_fc_used == 1: + cond_pangocairo = {'HAVE_CAIRO_WIN32': True, 'PLATFORM_WIN32': True, 'HAVE_CAIRO_FREETYPE': True} + else: + cond_pangocairo = {'HAVE_CAIRO_WIN32': True, 'PLATFORM_WIN32': True} vars = read_vars_from_AM(os.path.join(srcroot, subdir, 'Makefile.am'), vars = {}, - conds = {}, + conds = cond_pangocairo, filters = ['libpangocairo_1_0_la_SOURCES', 'pangocairo_headers']) - vars['pangocairo_win32_introspection_files'] = 'pangocairo-win32font.c pangocairo-win32fontmap.c pangocairo-win32.h' - if is_fc_used == 1: - vars['pangocairo_ft2_introspection_files'] = 'pangocairo-fcfont.c pangocairo-fcfontmap.c pangocairo-fc.h' - else: - vars['pangocairo_ft2_introspection_files'] = '' files = vars['libpangocairo_1_0_la_SOURCES'].split() + \ - vars['pangocairo_win32_introspection_files'].split() + \ - vars['pangocairo_ft2_introspection_files'].split() + \ vars['pangocairo_headers'].split() sources = [i for i in files \ @@ -74,6 +72,7 @@ def read_vars_from_AM(path, vars = {}, conds = {}, filters = None): RE_AM_VAR_REF = re.compile(r'\$\((\w+?)\)') RE_AM_VAR = re.compile(r'^\s*(\w+)\s*=(.*)$') RE_AM_INCLUDE = re.compile(r'^\s*include\s+(\w+)') + RE_AM_VAR_ADD = re.compile(r'^\s*(\w+)\s*\+=(.*)$') RE_AM_CONTINUING = re.compile(r'\\\s*$') RE_AM_IF = re.compile(r'^\s*if\s+(\w+)') RE_AM_ELSE = re.compile(r'^\s*else') @@ -131,6 +130,14 @@ def read_vars_from_AM(path, vars = {}, conds = {}, filters = None): if mo: cur_vars[mo.group(1)] = am_eval(mo.group(2).strip()) continue + mo = RE_AM_VAR_ADD.search(line) + if mo: + try: + cur_vars[mo.group(1)] += ' ' + except KeyError: + cur_vars[mo.group(1)] = '' + cur_vars[mo.group(1)] += am_eval(mo.group(2).strip()) + continue #filter: if filters != None: @@ -142,7 +149,7 @@ def read_vars_from_AM(path, vars = {}, conds = {}, filters = None): return cur_vars def main(argv): - srcroot = '..\\..' + srcroot = '..' subdir = 'pango' gen_pango_filelist(srcroot, subdir, 'pango_list') gen_pangoft_filelist(srcroot, subdir, 'pangoft_list') diff --git a/build/introspection-msvc.mak b/build/introspection-msvc.mak new file mode 100644 index 00000000..3670c2f3 --- /dev/null +++ b/build/introspection-msvc.mak @@ -0,0 +1,79 @@ +# Common Utility NMake Makefile Template +# Used to Generate Introspection files for various Projects + +# Can Override with env vars as needed +# You will need to have built gobject-introspection for this to work. +# Change or pass in or set the following to suit your environment + +BASEDIR = ..\..\vs$(VSVER)\$(PLAT) +GIR_SUBDIR = share\gir-1.0 +GIR_SUBDIR = share\gir-1.0 +G_IR_SCANNER = $(BASEDIR)\bin\g-ir-scanner +G_IR_COMPILER = $(BASEDIR)\bin\g-ir-compiler.exe +G_IR_INCLUDEDIR = $(BASEDIR)\$(GIR_SUBDIR) +G_IR_TYPELIBDIR = $(BASEDIR)\$(GIR_SUBDIR) + +# Note: The PYTHON2 must be a Python 2.6.x or 2.7.x Interpretor! +# Either having python.exe from Python 2.6.x/2.7.x in your PATH will work +# or passing in PYTHON2=<full path to your Python 2.6.x/2.7.x interpretor> will do + +# This is required, and gobject-introspection needs to be built +# before this can be successfully run. +PYTHON2=python + +# Don't change anything following this line! +VALID_PKG_CONFIG_PATH = FALSE +VALID_GCC_INSTPATH = FALSE + +MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH +MSG_INVALID_MINGWDIR = You must set or specifiy a valid MINGWDIR, where gcc.exe can be found in %MINGWDIR%\bin +MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files + +ERROR_MSG = + +BUILD_INTROSPECTION = TRUE + +!if ![pkg-config --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x] \ + && ![setlocal] \ + && ![set file="pkgconfig.x"] \ + && ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize] \ + && ![del $(ERRNUL) /q/f pkgconfig.x] +!endif + +!include pkgconfig.chksize +!if "$(PKG_CHECK_SIZE)" == "0" +VALID_PKG_CONFIG_PATH = TRUE +!else +VALID_PKG_CONFIG_PATH = FALSE +!endif + +!if ![IF EXIST %MINGWDIR%\bin\gcc.exe @echo VALID_GCC_INSTPATH=TRUE > gcccheck.x] +!endif + +!if ![IF NOT EXIST %MINGWDIR%\bin\gcc.exe @echo VALID_GCC_INSTPATH=FALSE > gcccheck.x] +!endif + +!include gcccheck.x + +!if ![del $(ERRNUL) /q/f pkgconfig.chksize gcccheck.x] +!endif + +VALID_CFGSET = FALSE +!if "$(CFG)" == "release" || "$(CFG)" == "debug" +VALID_CFGSET = TRUE +!endif + +!if "$(VALID_GCC_INSTPATH)" != "TRUE" +BUILD_INTROSPECTION = FALSE +ERROR_MSG = $(MSG_INVALID_MINGWDIR) +!endif + +!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE" +BUILD_INTROSPECTION = FALSE +ERROR_MSG = $(MSG_INVALID_PKGCONFIG) +!endif + +!if "$(VALID_CFGSET)" != "TRUE" +BUILD_INTROSPECTION = FALSE +ERROR_MSG = $(MSG_INVALID_CFG) +!endif diff --git a/build/pango-introspection-msvc.mak b/build/pango-introspection-msvc.mak new file mode 100644 index 00000000..504f804f --- /dev/null +++ b/build/pango-introspection-msvc.mak @@ -0,0 +1,106 @@ +# NMake Makefile to build Introspection Files for Pango + +# Change or pass in as variable/env var if needed +DLLPREFIX = +DLLSUFFIX = -1-vs$(VSVER) +PANGO_DLLNAME = $(DLLPREFIX)pango$(DLLSUFFIX) +PANGOFT_DLLNAME = $(DLLPREFIX)pangoft2$(DLLSUFFIX) +PANGOCAIRO_DLLNAME = $(DLLPREFIX)pangocairo$(DLLSUFFIX) + +# Please do not change anything after this line + +!include testsrules_msvc.mak + +APIVERSION = 1.0 + +CHECK_PACKAGE = gobject-2.0 cairo + +!include introspection-msvc.mak + +!if "$(BUILD_INTROSPECTION)" == "TRUE" +!if "$(BUILD_PANGOFT2_INTROSPECTION)" == "1" + +# Build of PangoFT2 introspection files is not currently supported. +PangoFT2LIBS = --library=$(PANGO_DLLNAME) +PangoFT2GIR = --include-uninstalled=./PangoFT2-$(APIVERSION) + +all: setbuildenv Pango-$(APIVERSION).gir Pango-$(APIVERSION).typelib PangoFT2-$(APIVERSION).gir PangoFT2-$(APIVERSION).typelib PangoCairo-$(APIVERSION).gir PangoCairo-$(APIVERSION).typelib + +!else + +PangoFT2LIBS = +PangoFT2GIR = + +all: setbuildenv Pango-$(APIVERSION).gir Pango-$(APIVERSION).typelib PangoCairo-$(APIVERSION).gir PangoCairo-$(APIVERSION).typelib + +install-introspection: setbuildenv Pango-$(APIVERSION).gir Pango-$(APIVERSION).typelib PangoCairo-$(APIVERSION).gir PangoCairo-$(APIVERSION).typelib + @-copy Pango-$(APIVERSION).gir $(G_IR_INCLUDEDIR) + @-copy /b Pango-$(APIVERSION).typelib $(G_IR_TYPELIBDIR) + @-copy PangoCairo-$(APIVERSION).gir $(G_IR_INCLUDEDIR) + @-copy /b PangoCairo-$(APIVERSION).typelib $(G_IR_TYPELIBDIR) +!endif + +setbuildenv: + @set CC=$(CC) + @set PYTHONPATH=$(BASEDIR)\lib\gobject-introspection + @set PATH=win32\vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(PATH);$(MINGWDIR)\bin + @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) + +Pango-$(APIVERSION).gir: pango_list + @-echo Generating Pango-$(APIVERSION).gir... + $(PYTHON2) $(G_IR_SCANNER) --verbose -I.. \ + -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include \ + --namespace=Pango --nsversion=$(APIVERSION) \ + --include=GObject-2.0 --include=cairo-1.0 \ + --no-libtool --pkg=gobject-2.0 --pkg=cairo --pkg=glib-2.0 --library=$(PANGO_DLLNAME) \ + --reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) \ + --pkg-export pango --warn-all --c-include "pango/pango.h" \ + -DG_LOG_DOMAIN=\"Pango\" -DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE \ + -DSYSCONFDIR=\"/dummy/etc\" -DLIBDIR=\"/dummy/lib\" \ + --filelist=pango_list -o Pango-$(APIVERSION).gir + +PangoCairo-$(APIVERSION).gir: Pango-$(APIVERSION).gir + @-echo Generating PangoCairo-$(APIVERSION).gir... + $(PYTHON2) $(G_IR_SCANNER) --verbose -I.. \ + -I$(BASEDIR)\include\glib-2.0 -I$(BASEDIR)\lib\glib-2.0\include -I$(BASEDIR)\include \ + --namespace=PangoCairo --nsversion=$(APIVERSION) \ + --include=GObject-2.0 --include=cairo-1.0 \ + --no-libtool --pkg=gobject-2.0 --pkg=cairo --library=$(PANGOCAIRO_DLLNAME) $(PangoFT2LIBS) --library=$(PANGO_DLLNAME) \ + --reparse-validate --add-include-path=$(G_IR_INCLUDEDIR) --add-include-path=. \ + --pkg-export pangocairo --warn-all $(PangoFT2GIR) --include-uninstalled=./Pango-$(APIVERSION).gir \ + --c-include "pango/pangocairo.h" \ + -I..\.. -DG_LOG_DOMAIN=\"Pango\" -DPANGO_ENABLE_BACKEND \ + -DPANGO_ENABLE_ENGINE -DSYSCONFDIR=\"/dummy/etc\" -DLIBDIR=\"/dummy/lib\" \ + --filelist=pangocairo_list -o PangoCairo-$(APIVERSION).gir + +pangocairo_list: pango_list + +pango_list: + @-echo Generating Filelist to Introspect for Pango... + $(PYTHON2) gen-file-list-pango.py + +Pango-$(APIVERSION).typelib: Pango-$(APIVERSION).gir + @-echo Compiling Pango-$(APIVERSION).typelib... + $(G_IR_COMPILER) --includedir=. --debug --verbose Pango-$(APIVERSION).gir -o Pango-$(APIVERSION).typelib + +PangoCairo-$(APIVERSION).typelib: PangoCairo-$(APIVERSION).gir Pango-$(APIVERSION).typelib + @-echo Compiling PangoCairo-$(APIVERSION).typelib... + $(G_IR_COMPILER) --includedir=. --debug --verbose PangoCairo-$(APIVERSION).gir -o PangoCairo-$(APIVERSION).typelib + +!else +all: + @-echo $(ERROR_MSG) +!endif + +clean: + @-del /f/q PangoCairo-$(APIVERSION).typelib + @-del /f/q PangoCairo-$(APIVERSION).gir + @-del /f/q PangoFT2-$(APIVERSION).typelib + @-del /f/q PangoFT2-$(APIVERSION).gir + @-del /f/q Pango-$(APIVERSION).typelib + @-del /f/q Pango-$(APIVERSION).gir + @-del /f/q pangocairoft_list + @-del /f/q pangocairo_list + @-del /f/q pangoft_list + @-del /f/q pango_list + @-del /f/q *.pyc diff --git a/build/testsrules_msvc.mak b/build/testsrules_msvc.mak new file mode 100644 index 00000000..1f4669ee --- /dev/null +++ b/build/testsrules_msvc.mak @@ -0,0 +1,72 @@ +# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or +# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir) +!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR) +MSG = ^ +This Makefile is only for Visual Studio 2008 and later.^ +You need to ensure that the Visual Studio Environment is properly set up^ +before running this Makefile. +!error $(MSG) +!endif + +ERRNUL = 2>NUL +_HASH=^# + +!if ![echo VCVERSION=_MSC_VER > vercl.x] \ + && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \ + && ![echo PLAT=Win32 >> vercl.x] \ + && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \ + && ![echo PLAT=x64 >> vercl.x] \ + && ![echo $(_HASH)endif >> vercl.x] \ + && ![cl -nologo -TC -P vercl.x $(ERRNUL)] +!include vercl.i +!if ![echo VCVER= ^\> vercl.vc] \ + && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc] +!include vercl.vc +!endif +!endif +!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc] +!endif + +!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600 +VSVER = 9 +!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700 +VSVER = 10 +!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800 +VSVER = 11 +!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900 +VSVER = 12 +!else +VSVER = 0 +!endif + +!if "$(VSVER)" == "0" +MSG = ^ +This NMake Makefile set supports Visual Studio^ +9 (2008) through 12 (2013). Your Visual Studio^ +version is not supported. +!error $(MSG) +!endif + +VALID_CFGSET = FALSE +!if "$(CFG)" == "release" || "$(CFG)" == "debug" +VALID_CFGSET = TRUE +!endif + +!if "$(CFG)" == "release" +CFLAGS_ADD = /MD /O2 +!else +CFLAGS_ADD = /MDd /Od /Zi +!endif + +!if "$(PLAT)" == "x64" +LDFLAGS_ARCH = /machine:x64 +!else +LDFLAGS_ARCH = /machine:x86 +!endif + +LD = link.exe +LD_CFLAGS = /link +EXEEXT = .exe +GLIB_LIBS = gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib + +PANGO_API_VERSION = 1.0 diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am index 0823c592..9071df60 100644 --- a/build/win32/Makefile.am +++ b/build/win32/Makefile.am @@ -1,8 +1,6 @@ SUBDIRS = vs9 vs10 EXTRA_DIST = \ - unistd.h \ - gen-file-list-pango.py \ - gengir_pango.bat + unistd.h -include $(top_srcdir)/git.mk diff --git a/build/win32/gengir_pango.bat b/build/win32/gengir_pango.bat deleted file mode 100644 index f1ca0efa..00000000 --- a/build/win32/gengir_pango.bat +++ /dev/null @@ -1,169 +0,0 @@ -@echo off - -setlocal EnableDelayedExpansion - -rem Needed environmental variables: -rem PLAT: Windows platform-Win32 (i.e. x86) or x64 (i.e. x86-64) -rem CONF: Configuration Type, Release or Debug -rem VSVER: Visual C++ version used [9, 10 or 11] -rem BASEDIR: Where the dependent libraries/headers are located -rem PKG_CONFIG_PATH: Where the GLib and its dependent pkg-config .pc files can be found -rem MINGWDIR: Installation path of MINGW GCC, so gcc.exe can be found in %MINGWDIR%\bin. - -rem Note that the Python executable/installation and all the runtime dependencies of the -rem library/libraries need to be in your PATH or %BASEBIN%\bin. - -rem Check the environemental variables... -if /i "%PLAT%" == "Win32" goto PLAT_OK -if /i "%PLAT%" == "x64" goto PLAT_OK -if /i "%PLAT%" == "x86" ( - set PLAT=Win32 - goto PLAT_OK -) -if /i "%PLAT%" == "x86-64" ( - set PLAT=x64 - goto PLAT_OK -) -goto ERR_PLAT - -:PLAT_OK -if "%VSVER%" == "9" goto VSVER_OK -if "%VSVER%" == "10" goto VSVER_OK -if "%VSVER%" == "11" goto VSVER_OK -goto ERR_VSVER -:VSVER_OK -if /i "%CONF%" == "Release" goto CONF_OK -if /i "%CONF%" == "Debug" goto CONF_OK -goto ERR_CONF -:CONF_OK -if "%BASEDIR%" == "" goto ERR_BASEDIR -if not exist %BASEDIR% goto ERR_BASEDIR - -if "%PKG_CONFIG_PATH%" == "" goto ERR_PKGCONFIG -if not exist %PKG_CONFIG_PATH%\gobject-2.0.pc goto ERR_PKGCONFIG - -if "%MINGWDIR%" == "" goto ERR_MINGWDIR -if not exist %MINGWDIR%\bin\gcc.exe goto ERR_MINGWDIR - -set CC=cl -set BINDIR=%CD%\vs%VSVER%\%CONF%\%PLAT%\bin -set INCLUDE=%BASEDIR%\include\glib-2.0;%BASEDIR%\lib\glib-2.0\include;%INCLUDE% -set LIB=%BINDIR%;%BASEDIR%\lib;%LIB% -set PATH=%BINDIR%;%BASEDIR%\bin;%PATH%;%MINGWDIR%\bin -set PYTHONPATH=%BASEDIR%\lib\gobject-introspection;%BINDIR% - -echo Setup .bat for generating Pango .gir's... - -rem =============================================================================== -rem Begin setup of pango_gir.bat to create Pango-1.0.gir -rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!) -rem =============================================================================== - -echo python gen-file-list-pango.py> pango_gir.bat -echo echo Generating Pango-1.0.gir...>> pango_gir.bat -echo @echo off>> pango_gir.bat -echo.>> pango_gir.bat -rem ================================================================= -rem Setup the command line flags to g-ir-scanner for Pango-1.0.gir... -rem ================================================================= -echo python %BASEDIR%\bin\g-ir-scanner --verbose -I..\.. ^^>> pango_gir.bat -echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include ^^>> pango_gir.bat -echo --namespace=Pango --nsversion=1.0 ^^>> pango_gir.bat -echo --include=GObject-2.0 --include=cairo-1.0 ^^>> pango_gir.bat -echo --no-libtool --pkg=gobject-2.0 --pkg=cairo --pkg=glib-2.0 --library=pango-1-vs%VSVER% ^^>> pango_gir.bat -echo --reparse-validate --add-include-path=%BASEDIR%\share\gir-1.0 --add-include-path=. ^^>> pango_gir.bat -echo --pkg-export pango --warn-all --c-include "pango/pango.h" ^^>> pango_gir.bat -echo -I..\.. -DG_LOG_DOMAIN=\"Pango\" -DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE ^^>> pango_gir.bat -echo -DSYSCONFDIR=\"/dummy/etc\" -DLIBDIR=\"/dummy/lib\" ^^>> pango_gir.bat -echo --filelist=pango_list ^^>> pango_gir.bat -echo -o Pango-1.0.gir>> pango_gir.bat -echo.>> pango_gir.bat - -echo Completed setup of .bat for generating Pango-1.0.gir. -echo.>> pango_gir.bat - -rem ===================================================== -rem Finish setup of pango_gir.bat to create Pango-1.0.gir -rem ===================================================== - -rem ========================================================= -rem Note that the .gir for PangoFT2 is not generated here -rem as FontConfig is not a concept originally meant for Win32 -rem ========================================================= - -rem =============================================================================== -rem Begin setup of pango_gir.bat to create PangoCairo-1.0.gir -rem (The ^^ is necessary to span the command to multiple lines on Windows cmd.exe!) -rem =============================================================================== - -echo echo Generating PangoCairo-1.0.gir...>> pango_gir.bat -echo.>> pango_gir.bat - -rem ====================================================================== -rem Setup the command line flags to g-ir-scanner for PangoCairo-1.0.gir... -rem ====================================================================== - -echo python %BASEDIR%\bin\g-ir-scanner --verbose -I..\.. ^^>> pango_gir.bat -echo -I%BASEDIR%\include\glib-2.0 -I%BASEDIR%\lib\glib-2.0\include -I%BASEDIR%\include ^^>> pango_gir.bat -echo --namespace=PangoCairo --nsversion=1.0 ^^>> pango_gir.bat -echo --include=GObject-2.0 --include=cairo-1.0 ^^>> pango_gir.bat -echo --no-libtool --pkg=gobject-2.0 --pkg=cairo --library=pangocairo-1-vs%VSVER% --library=pango-1-vs%VSVER% ^^>> pango_gir.bat -echo --reparse-validate --add-include-path=%BASEDIR%\share\gir-1.0 --add-include-path=. ^^>> pango_gir.bat -echo --pkg-export pangocairo --warn-all --include-uninstalled=./Pango-1.0.gir ^^>> pango_gir.bat -echo --c-include "pango/pangocairo.h" ^^>> pango_gir.bat -echo -I..\.. -DG_LOG_DOMAIN=\"Pango\" -DPANGO_ENABLE_BACKEND ^^>> pango_gir.bat -echo -DPANGO_ENABLE_ENGINE -DSYSCONFDIR=\"/dummy/etc\" -DLIBDIR=\"/dummy/lib\" ^^>> pango_gir.bat -echo --filelist=pangocairo_list ^^>> pango_gir.bat -echo -o PangoCairo-1.0.gir>> pango_gir.bat -echo.>> pango_gir.bat - -rem ========================================================== -rem Finish setup of pango_gir.bat to create PangoCairo-1.0.gir -rem ========================================================== - -rem ======================= -rem Now generate the .gir's -rem ======================= -CALL pango_gir.bat - -rem Clean up the .bat and filelists for generating the .gir files... -del pango_gir.bat -del pango_list -del pangoft_list -del pangocairo_list -del pangocairoft_list - -rem Now compile the generated .gir files -%BASEDIR%\bin\g-ir-compiler --includedir=. --debug --verbose Pango-1.0.gir -o Pango-1.0.typelib -%BASEDIR%\bin\g-ir-compiler --includedir=. --debug --verbose PangoCairo-1.0.gir -o PangoCairo-1.0.typelib - -rem Copy the generated .girs and .typelibs to their appropriate places - -mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\share\gir-1.0 -move /y *.gir %BASEDIR%\share\gir-1.0\ - -mkdir ..\..\build\win32\vs%VSVER%\%CONF%\%PLAT%\lib\girepository-1.0 -move /y *.typelib %BASEDIR%\lib\girepository-1.0\ - -goto DONE - -:ERR_PLAT -echo You need to specify a valid Platform [set PLAT=Win32 or PLAT=x64] -goto DONE -:ERR_VSVER -echo You need to specify your Visual Studio version [set VSVER=9 or VSVER=10 or VSVER=11] -goto DONE -:ERR_CONF -echo You need to specify a valid Configuration [set CONF=Release or CONF=Debug] -goto DONE -:ERR_BASEDIR -echo You need to specify a valid BASEDIR. -goto DONE -:ERR_PKGCONFIG -echo You need to specify a valid PKG_CONFIG_PATH -goto DONE -:ERR_MINGWDIR -echo You need to specify a valid MINGWDIR, where a valid gcc installation can be found. -goto DONE -:DONE - diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am index cd174177..dec30049 100644 --- a/build/win32/vs10/Makefile.am +++ b/build/win32/vs10/Makefile.am @@ -1,7 +1,6 @@ EXTRA_DIST = \ pango.sln \ pango-build-defines.props \ - pango-gengir.props \ pango-ignore-fc.props \ pango-install-bin.props \ pango-install.props \ @@ -23,7 +22,6 @@ EXTRA_DIST = \ pangocairo.vcxprojin \ pangocairo.vcxproj.filtersin \ install.vcxproj \ - gengir.vcxproj \ README.txt pango-install.props: $(top_srcdir)/build/win32/vs10/pango-install.propsin pango.vs10.headers diff --git a/build/win32/vs10/gengir.vcxproj b/build/win32/vs10/gengir.vcxproj deleted file mode 100644 index 31305728..00000000 --- a/build/win32/vs10/gengir.vcxproj +++ /dev/null @@ -1,112 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B15}</ProjectGuid> - <RootNamespace>gengir</RootNamespace> - <Keyword>Win32Proj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Utility</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Utility</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Utility</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Utility</ConfigurationType> - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v100</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="pango-gengir.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="pango-gengir.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="pango-gengir.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="pango-gengir.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir> - <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir> - <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir> - <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir> - <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <PreBuildEvent> - <Command>$(DoGenGir)</Command> - </PreBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <PreBuildEvent> - <Command>$(DoGenGir)</Command> - </PreBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <PreBuildEvent> - <Command>$(DoGenGir)</Command> - </PreBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <PreBuildEvent> - <Command>$(DoGenGir)</Command> - </PreBuildEvent> - </ItemDefinitionGroup> - <ItemGroup> - <ProjectReference Include="pango.vcxproj"> - <Project>{68cc80b9-7225-4fb5-b9ab-9c1df50b6c72}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - <ProjectReference Include="pangocairo.vcxproj"> - <Project>{68cc80b9-7225-4fb5-b9ab-9c1df50b6c76}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/build/win32/vs10/pango-gengir.props b/build/win32/vs10/pango-gengir.props deleted file mode 100644 index 2050e98c..00000000 --- a/build/win32/vs10/pango-gengir.props +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ImportGroup Label="PropertySheets"> - <Import Project="pango-build-defines.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros"> -<DoGenGir> -set VSVER=$(VSVer) - -set CONF=$(Configuration) - -set PLAT=$(Platform) - -set BASEDIR=$(GlibEtcInstallRoot) - -cd .. - -call gengir_pango.bat - -cd vs$(VSVer) -</DoGenGir> - </PropertyGroup> - <PropertyGroup> - <_PropertySheetDisplayName>pangogengirprops</_PropertySheetDisplayName> - </PropertyGroup> - <ItemGroup> - <BuildMacro Include="DoGenGir"> - <Value>$(DoGenGir)</Value> - </BuildMacro> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/build/win32/vs10/pango.sln b/build/win32/vs10/pango.sln index 4917ae22..8074bfc8 100644 --- a/build/win32/vs10/pango.sln +++ b/build/win32/vs10/pango.sln @@ -10,8 +10,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pangocairo", "pangocairo.vc EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gengir", "gengir.vcxproj", "{2093D218-190E-4194-9421-3BA7CBF33B15}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug_FC|Win32 = Debug_FC|Win32
@@ -100,14 +98,6 @@ Global {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|Win32.Build.0 = Release_FC|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|x64.ActiveCfg = Release_FC|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|x64.Build.0 = Release_FC|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug|Win32.ActiveCfg = Debug|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug|x64.ActiveCfg = Debug|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release|Win32.ActiveCfg = Release|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release|x64.ActiveCfg = Release|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug_FC|Win32.ActiveCfg = Debug|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug_FC|x64.ActiveCfg = Debug|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release_FC|Win32.ActiveCfg = Release|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release_FC|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am index eb8189bb..71b6a7f0 100644 --- a/build/win32/vs9/Makefile.am +++ b/build/win32/vs9/Makefile.am @@ -1,7 +1,6 @@ EXTRA_DIST = \ pango.sln \ pango-build-defines.vsprops \ - pango-gengir.vsprops \ pango-ignore-fc.vsprops \ pango-install-bin.vsprops \ pango-install.vsprops \ @@ -17,7 +16,6 @@ EXTRA_DIST = \ pangowin32.vcproj \ install.vcproj \ stdint.h \ - gengir.vcproj \ README.txt pango-install.vsprops: $(top_srcdir)/build/win32/vs9/pango-install.vspropsin pango.vs9.headers diff --git a/build/win32/vs9/gengir.vcproj b/build/win32/vs9/gengir.vcproj deleted file mode 100644 index 18f1115e..00000000 --- a/build/win32/vs9/gengir.vcproj +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="gengir" - ProjectGUID="{2093D218-190E-4194-9421-3BA7CBF33B15}" - RootNamespace="gengir" - Keyword="Win32Proj" - TargetFrameworkVersion="131072" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="x64" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - InheritedPropertySheets=".\pango-gengir.vsprops" - OutputDirectory="$(GlibEtcInstallRoot)" - ConfigurationType="10" - CharacterSet="2" - DeleteExtensionsOnClean="" - > - <Tool - Name="VCPreBuildEventTool" - CommandLine="$(DoGenGir)" - /> - </Configuration> - <Configuration - Name="Debug|x64" - InheritedPropertySheets=".\pango-gengir.vsprops" - OutputDirectory="$(GlibEtcInstallRoot)" - ConfigurationType="10" - CharacterSet="2" - DeleteExtensionsOnClean="" - > - <Tool - Name="VCPreBuildEventTool" - CommandLine="$(DoGenGir)" - /> - </Configuration> - <Configuration - Name="Release|Win32" - InheritedPropertySheets=".\pango-gengir.vsprops" - OutputDirectory="$(GlibEtcInstallRoot)" - ConfigurationType="10" - CharacterSet="2" - WholeProgramOptimization="1" - DeleteExtensionsOnClean="" - > - <Tool - Name="VCPreBuildEventTool" - CommandLine="$(DoGenGir)" - /> - </Configuration> - <Configuration - Name="Release|x64" - InheritedPropertySheets=".\pango-gengir.vsprops" - OutputDirectory="$(GlibEtcInstallRoot)" - ConfigurationType="10" - CharacterSet="2" - WholeProgramOptimization="1" - DeleteExtensionsOnClean="" - > - <Tool - Name="VCPreBuildEventTool" - CommandLine="$(DoGenGir)" - /> - </Configuration> - </Configurations> -</VisualStudioProject> diff --git a/build/win32/vs9/pango-gengir.vsprops b/build/win32/vs9/pango-gengir.vsprops deleted file mode 100644 index 4ce81e45..00000000 --- a/build/win32/vs9/pango-gengir.vsprops +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="pangogengirprops"
- InheritedPropertySheets=".\pango-build-defines.vsprops"
- >
- <UserMacro
- Name="DoGenGir"
- Value="
-set VSVER=$(VSVer)

-set CONF=$(ConfigurationName)

-set PLAT=$(PlatformName)

-set BASEDIR=$(GlibEtcInstallRoot)

-
-cd ..

-call gengir_pango.bat

-cd vs$(VSVer)

- "
- />
-</VisualStudioPropertySheet>
\ No newline at end of file diff --git a/build/win32/vs9/pango.sln b/build/win32/vs9/pango.sln index ec408452..e6cf2d6a 100644 --- a/build/win32/vs9/pango.sln +++ b/build/win32/vs9/pango.sln @@ -27,12 +27,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gengir", "gengir.vcproj", "{2093D218-190E-4194-9421-3BA7CBF33B15}"
- ProjectSection(ProjectDependencies) = postProject
- {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C72}
- {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76} = {68CC80B9-7225-4FB5-B9AB-9C1DF50B6C76}
- EndProjectSection
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -121,14 +115,6 @@ Global {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|Win32.Build.0 = Release_FC|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|x64.ActiveCfg = Release_FC|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release_FC|x64.Build.0 = Release_FC|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug|Win32.ActiveCfg = Debug|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug|x64.ActiveCfg = Debug|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release|Win32.ActiveCfg = Release|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release|x64.ActiveCfg = Release|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug_FC|Win32.ActiveCfg = Debug|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Debug_FC|x64.ActiveCfg = Debug|x64
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release_FC|Win32.ActiveCfg = Release|Win32
- {2093D218-190E-4194-9421-3BA7CBF33B15}.Release_FC|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
|