ext: move tinycrypt to ext/lib

Tinycrypt is maintained at github and thus should be treated as an
external library and hosted under ext/.

Change-Id: I4c4a3bcdacf01d4922919e5ea1f9dec21a19cd37
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index 1fca6d8..d361028 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -80,6 +80,11 @@
 S:	Supported
 F:	ext/hal/qmsi/
 
+TINYCRYPT
+M:	Constanza Heath <constanza.m.heath@intel.com>
+S:	Supported
+F:	ext/lib/crypto/tinycrypt
+
 THE REST
 M:	Anas Nashif <anas.nashif@intel.com>
 L:	devel@lists.zephyrproject.com
diff --git a/doc/doxygen.config b/doc/doxygen.config
index f67934c..e5382be 100644
--- a/doc/doxygen.config
+++ b/doc/doxygen.config
@@ -101,7 +101,7 @@
                         include/ \
                         include/misc/ \
                         lib/libc/minimal/include/ \
-			lib/crypto/tinycrypt/include/
+			ext/lib/crypto/tinycrypt/include/
 INPUT_ENCODING         = UTF-8
 FILE_PATTERNS          = "*.c" "*.h" "*.S"
 RECURSIVE              = YES
diff --git a/ext/Kbuild b/ext/Kbuild
index 31beb33..0b61c80 100644
--- a/ext/Kbuild
+++ b/ext/Kbuild
@@ -1 +1,2 @@
 obj-y += hal/
+obj-y += lib/
diff --git a/ext/Kconfig b/ext/Kconfig
index 6a80005..0d13685 100644
--- a/ext/Kconfig
+++ b/ext/Kconfig
@@ -20,4 +20,6 @@
 
 source "ext/hal/Kconfig"
 
+source "ext/lib/crypto/Kconfig"
+
 endmenu
diff --git a/ext/Makefile b/ext/Makefile
index 9a93de7..0a604ff 100644
--- a/ext/Makefile
+++ b/ext/Makefile
@@ -1,3 +1,2 @@
-
-
+include $(srctree)/ext/lib/Makefile
 include $(srctree)/ext/hal/Makefile
diff --git a/ext/lib/Kbuild b/ext/lib/Kbuild
new file mode 100644
index 0000000..755bcbe
--- /dev/null
+++ b/ext/lib/Kbuild
@@ -0,0 +1 @@
+obj-y += crypto/
diff --git a/ext/lib/Makefile b/ext/lib/Makefile
new file mode 100644
index 0000000..118113c
--- /dev/null
+++ b/ext/lib/Makefile
@@ -0,0 +1,4 @@
+ifdef CONFIG_TINYCRYPT
+ZEPHYRINCLUDE += -I$(srctree)/ext/lib/crypto/tinycrypt/include
+endif
+
diff --git a/ext/lib/crypto/Kconfig b/ext/lib/crypto/Kconfig
new file mode 100644
index 0000000..284bad6
--- /dev/null
+++ b/ext/lib/crypto/Kconfig
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2016 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+menu "Cryptography"
+
+source "ext/lib/crypto/tinycrypt/Kconfig"
+
+endmenu
diff --git a/lib/crypto/Makefile b/ext/lib/crypto/Makefile
similarity index 100%
rename from lib/crypto/Makefile
rename to ext/lib/crypto/Makefile
diff --git a/lib/crypto/tinycrypt/Kconfig b/ext/lib/crypto/tinycrypt/Kconfig
similarity index 100%
rename from lib/crypto/tinycrypt/Kconfig
rename to ext/lib/crypto/tinycrypt/Kconfig
diff --git a/lib/crypto/tinycrypt/Makefile b/ext/lib/crypto/tinycrypt/Makefile
similarity index 91%
rename from lib/crypto/tinycrypt/Makefile
rename to ext/lib/crypto/tinycrypt/Makefile
index 1ffccdc..bcfcde1 100644
--- a/lib/crypto/tinycrypt/Makefile
+++ b/ext/lib/crypto/tinycrypt/Makefile
@@ -1,4 +1,4 @@
-subdir-ccflags-y +=-I$(srctree)/lib/crypto/tinycrypt/include
+subdir-ccflags-y +=-I$(srctree)/ext/lib/crypto/tinycrypt/include
 
 obj-$(CONFIG_TINYCRYPT) := source/utils.o
 obj-$(CONFIG_TINYCRYPT_ECC_DH) += source/ecc_dh.o source/ecc.o
diff --git a/lib/crypto/tinycrypt/README b/ext/lib/crypto/tinycrypt/README
similarity index 100%
rename from lib/crypto/tinycrypt/README
rename to ext/lib/crypto/tinycrypt/README
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/aes.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/aes.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/aes.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/aes.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/cbc_mode.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/cbc_mode.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/cbc_mode.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/cbc_mode.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/ccm_mode.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/ccm_mode.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/ccm_mode.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/ccm_mode.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/cmac_mode.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/cmac_mode.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/cmac_mode.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/cmac_mode.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/constants.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/constants.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/constants.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/constants.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/ctr_mode.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/ctr_mode.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/ctr_mode.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/ctr_mode.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/ecc.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/ecc.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/ecc.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/ecc.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/ecc_dh.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/ecc_dh.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/ecc_dh.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/ecc_dh.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/ecc_dsa.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/ecc_dsa.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/ecc_dsa.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/ecc_dsa.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/hmac.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/hmac.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/hmac.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/hmac.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/hmac_prng.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/hmac_prng.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/hmac_prng.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/hmac_prng.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/sha256.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/sha256.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/sha256.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/sha256.h
diff --git a/lib/crypto/tinycrypt/include/tinycrypt/utils.h b/ext/lib/crypto/tinycrypt/include/tinycrypt/utils.h
similarity index 100%
rename from lib/crypto/tinycrypt/include/tinycrypt/utils.h
rename to ext/lib/crypto/tinycrypt/include/tinycrypt/utils.h
diff --git a/lib/crypto/tinycrypt/source/aes_decrypt.c b/ext/lib/crypto/tinycrypt/source/aes_decrypt.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/aes_decrypt.c
rename to ext/lib/crypto/tinycrypt/source/aes_decrypt.c
diff --git a/lib/crypto/tinycrypt/source/aes_encrypt.c b/ext/lib/crypto/tinycrypt/source/aes_encrypt.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/aes_encrypt.c
rename to ext/lib/crypto/tinycrypt/source/aes_encrypt.c
diff --git a/lib/crypto/tinycrypt/source/cbc_mode.c b/ext/lib/crypto/tinycrypt/source/cbc_mode.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/cbc_mode.c
rename to ext/lib/crypto/tinycrypt/source/cbc_mode.c
diff --git a/lib/crypto/tinycrypt/source/ccm_mode.c b/ext/lib/crypto/tinycrypt/source/ccm_mode.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/ccm_mode.c
rename to ext/lib/crypto/tinycrypt/source/ccm_mode.c
diff --git a/lib/crypto/tinycrypt/source/cmac_mode.c b/ext/lib/crypto/tinycrypt/source/cmac_mode.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/cmac_mode.c
rename to ext/lib/crypto/tinycrypt/source/cmac_mode.c
diff --git a/lib/crypto/tinycrypt/source/ctr_mode.c b/ext/lib/crypto/tinycrypt/source/ctr_mode.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/ctr_mode.c
rename to ext/lib/crypto/tinycrypt/source/ctr_mode.c
diff --git a/lib/crypto/tinycrypt/source/ecc.c b/ext/lib/crypto/tinycrypt/source/ecc.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/ecc.c
rename to ext/lib/crypto/tinycrypt/source/ecc.c
diff --git a/lib/crypto/tinycrypt/source/ecc_dh.c b/ext/lib/crypto/tinycrypt/source/ecc_dh.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/ecc_dh.c
rename to ext/lib/crypto/tinycrypt/source/ecc_dh.c
diff --git a/lib/crypto/tinycrypt/source/ecc_dsa.c b/ext/lib/crypto/tinycrypt/source/ecc_dsa.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/ecc_dsa.c
rename to ext/lib/crypto/tinycrypt/source/ecc_dsa.c
diff --git a/lib/crypto/tinycrypt/source/hmac.c b/ext/lib/crypto/tinycrypt/source/hmac.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/hmac.c
rename to ext/lib/crypto/tinycrypt/source/hmac.c
diff --git a/lib/crypto/tinycrypt/source/hmac_prng.c b/ext/lib/crypto/tinycrypt/source/hmac_prng.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/hmac_prng.c
rename to ext/lib/crypto/tinycrypt/source/hmac_prng.c
diff --git a/lib/crypto/tinycrypt/source/sha256.c b/ext/lib/crypto/tinycrypt/source/sha256.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/sha256.c
rename to ext/lib/crypto/tinycrypt/source/sha256.c
diff --git a/lib/crypto/tinycrypt/source/utils.c b/ext/lib/crypto/tinycrypt/source/utils.c
similarity index 100%
rename from lib/crypto/tinycrypt/source/utils.c
rename to ext/lib/crypto/tinycrypt/source/utils.c
diff --git a/lib/Kbuild b/lib/Kbuild
index 7245720..09d3058 100644
--- a/lib/Kbuild
+++ b/lib/Kbuild
@@ -1,2 +1 @@
 obj-y += libc/
-obj-y += crypto/
diff --git a/lib/Makefile b/lib/Makefile
index 9ac3561..49d51b0 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,8 +1,3 @@
-
-ifdef CONFIG_TINYCRYPT
-ZEPHYRINCLUDE += -I$(srctree)/lib/crypto/tinycrypt/include
-endif
-
 ifdef CONFIG_MINIMAL_LIBC
 ZEPHYRINCLUDE += -I$(srctree)/lib/libc/minimal/include
 endif
diff --git a/tests/crypto/test_aes/src/Makefile b/tests/crypto/test_aes/src/Makefile
index a3b575d..fc96cb4 100644
--- a/tests/crypto/test_aes/src/Makefile
+++ b/tests/crypto/test_aes/src/Makefile
@@ -1,2 +1,2 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
 obj-y = test_aes.o
diff --git a/tests/crypto/test_cbc/src/Makefile b/tests/crypto/test_cbc/src/Makefile
index 4345717..abb4177 100644
--- a/tests/crypto/test_cbc/src/Makefile
+++ b/tests/crypto/test_cbc/src/Makefile
@@ -1,2 +1,3 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_cbc_mode.o
diff --git a/tests/crypto/test_ccm_mode/src/Makefile b/tests/crypto/test_ccm_mode/src/Makefile
index 905a7c8..29ce724 100644
--- a/tests/crypto/test_ccm_mode/src/Makefile
+++ b/tests/crypto/test_ccm_mode/src/Makefile
@@ -1,2 +1,3 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_ccm_mode.o
diff --git a/tests/crypto/test_cmac_mode/src/Makefile b/tests/crypto/test_cmac_mode/src/Makefile
index 185a49f..6705fbc 100644
--- a/tests/crypto/test_cmac_mode/src/Makefile
+++ b/tests/crypto/test_cmac_mode/src/Makefile
@@ -1,2 +1,3 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_cmac_mode.o
diff --git a/tests/crypto/test_ctr/src/Makefile b/tests/crypto/test_ctr/src/Makefile
index df74a95..cd6d3a6 100644
--- a/tests/crypto/test_ctr/src/Makefile
+++ b/tests/crypto/test_ctr/src/Makefile
@@ -1,2 +1,2 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
 obj-y = test_ctr_mode.o
diff --git a/tests/crypto/test_hmac/src/Makefile b/tests/crypto/test_hmac/src/Makefile
index 650e860..59ae8f8 100644
--- a/tests/crypto/test_hmac/src/Makefile
+++ b/tests/crypto/test_hmac/src/Makefile
@@ -1,2 +1,3 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_hmac.o
diff --git a/tests/crypto/test_prng/src/Makefile b/tests/crypto/test_prng/src/Makefile
index 58fe4c6..eccaf9d 100644
--- a/tests/crypto/test_prng/src/Makefile
+++ b/tests/crypto/test_prng/src/Makefile
@@ -1,3 +1,4 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_hmac_prng.o
 
diff --git a/tests/crypto/test_sha256/src/Makefile b/tests/crypto/test_sha256/src/Makefile
index d6b94b0..7947d99 100644
--- a/tests/crypto/test_sha256/src/Makefile
+++ b/tests/crypto/test_sha256/src/Makefile
@@ -1,3 +1,4 @@
-ccflags-y += -I$(srctree)/tests/include -I$(srctree)/lib/crypto/tinycrypt/include
+ccflags-y += -I$(srctree)/tests/include
+
 obj-y = test_sha256.o