diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2017-06-14 11:12:22 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2017-06-14 11:17:06 +0800 |
commit | f3561115e44cceebc9aecb859ffdfca4ef36cf93 (patch) | |
tree | 20f7233fd92328f2b25659a60b5b32c3ded131f0 | |
parent | cebe79cc76ac0a6dba1e4b5ea08df4b30d3148ac (diff) | |
download | gobject-introspection-f3561115e44cceebc9aecb859ffdfca4ef36cf93.tar.gz |
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
-rw-r--r-- | win32/vs10/README.txt | 10 | ||||
-rw-r--r-- | win32/vs10/g-ir-compiler.vcxprojin | 16 | ||||
-rw-r--r-- | win32/vs10/gi-build-defines.props | 6 | ||||
-rw-r--r-- | win32/vs10/girepository.vcxprojin | 8 | ||||
-rw-r--r-- | win32/vs9/README.txt | 9 | ||||
-rw-r--r-- | win32/vs9/g-ir-compiler.vcprojin | 16 | ||||
-rw-r--r-- | win32/vs9/gi-build-defines.vsprops | 6 | ||||
-rw-r--r-- | 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 d3ff8b48..e91adbf6 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 f7a94f60..b73575d4 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 0b66dcf3..e3cef3dd 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 4339f779..2ff15572 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 05cfc912..abd0b286 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 d0850084..e85847f1 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 61e6e5e7..e5d143bc 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 681bbe92..66f3a00d 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" |