 +  aes/aes_locl.h
 +  aes/aes_core.c # aes_asm_src DEFAULT (Configurations/00-base-templates.conf)
 +  aes/aes_cbc.c # aes_asm_src DEFAULT (Configurations/00-base-templates.conf)
-+  aes/aes_x86core.c
++  aes/aes_x86core.c # needed on msw: unresolved external symbol AES_[en|de]crypt
 +  )
 +source_group(aes FILES ${aes_srcs})
 +list(APPEND ${lib_name}_libsrcs ${aes_srcs})

+  )
+list(APPEND camellia_srcs
+  camellia/cmll_locl.h
+  camellia/camellia.c # cmll_asm_src DEFAULT (Configurations/00-base-templates.conf)
+  camellia/cmll_misc.c # cmll_asm_src DEFAULT (Configurations/00-base-templates.conf)
+  )
+if(NOT ASM_BUILD)
+  list(APPEND camellia_srcs
+    camellia/cmll_cbc.c # cmll_asm_src DEFAULT (Configurations/00-base-templates.conf)
+    )
+else()
+  list(APPEND camellia_extra
+    camellia/cmll_cbc.c
+    )
+endif()

+DEFINE_LHASH_OF(FUNCTION);
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
new file mode 100644
index 0000000..e6dbe26
--- /dev/null
+++ b/crypto/CMakeLists.txt
@@ -0,0 +1,1891 @@
+set(lib_name crypto)
+########################################
+set(gen_file include/buildinf.h)
