126fa459cSmrg-- A solution contains projects, and defines the available configurations
226fa459cSmrgsolution "brotli"
326fa459cSmrgconfigurations { "Release", "Debug" }
426fa459cSmrgplatforms { "x64", "x86" }
526fa459cSmrgtargetdir "bin"
626fa459cSmrglocation "buildfiles"
726fa459cSmrgflags "RelativeLinks"
826fa459cSmrgincludedirs { "c/include" }
926fa459cSmrg
1026fa459cSmrgfilter "configurations:Release"
1126fa459cSmrg  optimize "Speed"
1226fa459cSmrg  flags { "StaticRuntime" }
1326fa459cSmrg
1426fa459cSmrgfilter "configurations:Debug"
1526fa459cSmrg  flags { "Symbols" }
1626fa459cSmrg
1726fa459cSmrgfilter { "platforms:x64" }
1826fa459cSmrg   architecture "x86_64"
1926fa459cSmrg
2026fa459cSmrgfilter { "platforms:x86" }
2126fa459cSmrg   architecture "x86"
2226fa459cSmrg
2326fa459cSmrgconfiguration { "gmake" }
2426fa459cSmrg  buildoptions { "-Wall -fno-omit-frame-pointer" }
2526fa459cSmrg  location "buildfiles/gmake"
2626fa459cSmrg
2726fa459cSmrgconfiguration { "xcode4" }
2826fa459cSmrg  location "buildfiles/xcode4"
2926fa459cSmrg
3026fa459cSmrgconfiguration "linux"
3126fa459cSmrg  links "m"
3226fa459cSmrg
3326fa459cSmrgconfiguration { "macosx" }
3426fa459cSmrg  defines { "OS_MACOSX" }
3526fa459cSmrg
3626fa459cSmrgproject "brotlicommon"
3726fa459cSmrg  kind "SharedLib"
3826fa459cSmrg  language "C"
3926fa459cSmrg  files { "c/common/**.h", "c/common/**.c" }
4026fa459cSmrg
4126fa459cSmrgproject "brotlicommon_static"
4226fa459cSmrg  kind "StaticLib"
4326fa459cSmrg  targetname "brotlicommon"
4426fa459cSmrg  language "C"
4526fa459cSmrg  files { "c/common/**.h", "c/common/**.c" }
4626fa459cSmrg
4726fa459cSmrgproject "brotlidec"
4826fa459cSmrg  kind "SharedLib"
4926fa459cSmrg  language "C"
5026fa459cSmrg  files { "c/dec/**.h", "c/dec/**.c" }
5126fa459cSmrg  links "brotlicommon"
5226fa459cSmrg
5326fa459cSmrgproject "brotlidec_static"
5426fa459cSmrg  kind "StaticLib"
5526fa459cSmrg  targetname "brotlidec"
5626fa459cSmrg  language "C"
5726fa459cSmrg  files { "c/dec/**.h", "c/dec/**.c" }
5826fa459cSmrg  links "brotlicommon_static"
5926fa459cSmrg
6026fa459cSmrgproject "brotlienc"
6126fa459cSmrg  kind "SharedLib"
6226fa459cSmrg  language "C"
6326fa459cSmrg  files { "c/enc/**.h", "c/enc/**.c" }
6426fa459cSmrg  links "brotlicommon"
6526fa459cSmrg
6626fa459cSmrgproject "brotlienc_static"
6726fa459cSmrg  kind "StaticLib"
6826fa459cSmrg  targetname "brotlienc"
6926fa459cSmrg  language "C"
7026fa459cSmrg  files { "c/enc/**.h", "c/enc/**.c" }
7126fa459cSmrg  links "brotlicommon_static"
7226fa459cSmrg
7326fa459cSmrgproject "brotli"
7426fa459cSmrg  kind "ConsoleApp"
7526fa459cSmrg  language "C"
7626fa459cSmrg  linkoptions "-static"
7726fa459cSmrg  files { "c/tools/brotli.c" }
7826fa459cSmrg  links { "brotlicommon_static", "brotlidec_static", "brotlienc_static" }
79