From bd43764daa78461d2f386bd9bc125b893c62bfe0 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 30 Jul 2019 18:18:53 +0800 Subject: [PATCH] gtk-introspection-msvc.mak: Add ability to create introspection filelist As we split out the source listings, we can now generate the file lists that we need to build our introspection files for GDK, GDK-Win32 and GTK. This will enable us at a later point to clean up our autotools files as we do not need to rely on 'make dist' to generate the file list that we need. --- build/win32/gtk-introspection-msvc.mak | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/build/win32/gtk-introspection-msvc.mak b/build/win32/gtk-introspection-msvc.mak index aee0dfccbe..74a97e1e72 100644 --- a/build/win32/gtk-introspection-msvc.mak +++ b/build/win32/gtk-introspection-msvc.mak @@ -1,6 +1,11 @@ # NMake Makefile to build Introspection Files for GTK+ !include detectenv-msvc.mak +!include ..\..\gdk\Makefile.inc +!include ..\..\gtk\a11y\Makefile.inc +!include ..\..\gtk\deprecated\Makefile.inc +!include ..\..\gtk\inspector\Makefile.inc +!include ..\..\gtk\Makefile.inc APIVERSION = 3.0 @@ -34,6 +39,22 @@ setgirbuildenv: @set PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) @set LIB=vs$(VSVER)\$(CFG)\$(PLAT)\bin;$(LIB) +gdk-introspect-list: ..\..\gdk\Makefile.inc + @echo Generating $@... + @$(PYTHON) -c "srcs='$(gdk_public_h_sources: =) $(gdk_deprecated_h_sources: =)';filter=['gdkkeysyms-compat.h'];result=[l for l in srcs.replace('/','\\').split() if l not in filter];result[0]='..\\..\\gdk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gdk\\'.join(result));f.close()" + @$(PYTHON) -c "srcs='$(gdk_c_sources: =) $(gdk_built_sources: =)';result=srcs.replace('/','\\').split();result[0]='\n..\\..\\gdk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gdk\\'.join(result));f.close()" + +gdk-win32-introspect-list: ..\..\gdk\Makefile.inc + @echo Generating $@... + @$(PYTHON) -c "srcs='$(w32_introspection_files: =)';result=srcs.replace('/','\\').split();result[0]='..\\..\\gdk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gdk\\'.join(result));f.close()" + +gtk-introspect-list: ..\..\gtk\Makefile.inc + @echo Generating $@... + @$(PYTHON) -c "srcs='$(gtk_public_h_sources: =) $(gtk_semi_private_h_sources: =) $(gtk_built_public_sources: =) gtkversion.h';filter=['gtktextdisplay.h', 'gtktextlayout.h', 'gtkx.h'];result=[l for l in srcs.replace('/','\\').split() if l not in filter];result[0]='..\\..\\gtk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gtk\\'.join(result));f.close()" + @$(PYTHON) -c "srcs='$(a11y_h_sources: =) $(gtk_deprecated_h_sources: =)';result=srcs.replace('/','\\').split();result[0]='\n..\\..\\gtk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gtk\\'.join(result));f.close()" + @$(PYTHON) -c "import re;srcs='$(a11y_c_sources: =) $(gtk_deprecated_c_sources: =) $(inspector_c_sources: =) $(gtk_base_c_sources_base: =)';filter=re.compile('(.*)win32.c');result=[l for l in srcs.replace('/','\\').split() if not filter.match(l)];result[0]='\n..\\..\\gtk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gtk\\'.join(result));f.close()" + @$(PYTHON) -c "srcs='gtkprintoperation-unix.c gtktypebuiltins.h gtktypebuiltins.c';result=srcs.replace('/','\\').split();result[0]='\n..\\..\\gtk\\' + result[0];f=open('$@', 'a');f.write('\n..\\..\\gtk\\'.join(result));f.close()" + !include introspection.body.mak install-introspection: all