diff --git a/.gitmodules b/.gitmodules index 69a60a4b..845019e5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,5 +26,8 @@ path = src/openssl url = https://github.com/openssl/openssl.git [submodule "src/depot_tools"] - path = src/depot_tools - url = https://chromium.googlesource.com/chromium/tools/depot_tools.git + path = src/depot_tools + url = https://chromium.googlesource.com/chromium/tools/depot_tools.git +[submodule "src/libzip"] + path = src/libzip + url = https://github.com/nih-at/libzip.git diff --git a/build.ps1 b/build.ps1 index b03aca29..1965ccaf 100644 --- a/build.ps1 +++ b/build.ps1 @@ -92,6 +92,11 @@ Write-Host Copy-Item -Force ".\src\libpng\projects\vstudio\Release Library\libpng16.lib" $binDir Copy-Item -Force ".\src\libpng\projects\vstudio\Release Library\zlib.lib" $binDir +# Build libzip +Write-Host "Building libzip..." -ForegroundColor Cyan +msbuild ".\vsprojects\libzip\libzip.sln" "/p:Configuration=Release Static" "/p:Platform=Win32" "/p:PlatformToolset=v140" "/v:minimal" +Copy-Item -Force ".\vsprojects\libzip\Release Static\libzip.lib" $binDir + # Build lipspeexdsp Write-Host "Building libspeexdsp..." -ForegroundColor Cyan msbuild ".\vsprojects\speexdsp\libspeexdsp.sln" "/p:Configuration=Release Static" "/p:Platform=Win32" "/p:PlatformToolset=v140" "/v:minimal" @@ -133,6 +138,7 @@ Push-Location ".\bin" ".\jansson.lib" ` ".\libpng16.lib" ` ".\zlib.lib" ` + ".\libzip.lib" ` ".\libspeexdsp.lib" ` ".\libcurl.lib" ` ".\libeay32.lib" ` diff --git a/build64.ps1 b/build64.ps1 index e827cc88..1c665c23 100644 --- a/build64.ps1 +++ b/build64.ps1 @@ -92,6 +92,11 @@ Write-Host Copy-Item -Force ".\src\libpng\projects\vstudio\x64\Release Library\libpng16.lib" $binDir Copy-Item -Force ".\src\libpng\projects\vstudio\x64\Release Library\zlib.lib" $binDir +# Build libzip +Write-Host "Building libzip..." -ForegroundColor Cyan +msbuild ".\vsprojects\libzip\libzip.sln" "/p:Configuration=Release Static" "/p:Platform=x64" "/p:PlatformToolset=v140" "/v:minimal" +Copy-Item -Force ".\vsprojects\libzip\x64\Release Static\libzip.lib" $binDir + # Build libspeexdsp Write-Host "Building libspeexdsp..." -ForegroundColor Cyan msbuild ".\vsprojects\speexdsp\libspeexdsp.sln" "/p:Configuration=Release Static" "/p:Platform=x64" "/p:PlatformToolset=v140" "/v:minimal" @@ -133,6 +138,7 @@ Push-Location ".\bin" ".\jansson.lib" ` ".\libpng16.lib" ` ".\zlib.lib" ` + ".\libzip.lib" ` ".\libspeexdsp.lib" ` ".\libcurl.lib" ` ".\libeay32.lib" ` diff --git a/buildmac.sh b/buildmac.sh index b0e36fcd..17accd85 100755 --- a/buildmac.sh +++ b/buildmac.sh @@ -39,6 +39,14 @@ cd src install_name_tool -id @rpath/libjansson.dylib "$PREFIXDIR/lib/libjansson.dylib" cd .. + echo -e "\n\nBuilding libzip ...\n\n" + cd libzip + autoreconf -i + eval ./configure $CONFIGUREOPTS + eval $COMMONMAKE + install_name_tool -id @rpath/libzip.dylib "$PREFIXDIR/lib/libzip.dylib" + cd .. + echo -e "\n\nBuilding speexdsp ...\n\n" cd speexdsp ./autogen.sh @@ -81,17 +89,20 @@ mkdir artifacts # Manually copy headers wanted. Mostly to exclude freetype, which isn't directly used mkdir artifacts/include -cp -R build/include/libpng16 artifacts/include/ -cp build/include/jansson*.h artifacts/include/ -cp -R build/include/speex artifacts/include/ -cp -R build/include/SDL2 artifacts/include/ -cp -R build/include/openssl artifacts/include/ +cp -R build/include/libpng16 artifacts/include/ +cp build/include/jansson*.h artifacts/include/ +cp build/include/zip.h artifacts/include/ +cp -R build/lib/libzip/include/* artifacts/include/ +cp -R build/include/speex artifacts/include/ +cp -R build/include/SDL2 artifacts/include/ +cp -R build/include/openssl artifacts/include/ # Manually copy libs wanted. Removes static libraries and versioned libs mkdir artifacts/lib cp build/lib/libpng16.dylib artifacts/lib/ cp build/lib/libfreetype.dylib artifacts/lib/ cp build/lib/libjansson.dylib artifacts/lib/ +cp build/lib/libzip.dylib artifacts/lib/ cp build/lib/libspeexdsp.dylib artifacts/lib/ cp build/lib/libSDL2.dylib artifacts/lib/ cp build/lib/libSDL2_ttf.dylib artifacts/lib/ diff --git a/createpkg.ps1 b/createpkg.ps1 index 849c133c..72b9690a 100644 --- a/createpkg.ps1 +++ b/createpkg.ps1 @@ -60,6 +60,8 @@ CopyHeaders ".\src\sdl\include\*.h" "sdl" CopyHeaders ".\src\sdl_ttf\*.h" "sdl_ttf" CopyHeaders ".\src\libpng\*.h" "libpng" CopyHeaders ".\src\zlib\*.h" "zlib" +CopyHeaders ".\src\libzip\lib\*.h" "libzip" +CopyHeaders ".\vsprojects\libzip\zipconf.h" "libzip" CopyHeaders ".\src\jansson\include\*.h" "jansson" CopyHeaders ".\src\speexdsp\win32\*.h" "libspeex" CopyHeaders ".\src\speexdsp\include\speex\*.h" "libspeex\speex" diff --git a/src/libzip b/src/libzip new file mode 160000 index 00000000..586fc39b --- /dev/null +++ b/src/libzip @@ -0,0 +1 @@ +Subproject commit 586fc39bc4b17c7c62df1a58a3f1d84717cc5e6b diff --git a/vsprojects/libzip/config.h b/vsprojects/libzip/config.h new file mode 100644 index 00000000..65260064 --- /dev/null +++ b/vsprojects/libzip/config.h @@ -0,0 +1,7 @@ +#pragma once + +#if WIN32 + #define SIZEOF_OFF_T 4 +#else + #define SIZEOF_OFF_T 8 +#endif diff --git a/vsprojects/libzip/libzip.sln b/vsprojects/libzip/libzip.sln new file mode 100644 index 00000000..3841aa8b --- /dev/null +++ b/vsprojects/libzip/libzip.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzip", "libzip.vcxproj", "{5716F715-D80B-4B3B-923B-53C9CBA60B11}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release Static|Win32 = Release Static|Win32 + Release Static|x64 = Release Static|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5716F715-D80B-4B3B-923B-53C9CBA60B11}.Release Static|Win32.ActiveCfg = Release Static|Win32 + {5716F715-D80B-4B3B-923B-53C9CBA60B11}.Release Static|Win32.Build.0 = Release Static|Win32 + {5716F715-D80B-4B3B-923B-53C9CBA60B11}.Release Static|x64.ActiveCfg = Release Static|x64 + {5716F715-D80B-4B3B-923B-53C9CBA60B11}.Release Static|x64.Build.0 = Release Static|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vsprojects/libzip/libzip.vcxproj b/vsprojects/libzip/libzip.vcxproj new file mode 100644 index 00000000..62cfc7b1 --- /dev/null +++ b/vsprojects/libzip/libzip.vcxproj @@ -0,0 +1,211 @@ + + + + + Release Static + Win32 + + + Release Static + x64 + + + + {5716F715-D80B-4B3B-923B-53C9CBA60B11} + libzip + 8.1 + + + + StaticLibrary + false + v140 + true + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + false + + + false + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;HAVE_CONFIG_H;%(PreprocessorDefinitions) + + + .;..\..\src\zlib + MultiThreaded + + + Windows + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;HAVE_CONFIG_H;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + .;..\..\src\zlib + MultiThreaded + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vsprojects/libzip/zipconf.h b/vsprojects/libzip/zipconf.h new file mode 100644 index 00000000..a08b23a6 --- /dev/null +++ b/vsprojects/libzip/zipconf.h @@ -0,0 +1,23 @@ +#pragma once + +#include + +typedef signed __int8 zip_int8_t; +typedef signed __int16 zip_int16_t; +typedef signed __int32 zip_int32_t; +typedef signed __int64 zip_int64_t; +typedef unsigned __int8 zip_uint8_t; +typedef unsigned __int16 zip_uint16_t; +typedef unsigned __int32 zip_uint32_t; +typedef unsigned __int64 zip_uint64_t; + +#define ZIP_INT8_MAX CHAR_MAX +#define ZIP_INT16_MAX SHRT_MAX +#define ZIP_INT32_MAX INT_MAX +#define ZIP_INT64_MAX LLONG_MAX +#define ZIP_UINT8_MAX UCHAR_MAX +#define ZIP_UINT16_MAX USHRT_MAX +#define ZIP_UINT32_MAX UINT_MAX +#define ZIP_UINT64_MAX ULLONG_MAX + +#define strcasecmp strcmpi