1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- set_version("v1.0.1", {soname = "1"})
- add_rules("mode.debug", "mode.release")
- add_requires("xxhash")
- target("fast-lzma2")
- set_kind("$(kind)")
- add_files("*.c")
- add_headerfiles("fast-lzma2.h", "fl2_errors.h")
- add_packages("xxhash")
- if is_kind("shared") and is_plat("windows") then
- add_defines("FL2_DLL_EXPORT")
- add_defines("FL2_DLL_IMPORT", {interface = true})
- end
- if is_plat("linux", "bsd") then
- add_syslinks("pthread")
- end
- on_config(function (target)
- if not target:is_arch("x64", "x86_64") or is_host("bsd", "macosx") then
- return
- end
- target:add("defines", "LZMA2_DEC_OPT")
- if target:has_tool("cxx", "clang") then
- target:add("deps", "asm")
- else
- if target:is_plat("windows") then
- target:add("files", "*.asm")
- target:add("asflags", "-DMS_x64_CALL=1")
- else
- target:add("files", "*.S")
- target:add("asflags", "-DMS_x64_CALL=0")
- end
- end
- end)
- target_end()
- if is_arch("x64", "x86_64") and not is_host("bsd", "macosx") then
- -- workaround for clang toolchain
- target("asm")
- set_kind("object")
- if is_plat("windows") then
- add_files("*.asm")
- add_asflags("-DMS_x64_CALL=1")
- set_toolchains("msvc")
- else
- add_asflags("-DMS_x64_CALL=0")
- add_files("*.S")
- set_toolchains("gcc")
- end
- end
|