<?xml version="1.0"?>
<build xmlns:xi="http://www.w3.org/2001/XInclude">
<fragment name="optimized">
<gcc>-fomit-frame-pointer</gcc>
<gcc>-O2</gcc>
<gcc>-g0</gcc>
</fragment>
<fragment name="inplace32bi" inherits="optimized">
<c>lib/Inplace32BI/KeccakP-1600-inplace32BI.c</c>
<h>lib/Inplace32BI/KeccakP-1600-SnP.h</h>
</fragment>
<fragment name="optimized64" inherits="optimized">
<c>lib/Optimized64/KeccakP-1600-opt64.c</c>
<h>lib/Optimized64/KeccakP-1600-SnP.h</h>
<s>lib/Optimized64/KeccakP-1600-AVX2.s</s>
<s>lib/Optimized64/KeccakP-1600-AVX512.s</s>
<c gcc="-mssse3">lib/Optimized64/KeccakP-1600-timesN-SSSE3.c</c>
<c gcc="-mavx2">lib/Optimized64/KeccakP-1600-timesN-AVX2.c</c>
<c gcc="-mavx512f -mavx512vl">lib/Optimized64/KeccakP-1600-timesN-AVX512.c</c>
<c>lib/Optimized64/KeccakP-1600-runtimeDispatch.c</c>
</fragment>
<fragment name="optimized64noAsm" inherits="optimized">
<c>lib/Optimized64/KeccakP-1600-opt64.c</c>
<c gcc="-mavx512f -mavx512vl">lib/Optimized64/KeccakP-1600-AVX512-plainC.c</c>
<h>lib/Optimized64/KeccakP-1600-SnP.h</h>
<c gcc="-mssse3">lib/Optimized64/KeccakP-1600-timesN-SSSE3.c</c>
<c gcc="-mavx2">lib/Optimized64/KeccakP-1600-timesN-AVX2.c</c>
<c gcc="-mavx512f -mavx512vl">lib/Optimized64/KeccakP-1600-timesN-AVX512.c</c>
<c>lib/Optimized64/KeccakP-1600-runtimeDispatch.c</c>
<define>KeccakP1600_noAssembly</define>
</fragment>
<fragment name="optimized64plain" inherits="optimized">
<c>lib/Optimized64/KeccakP-1600-opt64.c</c>
<c>lib/Plain64/KeccakP-1600-plain64.c</c>
<h>lib/Plain64/KeccakP-1600-SnP.h</h>
</fragment>
<fragment name="ARMv8Asha3" inherits="optimized">
<c gcc="-march=armv8.4-a+sha3">lib/ARMv8Asha3/KeccakP-1600-opt64.c</c>
<s gcc="-march=armv8.4-a+sha3">lib/ARMv8Asha3/KeccakP-1600-ARMv8Asha3.S</s>
<h>lib/ARMv8Asha3/KeccakP-1600-SnP.h</h>
</fragment>
<fragment name="KangarooTwelve">
<h>lib/align.h</h>
<c>lib/KangarooTwelve.c</c>
<h>lib/KangarooTwelve.h</h>
</fragment>
<fragment name="common">
<h>lib/align.h</h>
<h>lib/brg_endian.h</h>
</fragment>
<fragment name="KTtests" inherits="common KangarooTwelve">
<c>tests/main.c</c>
<c>tests/testPerformance.c</c>
<c>tests/timing.c</c>
<h>tests/timing.h</h>
<h>tests/testPerformance.h</h>
<c>tests/testKangarooTwelve.c</c>
<h>tests/testKangarooTwelve.h</h>
<gcc>-lm</gcc>
<define>KeccakP1600_enable_simd_options</define>
</fragment>
<fragment name="libKT.a" inherits="KangarooTwelve"/>
<fragment name="libKT.so" inherits="KangarooTwelve"/>
<fragment name="libKT.dylib" inherits="KangarooTwelve"/>
<fragment name="generic32" inherits="inplace32bi"/>
<fragment name="generic64" inherits="optimized64"/>
<fragment name="generic64noAsm" inherits="optimized64noAsm"/>
<fragment name="plain64" inherits="optimized64plain"/>
<group all="all">
<product delimiter="/">
<factor set="generic32 generic64 generic64noAsm plain64 ARMv8Asha3"/>
<factor set="KTtests libKT.a libKT.so libKT.dylib"/>
</product>
</group>
</build>