include_directories(. .. ../../include)

if (${ARCH} STREQUAL "x86_64")
	set(
		MODES_ARCH_SOURCES

		aesni-gcm-x86_64.${ASM_EXT}
		ghash-x86_64.${ASM_EXT}
	)
endif()

if (${ARCH} STREQUAL "x86")
	set(
		MODES_ARCH_SOURCES

		ghash-x86.${ASM_EXT}
	)
endif()

if (${ARCH} STREQUAL "arm")
	set(
		MODES_ARCH_SOURCES

		ghash-armv4.${ASM_EXT}
		ghashv8-armx.${ASM_EXT}
	)
endif()

if (${ARCH} STREQUAL "aarch64")
	set(
		MODES_ARCH_SOURCES

		ghashv8-armx.${ASM_EXT}
	)
endif()

add_library(
	modes

	OBJECT

	cbc.c
	ctr.c
	ofb.c
	cfb.c
	gcm.c

	${MODES_ARCH_SOURCES}
)

perlasm(aesni-gcm-x86_64.${ASM_EXT} asm/aesni-gcm-x86_64.pl)
perlasm(ghash-x86_64.${ASM_EXT} asm/ghash-x86_64.pl)
perlasm(ghash-x86.${ASM_EXT} asm/ghash-x86.pl)
perlasm(ghash-armv4.${ASM_EXT} asm/ghash-armv4.pl)
perlasm(ghashv8-armx.${ASM_EXT} asm/ghashv8-armx.pl)

add_executable(
	gcm_test

	gcm_test.c
)

target_link_libraries(gcm_test crypto)
