diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2017-07-12 12:27:44 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2017-07-12 12:37:19 +0800 |
commit | cd55690be5d0e7f62f656494d1c36954ac677ce9 (patch) | |
tree | 3708ea161779e16e5018ed9a066979bf4911e06f /win32 | |
parent | dc009fa2c87e3f3e0bdcd7068057e7c5a5cd991f (diff) | |
download | atk-cd55690be5d0e7f62f656494d1c36954ac677ce9.tar.gz |
Visual Studio builds: Adapt to the Python-fied glib-genmarshal
glib-genmarshal is used for the Visual Studio builds, and has been
recently converted to a Python script instead of a compiled C program.
Since Visual Studio calls cmd.exe to run Custom Build steps, we need
to call Python explicitly to run glib-genmarshal as shebang lines
are not supported in cmd.exe, which means that Python will become a
hard build-time requirement instead of being optional. This also means
that the atk.pc pkg-config file will always be generated.
However, since ATK does not yet require a really recent GLib, maintain
compatibility with older GLib by calling glib-genmarshal.exe when the
glib-genmarshal Python script is not found.
Diffstat (limited to 'win32')
-rw-r--r-- | win32/vs10/README.txt | 7 | ||||
-rw-r--r-- | win32/vs10/atk-gen-src.props | 20 | ||||
-rw-r--r-- | win32/vs10/atk-install.propsin | 7 | ||||
-rw-r--r-- | win32/vs10/atk.vcxprojin | 21 | ||||
-rw-r--r-- | win32/vs9/README.txt | 6 | ||||
-rw-r--r-- | win32/vs9/atk-gen-src.vsprops | 17 | ||||
-rw-r--r-- | win32/vs9/atk-install.vspropsin | 7 | ||||
-rw-r--r-- | win32/vs9/atk.vcprojin | 4 |
8 files changed, 62 insertions, 27 deletions
diff --git a/win32/vs10/README.txt b/win32/vs10/README.txt index 1efbcfa..b394757 100644 --- a/win32/vs10/README.txt +++ b/win32/vs10/README.txt @@ -16,6 +16,13 @@ into atk.vcxproj and atk.vcxproj.filters respectively. The dependencies for this package are gettext-runtime (libintl), GLib*
and ZLib.
+You will also need a Python 2.7.x or 3.x installation, as Python will be
+used to run glib-genmarshal, which was converted into a Python script from
+a compiled C program, in addition to generating the atk.pc pkg-config
+file for the build. See PythonPath (32-bit builds) or PythonPathX64 (x64
+builds) in atk-version-paths.props to see that they point to the correct paths.
+
+
a) look for all of the dependencies (except GLib*) under
http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR-
diff --git a/win32/vs10/atk-gen-src.props b/win32/vs10/atk-gen-src.props index 6abbcdc..d699f4f 100644 --- a/win32/vs10/atk-gen-src.props +++ b/win32/vs10/atk-gen-src.props @@ -7,13 +7,20 @@ <GenConfigH>if not exist ..\..\config.h copy ..\..\config.h.win32 ..\..\config.h</GenConfigH> <GenMarshalSrc> cd ..\..\atk - -$(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h - -$(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c - +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPath)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h +if not exist atkmarshal.h $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPath)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c +if not exist atkmarshal.c $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c cd $(SolutionDir) </GenMarshalSrc> + <GenMarshalSrcX64> +cd ..\..\atk +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPathX64)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h +if not exist atkmarshal.h $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPathX64)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c +if not exist atkmarshal.c $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c +cd $(SolutionDir) + </GenMarshalSrcX64> </PropertyGroup> <PropertyGroup> <_PropertySheetDisplayName>atkgensrcprops</_PropertySheetDisplayName> @@ -25,5 +32,8 @@ cd $(SolutionDir) <BuildMacro Include="GenMarshalSrc"> <Value>$(GenMarshalSrc)</Value> </BuildMacro> + <BuildMacro Include="GenMarshalSrcX64"> + <Value>$(GenMarshalSrcX64)</Value> + </BuildMacro> </ItemGroup> </Project> diff --git a/win32/vs10/atk-install.propsin b/win32/vs10/atk-install.propsin index b790fa8..81c2dc5 100644 --- a/win32/vs10/atk-install.propsin +++ b/win32/vs10/atk-install.propsin @@ -18,10 +18,11 @@ copy $(BinDir)\atk-$(ApiVersion).lib $(CopyDir)\lib mkdir $(CopyDir)\include\atk-$(ApiVersion)\atk #include "atk.vs10.headers" -if exist ..\atk.pc (mkdir $(CopyDir)\lib\pkgconfig & copy ..\atk.pc $(CopyDir)\lib\pkgconfig) +mkdir $(CopyDir)\lib\pkgconfig +copy ..\atk.pc $(CopyDir)\lib\pkgconfig </AtkDoInstall> - <AtkGenPC>if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)</AtkGenPC> - <AtkGenPCX64>if exist $(PythonPathX64)\python.exe $(PythonPathX64)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)</AtkGenPCX64> + <AtkGenPC>$(PythonPath)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)</AtkGenPC> + <AtkGenPCX64>$(PythonPathX64)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)</AtkGenPCX64> <AtkPCFiles>..\atk.pc</AtkPCFiles> </PropertyGroup> <ItemGroup> diff --git a/win32/vs10/atk.vcxprojin b/win32/vs10/atk.vcxprojin index 4f96b7c..b1c79d2 100644 --- a/win32/vs10/atk.vcxprojin +++ b/win32/vs10/atk.vcxprojin @@ -159,20 +159,17 @@ </ItemGroup> <ItemGroup> <CustomBuild Include="..\..\config.h.win32"> - <Message Condition="'$(Configuration)'=='Debug'">Copying config.h from config.h.win32...</Message> - <Command Condition="'$(Configuration)'=='Debug'">$(GenConfigH)</Command> - <Outputs Condition="'$(Configuration)'=='Debug'">..\..\config.h;%(Outputs)</Outputs> - <Message Condition="'$(Configuration)'=='Release'">Copying config.h from config.h.win32...</Message> - <Command Condition="'$(Configuration)'=='Release'">$(GenConfigH)</Command> - <Outputs Condition="'$(Configuration)'=='Release'">..\..\config.h;%(Outputs)</Outputs> + <Message>Copying config.h from config.h.win32...</Message> + <Command>$(GenConfigH)</Command> + <Outputs>..\..\config.h;%(Outputs)</Outputs> </CustomBuild> <CustomBuild Include="..\..\atk\atkmarshal.list"> - <Message Condition="'$(Configuration)'=='Debug'">Generating Marshalling Sources...</Message> - <Command Condition="'$(Configuration)'=='Debug'">$(GenMarshalSrc)</Command> - <Outputs Condition="'$(Configuration)'=='Debug'">..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c;%(Outputs)</Outputs> - <Message Condition="'$(Configuration)'=='Release'">Generating Marshalling Sources...</Message> - <Command Condition="'$(Configuration)'=='Release'">$(GenMarshalSrc)</Command> - <Outputs Condition="'$(Configuration)'=='Release'">..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c;%(Outputs)</Outputs> + <Message Condition="'$(Platform)'=='Win32'">Generating Marshalling Sources...</Message> + <Command Condition="'$(Platform)'=='Win32'">$(GenMarshalSrc)</Command> + <Outputs Condition="'$(Platform)'=='Win32'">..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c;%(Outputs)</Outputs> + <Message Condition="'$(Platform)'=='x64'">Generating Marshalling Sources...</Message> + <Command Condition="'$(Platform)'=='x64'">$(GenMarshalSrcX64)</Command> + <Outputs Condition="'$(Platform)'=='x64'">..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c;%(Outputs)</Outputs> </CustomBuild> </ItemGroup> <ItemGroup> diff --git a/win32/vs9/README.txt b/win32/vs9/README.txt index ad90fe2..1798877 100644 --- a/win32/vs9/README.txt +++ b/win32/vs9/README.txt @@ -16,6 +16,12 @@ atk.vcproj. The dependencies for this package are gettext-runtime (libintl), GLib*
and ZLib.
+You will also need a Python 2.7.x or 3.x installation, as Python will be
+used to run glib-genmarshal, which was converted into a Python script from
+a compiled C program, in addition to generating the atk.pc pkg-config
+file for the build. See PythonPath (32-bit builds) or PythonPathX64 (x64
+builds) in atk-version-paths.vsprops to see that they point to the correct paths.
+
a) look for all of the dependencies (except GLib*) under
http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR-
diff --git a/win32/vs9/atk-gen-src.vsprops b/win32/vs9/atk-gen-src.vsprops index 7e39862..ccfcb68 100644 --- a/win32/vs9/atk-gen-src.vsprops +++ b/win32/vs9/atk-gen-src.vsprops @@ -13,9 +13,22 @@ Name="GenMarshalSrc" Value=" cd ..\..\atk
 -$(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h
 -$(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c
 +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPath)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h
 +if not exist atkmarshal.h $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h
 +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPath)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c
 +if not exist atkmarshal.c $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c
 cd $(SolutionDir)
 " /> + <UserMacro + Name="GenMarshalSrcX64" + Value=" +cd ..\..\atk
 +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPathX64)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h
 +if not exist atkmarshal.h $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --header > atkmarshal.h
 +if exist $(GLibEtcInstallRoot)\bin\glib-genmarshal $(PythonPathX64)\python $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c
 +if not exist atkmarshal.c $(GLibEtcInstallRoot)\bin\glib-genmarshal --prefix=atk_marshal atkmarshal.list --body > atkmarshal.c
 +cd $(SolutionDir)
 + " + /> </VisualStudioPropertySheet> diff --git a/win32/vs9/atk-install.vspropsin b/win32/vs9/atk-install.vspropsin index aed8fd5..880dad5 100644 --- a/win32/vs9/atk-install.vspropsin +++ b/win32/vs9/atk-install.vspropsin @@ -19,15 +19,16 @@ copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\atk-$(ApiVersion).li mkdir $(CopyDir)\include\atk-$(ApiVersion)\atk
 #include "atk.headers" -if exist ..\atk.pc (mkdir $(CopyDir)\lib\pkgconfig & copy ..\atk.pc $(CopyDir)\lib\pkgconfig)
 +mkdir $(CopyDir)\lib\pkgconfig
 +copy ..\atk.pc $(CopyDir)\lib\pkgconfig
 " /> <UserMacro Name="AtkGenPC" - Value="if exist $(PythonPath)\python.exe $(PythonPath)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)" + Value="$(PythonPath)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)" /> <UserMacro Name="AtkGenPCX64" - Value="if exist $(PythonPathX64)\python.exe $(PythonPathX64)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)" + Value="$(PythonPathX64)\python.exe ..\atkpc.py --prefix=$(CopyDir) --version=$(AtkMajorVersion).$(AtkMinorVersion).$(AtkMicroVersion)" /> </VisualStudioPropertySheet> diff --git a/win32/vs9/atk.vcprojin b/win32/vs9/atk.vcprojin index 69c354d..a51a747 100644 --- a/win32/vs9/atk.vcprojin +++ b/win32/vs9/atk.vcprojin @@ -222,7 +222,7 @@ <Tool Name="VCCustomBuildTool" Description="Generating Marshalling Sources..." - CommandLine="$(GenMarshalSrc)" + CommandLine="$(GenMarshalSrcX64)" Outputs="..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c" /> </FileConfiguration> @@ -230,7 +230,7 @@ <Tool Name="VCCustomBuildTool" Description="Generating Marshalling Sources..." - CommandLine="$(GenMarshalSrc)" + CommandLine="$(GenMarshalSrcX64)" Outputs="..\..\atk\atkmarshal.h;..\..\atk\atkmarshal.c" /> </FileConfiguration> |