[gobject-introspection] Visual Studio builds: Use the Centricular fork of libffi
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Visual Studio builds: Use the Centricular fork of libffi
- Date: Wed, 14 Jun 2017 03:17:41 +0000 (UTC)
commit f3561115e44cceebc9aecb859ffdfca4ef36cf93
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Wed Jun 14 11:12:22 2017 +0800
Visual Studio builds: Use the Centricular fork of libffi
The upstream libffi is getting bit-rotten on the regards of Windows/MSVC
builds, and we are eventually moving towards to the Meson build system,
so make use of the Centricular fork of libffi[1] which is better maintained
and tested for Windows/MSVC builds.
[1]: https://github.com/centricular/libffi
win32/vs10/README.txt | 10 +++++-----
win32/vs10/g-ir-compiler.vcxprojin | 16 ++++++++--------
win32/vs10/gi-build-defines.props | 6 +-----
win32/vs10/girepository.vcxprojin | 8 ++++----
win32/vs9/README.txt | 9 ++++-----
win32/vs9/g-ir-compiler.vcprojin | 16 ++++++++--------
win32/vs9/gi-build-defines.vsprops | 6 +-----
win32/vs9/girepository.vcprojin | 8 ++++----
8 files changed, 35 insertions(+), 44 deletions(-)
---
diff --git a/win32/vs10/README.txt b/win32/vs10/README.txt
index d3ff8b4..e91adbf 100644
--- a/win32/vs10/README.txt
+++ b/win32/vs10/README.txt
@@ -19,11 +19,11 @@ usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs10 on how to build
GLib using Visual C++ 2010
-For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
-was added in the 3.0.10 release series. Please see the README file that
-comes with the LibFFI source package for more details on how to build LibFFI
-on Visual C++-please note that the mozilla-build package from Mozilla is needed
-in order to build LibFFI on Windows.
+For LibFFI, please use the Centricular fork of it, which can be found at
+https://github.com/centricular/libffi. Please refer there on building--please
+note that this will involve the use of the Meson build system and possible the
+Ninja build tool, if the Visual Studio project generation is not used or is
+unavailable.
For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
from http://www.python.org will do the job-be sure that the Python version that
diff --git a/win32/vs10/g-ir-compiler.vcxprojin b/win32/vs10/g-ir-compiler.vcxprojin
index f7a94f6..b73575d 100644
--- a/win32/vs10/g-ir-compiler.vcxprojin
+++ b/win32/vs10/g-ir-compiler.vcxprojin
@@ -75,7 +75,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -85,7 +85,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
@@ -97,7 +97,7 @@
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>_DEBUG;$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -107,7 +107,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<DataExecutionPrevention>
@@ -119,7 +119,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
@@ -128,7 +128,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
@@ -143,7 +143,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>$(FFIDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
@@ -152,7 +152,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
diff --git a/win32/vs10/gi-build-defines.props b/win32/vs10/gi-build-defines.props
index 0b66dcf..e3cef3d 100644
--- a/win32/vs10/gi-build-defines.props
+++ b/win32/vs10/gi-build-defines.props
@@ -4,8 +4,7 @@
<Import Project="gi-version-paths.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
- <FFIDefines>FFI_BUILDING</FFIDefines>
- <GIRepositoryBuildDefines>G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT</GIRepositoryBuildDefines>
+ <GIRepositoryBuildDefines>G_IREPOSITORY_COMPILATION;DLL_EXPORT</GIRepositoryBuildDefines>
<GIIntrospectNMakeCmd>cd ..
set VCInstallDir=$(VCInstallDir)
nmake -f gi-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallRoot)</GIIntrospectNMakeCmd>
@@ -30,9 +29,6 @@ nmake -f gi-introspection-msvc.mak CFG=$(Configuration) PREFIX=$(GlibEtcInstallR
</Link>
</ItemDefinitionGroup>
<ItemGroup>
- <BuildMacro Include="FFIDefines">
- <Value>$(FFIDefines)</Value>
- </BuildMacro>
<BuildMacro Include="GIRepositoryBuildDefines">
<Value>$(GIRepositoryBuildDefines)</Value>
</BuildMacro>
diff --git a/win32/vs10/girepository.vcxprojin b/win32/vs10/girepository.vcxprojin
index 4339f77..2ff1557 100644
--- a/win32/vs10/girepository.vcxprojin
+++ b/win32/vs10/girepository.vcxprojin
@@ -86,7 +86,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -109,7 +109,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -137,7 +137,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -163,7 +163,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
- <AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll</OutputFile>
<ImportLibrary>$(TargetDir)$(ProjectName)-$(ApiVersion).lib</ImportLibrary>
<GenerateDebugInformation>true</GenerateDebugInformation>
diff --git a/win32/vs9/README.txt b/win32/vs9/README.txt
index 05cfc91..abd0b28 100644
--- a/win32/vs9/README.txt
+++ b/win32/vs9/README.txt
@@ -19,11 +19,10 @@ usage of different CRTs.
Please refer to the README.txt file in $(GLib_src_root)\build\win32\vs9 on how to build
GLib using Visual C++ 2008
-For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
-was added in the 3.0.10 release series. Please see the README file that
-comes with the LibFFI source package for more details on how to build LibFFI
-on Visual C++-please note that the mozilla-build package from Mozilla is needed
-in order to build LibFFI on Windows.
+For LibFFI, please use the Centricular fork of it, which can be found at
+https://github.com/centricular/libffi. Please refer there on building--please
+note that this will involve the use of the Meson build system and the Ninja
+build tool.
For Python, retrieving the official Windows binaries for 2.7 (2.x) or 3.3 (3.x) or later
from http://www.python.org will do the job-be sure that the Python version that
diff --git a/win32/vs9/g-ir-compiler.vcprojin b/win32/vs9/g-ir-compiler.vcprojin
index d085008..e85847f 100644
--- a/win32/vs9/g-ir-compiler.vcprojin
+++ b/win32/vs9/g-ir-compiler.vcprojin
@@ -28,7 +28,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
+ PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -38,7 +38,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
@@ -58,7 +58,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- PreprocessorDefinitions="_DEBUG;$(FFIDefines)"
+ PreprocessorDefinitions="_DEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -68,7 +68,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
@@ -87,7 +87,7 @@
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
- PreprocessorDefinitions="$(FFIDefines)"
+ PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
@@ -96,7 +96,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
@@ -122,7 +122,7 @@
EnableIntrinsicFunctions="true"
EnableMinimalRebuild="true"
WholeProgramOptimization="false"
- PreprocessorDefinitions="$(FFIDefines)"
+ PreprocessorDefinitions=""
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
@@ -131,7 +131,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
diff --git a/win32/vs9/gi-build-defines.vsprops b/win32/vs9/gi-build-defines.vsprops
index 61e6e5e..e5d143b 100644
--- a/win32/vs9/gi-build-defines.vsprops
+++ b/win32/vs9/gi-build-defines.vsprops
@@ -20,12 +20,8 @@
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/>
<UserMacro
- Name="FFIDefines"
- Value="FFI_BUILDING"
- />
- <UserMacro
Name="GIRepositoryBuildDefines"
- Value="G_IREPOSITORY_COMPILATION;$(FFIDefines);DLL_EXPORT"
+ Value="G_IREPOSITORY_COMPILATION;DLL_EXPORT"
/>
<UserMacro
Name="GIIntrospectNMakeCmd"
diff --git a/win32/vs9/girepository.vcprojin b/win32/vs9/girepository.vcprojin
index 681bbe9..66f3a00 100644
--- a/win32/vs9/girepository.vcprojin
+++ b/win32/vs9/girepository.vcprojin
@@ -39,7 +39,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
LinkIncremental="2"
GenerateDebugInformation="true"
@@ -69,7 +69,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
@@ -104,7 +104,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
LinkIncremental="2"
GenerateDebugInformation="true"
@@ -138,7 +138,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="libffi.lib"
+ AdditionalDependencies="ffi.lib"
OutputFile="$(OutDir)\$(LibGIDllPrefix)$(ProjectName)$(LibGIDllSuffix).dll"
LinkIncremental="1"
GenerateDebugInformation="true"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]