This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

libxml2: Updated to version 2.9.4

  • Loading branch information...
Arnavion committed Jun 11, 2016
1 parent de43592 commit ec7db38b0ccaac6f31951d1a8e8540d8c2509c3a
@@ -37,7 +37,7 @@ These are the libraries in the bundle:
| lgi | 0.9.1 | [Source](https://dl.hexchat.net/gtk-win32/src/lgi-0.9.1.tar.gz)
| libffi | 3.2.1 | [Source](https://dl.hexchat.net/gtk-win32/src/libffi-3.2.1.tar.gz)
| libpng | 1.6.22 | [Source](https://dl.hexchat.net/gtk-win32/src/libpng-1.6.22.tar.xz)
| libxml2 | 2.9.3 | [Source](https://dl.hexchat.net/gtk-win32/src/libxml2-2.9.3.tar.gz)
| libxml2 | 2.9.4 | [Source](https://dl.hexchat.net/gtk-win32/src/libxml2-2.9.4.tar.gz)
| luajit | 2.0.4 | [Source](https://dl.hexchat.net/gtk-win32/src/luajit-2.0.4.tar.gz)
| OpenSSL | 1.0.2g | [Source](https://dl.hexchat.net/gtk-win32/src/openssl-1.0.2g.tar.gz)
| Pango | 1.39.0 | [Source](https://dl.hexchat.net/gtk-win32/src/pango-1.39.0.tar.xz)
@@ -218,7 +218,7 @@ $items = @{
};

'libxml2' = @{
'ArchiveUrl' = 'http://dl.hexchat.net/gtk-win32/src/libxml2-2.9.3.tar.gz'
'ArchiveUrl' = 'https://dl.hexchat.net/gtk-win32/src/libxml2-2.9.4.tar.gz'
'Dependencies' = @('win-iconv')
};

@@ -803,21 +803,19 @@ $items['libxml2'].BuildScript = {

$originalEnvironment = Swap-Environment $vcvarsEnvironment

Exec msbuild win32\vc12\libxml2.sln /p:Platform=$platform /p:Configuration=Release /maxcpucount /nodeReuse:True $windowsTargetPlatformVersion
Exec msbuild win32\VC14\libxml2.vcxproj /p:Platform=$platform /p:Configuration=Release /maxcpucount /nodeReuse:True $windowsTargetPlatformVersion

[void] (Swap-Environment $originalEnvironment)

New-Item -Type Directory $packageDestination\bin
Copy-Item `
.\lib\libxml2.dll, `
.\lib\libxml2.pdb, `
.\lib\runsuite.exe, `
.\lib\runsuite.pdb `
.\lib\libxml2.pdb `
$packageDestination\bin

New-Item -Type Directory $packageDestination\include\libxml
Copy-Item `
.\win32\VC12\config.h, `
.\win32\VC14\config.h, `
.\include\wsockcompat.h, `
.\include\libxml\*.h `
$packageDestination\include\libxml
@@ -1,66 +1,68 @@
* Download [libxml2 2.9.3](ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz)
* Copy win32\VC10 to win32\VC12
* Remove the `iconv` project and its references from `win32\VC12\libxml2.sln`, `win32\VC12\libxml2.vcxproj` and `win32\VC12\runsuite.vcxproj`
* Open `win32\VC12\libxml2.sln` with VS
* Add x64 configuration
* For the `libxml2` and `runsuite` projects:
* Set `<AdditionalIncludeDirectories>' to `$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\..\..\gtk\$(Platform)\include;%(AdditionalIncludeDirectories)`
* Add `<DisableSpecificWarnings>4996</DisableSpecificWarnings>`
* For the `libxml2` project:
* Change _Configuration Type_ to _Dynamic Library (.dll)_ under _Configuration Properties_ `->` _General_
* Set `<AdditionalLibraryDirectories>` to `..\..\..\..\..\gtk\$(Platform)\lib`
* Set `<AdditionalDependencies>` to `ws2_32.lib;iconv.lib`
* Download [libxml2 2.9.3](ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz)
* Copy `win32\VC10` to `win32\VC14`
* In `libxml2.vcxproj`:
* Add
```
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
```
* Add `<PlatformToolset>v140</PlatformToolset>` to all `<PropertyGroup>` elements that have `Label="Configuration"`
* Replace `<ConfigurationType>Application</ConfigurationType>` with `<ConfigurationType>DynamicLibrary</ConfigurationType>`
* Add
```
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
```
* Add `<Import Project="..\..\..\stack.props" />`
* Replace
```
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
</PropertyGroup>
```
with
```
<PropertyGroup>
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
</PropertyGroup>
```
* Add to libxml2.vcxproj.filters:
```
<ClCompile Include="..\..\buf.c">
<Filter>Source Files</Filter>
</ClCompile>
```
* For the `runsuites` project:
* Replace
```
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
</PropertyGroup>
```
with
```
<PropertyGroup>
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
<OutDir>$(ProjectDir)..\..\lib\</OutDir>
<IntDir>build\$(ProjectName)$(Configuration)\</IntDir>
</PropertyGroup>
```
* In `win32\VC12\config.h`
* Remove all `<Optimization>` elements
* Add `<DisableSpecificWarnings>4996</DisableSpecificWarnings>`
* In the `<ItemDefinitionGroup>` elements' `<Link>` tags for `Release|Win32` and `Release|x64`:
* Under `<Compile>`, add:
```
<AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)..\..\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\..\..\gtk\$(Platform)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
```
* Under `<Link>`, add:
```
<AdditionalLibraryDirectories>..\..\..\..\..\gtk\$(Platform)\lib;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ws2_32.lib;iconv.lib;%(AdditionalDependencies)</AdditionalDependencies>
```
* Remove
```
<ItemGroup>
<ProjectReference Include="..\..\..\libiconv-1.14.vc10\windows\VC10\iconv.vcxproj">
<Project>{bec03130-a64c-48f8-863c-52da83cfb3ae}</Project>
<Private>true</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>true</LinkLibraryDependencies>
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
```
* In `win32\VC14\config.h`
* Add
```
#define SEND_ARG2_CAST
#define GETHOSTBYNAME_ARG_CAST
```
* Replace
```
#define snprintf _snprintf
```
with
```
#if _MSC_VER < 1900
#define snprintf _snprintf
#endif
```
* Add `#undef LIBXML_LZMA_ENABLED`

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit ec7db38

Please sign in to comment.