mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-31 12:53:07 +02:00
Visual Studio builds: Use the Centricular fork of libffi
The latest upstream libffi is getting bit-rotten with the Windows/MSVC builds, and since we are eventually moving to a Meson-based build system, make use of the Centricular fork of libffi[1], which is better maintained and tested for builds on Windows, with the use of DLLs over static libraries and elimination of awkward build flags that we had to use for GObject. [1]: https://github.com/centricular/libffi
This commit is contained in:
parent
d52f789a29
commit
951fd642dc
@ -28,11 +28,11 @@ One may wish to build his/her own ZLib-It is recommended that ZLib is
|
|||||||
built using the win32/Makefile.msc makefile with VS10 with the ASM routines
|
built using the win32/Makefile.msc makefile with VS10 with the ASM routines
|
||||||
to avoid linking problems-see win32/Makefile.msc in ZLib for more details.
|
to avoid linking problems-see win32/Makefile.msc in ZLib for more details.
|
||||||
|
|
||||||
For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
|
For LibFFI, please use the Centricular fork of it, which can be found at
|
||||||
was added in the 3.0.10 release series. Please see the README file that
|
https://github.com/centricular/libffi. Please refer to the instructions
|
||||||
comes with the LibFFI source package for more details on how to build LibFFI
|
there on building, as it involves using the Meson build system and possibly
|
||||||
on Visual C++-please note that the mozilla-build package from Mozilla is needed
|
the Ninja build tool if the Visual Studio project generation is not used
|
||||||
in order to build LibFFI on Windows.
|
or is unavailable.
|
||||||
|
|
||||||
Please note, although using one's own existing PCRE installation to build GLib
|
Please note, although using one's own existing PCRE installation to build GLib
|
||||||
is possible, it is still recommended to build PCRE during the process of building
|
is possible, it is still recommended to build PCRE during the process of building
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<GLibBuildDefines>$(GLibInBuildMacro);$(DllExportDefines);G_LOG_DOMAIN="GLib"</GLibBuildDefines>
|
<GLibBuildDefines>$(GLibInBuildMacro);$(DllExportDefines);G_LOG_DOMAIN="GLib"</GLibBuildDefines>
|
||||||
<GThreadBuildDefines>G_LOG_DOMAIN="GThread"</GThreadBuildDefines>
|
<GThreadBuildDefines>G_LOG_DOMAIN="GThread"</GThreadBuildDefines>
|
||||||
<GModuleBuildDefines>G_LOG_DOMAIN="GModule"</GModuleBuildDefines>
|
<GModuleBuildDefines>G_LOG_DOMAIN="GModule"</GModuleBuildDefines>
|
||||||
<GObjectBuildDefines>GOBJECT_COMPILATION;$(DllExportDefines);G_LOG_DOMAIN="GLib-GObject";FFI_BUILDING</GObjectBuildDefines>
|
<GObjectBuildDefines>GOBJECT_COMPILATION;$(DllExportDefines);G_LOG_DOMAIN="GLib-GObject"</GObjectBuildDefines>
|
||||||
<GioBuildDefines>$(GioInBuildMacro);G_LOG_DOMAIN="GLib-GIO";$(DllExportDefines)</GioBuildDefines>
|
<GioBuildDefines>$(GioInBuildMacro);G_LOG_DOMAIN="GLib-GIO";$(DllExportDefines)</GioBuildDefines>
|
||||||
<WindowsNetworkingLibs>ws2_32.lib;shlwapi.lib;dnsapi.lib;iphlpapi.lib</WindowsNetworkingLibs>
|
<WindowsNetworkingLibs>ws2_32.lib;shlwapi.lib;dnsapi.lib;iphlpapi.lib</WindowsNetworkingLibs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -83,7 +83,7 @@
|
|||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
||||||
@ -105,7 +105,7 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
||||||
@ -132,7 +132,7 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
||||||
@ -154,7 +154,7 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>libffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>ffi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
<OutputFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll</OutputFile>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
<ProgramDatabaseFile>$(OutDir)$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).pdb</ProgramDatabaseFile>
|
||||||
|
@ -28,11 +28,10 @@ One may wish to build his/her own ZLib-It is recommended that ZLib is
|
|||||||
built using the win32/Makefile.msc makefile with VS9 with the ASM routines
|
built using the win32/Makefile.msc makefile with VS9 with the ASM routines
|
||||||
to avoid linking problems-see win32/Makefile.msc in ZLib for more details.
|
to avoid linking problems-see win32/Makefile.msc in ZLib for more details.
|
||||||
|
|
||||||
For LibFFI, please get version 3.0.10 or later, as Visual C++ build support
|
For LibFFI, please use the Centricular fork of it, which can be found at
|
||||||
was added in the 3.0.10 release series. Please see the README file that
|
https://github.com/centricular/libffi. Please refer to the build instructions
|
||||||
comes with the LibFFI source package for more details on how to build LibFFI
|
there on how to build it, which involves using the Meson build system, and
|
||||||
on Visual C++-please note that the mozilla-build package from Mozilla is needed
|
the Ninja build tool.
|
||||||
in order to build LibFFI on Windows.
|
|
||||||
|
|
||||||
Please note, although using one's own existing PCRE installation to build GLib
|
Please note, although using one's own existing PCRE installation to build GLib
|
||||||
is possible, it is still recommended to build PCRE during the process of building
|
is possible, it is still recommended to build PCRE during the process of building
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
/>
|
/>
|
||||||
<UserMacro
|
<UserMacro
|
||||||
Name="GObjectBuildDefines"
|
Name="GObjectBuildDefines"
|
||||||
Value="GOBJECT_COMPILATION;$(DllExportDefines);G_LOG_DOMAIN=\"GLib-GObject\";FFI_BUILDING"
|
Value="GOBJECT_COMPILATION;$(DllExportDefines);G_LOG_DOMAIN=\"GLib-GObject\""
|
||||||
/>
|
/>
|
||||||
<UserMacro
|
<UserMacro
|
||||||
Name="GioBuildDefines"
|
Name="GioBuildDefines"
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="libffi.lib"
|
AdditionalDependencies="ffi.lib"
|
||||||
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
@ -66,7 +66,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="libffi.lib"
|
AdditionalDependencies="ffi.lib"
|
||||||
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
@ -98,7 +98,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="libffi.lib"
|
AdditionalDependencies="ffi.lib"
|
||||||
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
||||||
LinkIncremental="2"
|
LinkIncremental="2"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
@ -126,7 +126,7 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
AdditionalDependencies="libffi.lib"
|
AdditionalDependencies="ffi.lib"
|
||||||
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
OutputFile="$(OutDir)\$(GlibDllPrefix)$(ProjectName)$(GlibDllSuffix).dll"
|
||||||
LinkIncremental="1"
|
LinkIncremental="1"
|
||||||
GenerateDebugInformation="true"
|
GenerateDebugInformation="true"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user