[gobject-introspection] Visual Studio builds: Use the Centricular fork of libffi



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]