From cd487496b5b0ca5f8f089f70b2b80cb5d9d63983 Mon Sep 17 00:00:00 2001
From: Michael Hamburg <mike@shiftleft.org>
Date: Sun, 24 Feb 2019 22:04:11 -0800
Subject: [PATCH] Revert "Add includes to build interface of decaf libs"

This reverts commit 540d9b8158d3cf42a04b4cdf455f1e6d16eaf4de.

The commit appears to break the build
---
 CMakeLists.txt                               |  7 +++++++
 src/CMakeLists.txt                           | 14 ++++++--------
 src/curve25519/CMakeLists.txt                | 10 ++++++++--
 src/ed448goldilocks/CMakeLists.txt           | 10 ++++++++--
 src/generator/curve25519/CMakeLists.txt      |  6 +++++-
 src/generator/ed448goldilocks/CMakeLists.txt |  6 +++++-
 src/p25519/CMakeLists.txt                    | 13 ++++++-------
 src/p448/CMakeLists.txt                      | 13 ++++++-------
 8 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f5ceac..cb1bbba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,13 @@ include(GNUInstallDirs)
 include(CheckSymbolExists)
 include(CMakePushCheckState)
 
+include_directories(
+	${GSOURCE_PATH}/include/
+	src/include/
+	src/
+	${CMAKE_CURRENT_BINARY_DIR}
+)
+
 set(STRICT_OPTIONS_CPP )
 set(STRICT_OPTIONS_C )
 set(STRICT_OPTIONS_CXX )
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0f332cb..0294fc6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -61,6 +61,10 @@ else() # nothing picked yet, stick to the
 	message("Target architecture is general purpose 32bits")
 endif()
 
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/include/${TARGET_ARCH_DIR}
+)
+
 set(DECAF_SOURCE_FILES_CXX
 )
 
@@ -75,10 +79,7 @@ if(ENABLE_STATIC)
 	add_library(decaf-static STATIC ${DECAF_HEADER_FILES} ${DECAF_SOURCE_FILES_C} ${DECAF_SOURCE_FILES_CXX} $<TARGET_OBJECTS:p25519> $<TARGET_OBJECTS:p448> $<TARGET_OBJECTS:CURVE25519> $<TARGET_OBJECTS:CURVE448>)
 	add_dependencies(decaf-static generatedCode)
 	set_target_properties(decaf-static PROPERTIES OUTPUT_NAME decaf)
-	target_include_directories(decaf-static
-        PUBLIC $<BUILD_INTERFACE:${GSOURCE_PATH}/include>
-        PRIVATE ${PROJECT_SOURCE_DIR}/src/include
-    )
+	target_include_directories(decaf-static PUBLIC)
 	target_link_libraries(decaf-static INTERFACE)
 endif()
 if(ENABLE_SHARED)
@@ -88,10 +89,7 @@ if(ENABLE_SHARED)
 		set_target_properties(decaf PROPERTIES LINK_FLAGS "-stdlib=libc++")
 	endif()
 	set_target_properties(decaf PROPERTIES VERSION ${DECAF_SO_VERSION})
-	target_include_directories(decaf
-        PUBLIC $<BUILD_INTERFACE:${GSOURCE_PATH}/include>
-        PRIVATE ${PROJECT_SOURCE_DIR}/src/include
-    )
+	target_include_directories(decaf PUBLIC)
 	target_link_libraries(decaf PRIVATE)
 	if(MSVC)
 		if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
diff --git a/src/curve25519/CMakeLists.txt b/src/curve25519/CMakeLists.txt
index 9374405..766736f 100644
--- a/src/curve25519/CMakeLists.txt
+++ b/src/curve25519/CMakeLists.txt
@@ -4,6 +4,13 @@
 #    Released under the MIT License.  See LICENSE.txt for license information.
 #
 ############################################################################
+
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p25519
+	${GSOURCE_PATH}/c/p25519
+	${PROJECT_SOURCE_DIR}/src/p25519/${TARGET_ARCH_DIR_P25519}
+)
+
 set(CURVE25519_SOURCE_FILES_C
 	${GSOURCE_PATH}/c/curve25519/decaf.c
 	${GSOURCE_PATH}/c/curve25519/elligator.c
@@ -19,6 +26,5 @@ SET_SOURCE_FILES_PROPERTIES(${GSOURCE_PATH}/c/curve25519/eddsa.c PROPERTIES GENE
 SET_SOURCE_FILES_PROPERTIES(${PROJECT_SOURCE_DIR}/src/curve25519/decaf_tables.c PROPERTIES GENERATED 1)
 
 add_library(CURVE25519 OBJECT ${CURVE25519_SOURCE_FILES_C})
-add_dependencies(CURVE25519 generatedCode)
-target_link_libraries(CURVE25519 PRIVATE p25519)
+add_dependencies(CURVE25519 generatedCode p25519)
 set_target_properties(CURVE25519 PROPERTIES POSITION_INDEPENDENT_CODE True)
diff --git a/src/ed448goldilocks/CMakeLists.txt b/src/ed448goldilocks/CMakeLists.txt
index 53ff7c3..3b93205 100644
--- a/src/ed448goldilocks/CMakeLists.txt
+++ b/src/ed448goldilocks/CMakeLists.txt
@@ -4,6 +4,13 @@
 #    Released under the MIT License.  See LICENSE.txt for license information.
 #
 ############################################################################
+
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p448
+	${GSOURCE_PATH}/c/p448
+	${PROJECT_SOURCE_DIR}/src/p448/${TARGET_ARCH_DIR_P448}
+)
+
 set(CURVE448_SOURCE_FILES_C
 	${GSOURCE_PATH}/c/ed448goldilocks/decaf.c
 	${GSOURCE_PATH}/c/ed448goldilocks/elligator.c
@@ -19,6 +26,5 @@ SET_SOURCE_FILES_PROPERTIES(${GSOURCE_PATH}/c/ed448goldilocks/eddsa.c PROPERTIES
 SET_SOURCE_FILES_PROPERTIES(${PROJECT_SOURCE_DIR}/src/ed448goldilocks/decaf_tables.c PROPERTIES GENERATED 1)
 
 add_library(CURVE448 OBJECT ${CURVE448_SOURCE_FILES_C})
-add_dependencies(CURVE448 generatedCode)
-target_link_libraries(CURVE448 PRIVATE p448)
+add_dependencies(CURVE448 generatedCode p448)
 set_target_properties(CURVE448 PROPERTIES POSITION_INDEPENDENT_CODE True)
diff --git a/src/generator/curve25519/CMakeLists.txt b/src/generator/curve25519/CMakeLists.txt
index 2349b63..0edb165 100644
--- a/src/generator/curve25519/CMakeLists.txt
+++ b/src/generator/curve25519/CMakeLists.txt
@@ -84,13 +84,17 @@ add_custom_target(generatorCurve25519 DEPENDS
 			${GSOURCE_PATH}/include/decaf/point_255.hxx
 			${GSOURCE_PATH}/include/decaf/ed255.hxx
 			)
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p25519
+	${GSOURCE_PATH}/c/p25519
+	${PROJECT_SOURCE_DIR}/src/p25519/${TARGET_ARCH_DIR_P25519}
+)
 
 add_executable(decaf_gen_tables_curve25519 EXCLUDE_FROM_ALL ${GSOURCE_PATH}/c/curve25519/decaf_gen_tables.c
        			${GSOURCE_PATH}/c/curve25519/decaf.c
 			${GSOURCE_PATH}/c/curve25519/scalar.c
 			${PROJECT_SOURCE_DIR}/src/utils.c
 			$<TARGET_OBJECTS:p25519>)
-target_link_libraries(decaf_gen_tables_curve25519 PRIVATE p25519)
 
 add_custom_target(decaf_tables_curve25519
 	COMMAND decaf_gen_tables_curve25519 > ${PROJECT_SOURCE_DIR}/src/curve25519/decaf_tables.c
diff --git a/src/generator/ed448goldilocks/CMakeLists.txt b/src/generator/ed448goldilocks/CMakeLists.txt
index 5c4b4b8..1e31ee9 100644
--- a/src/generator/ed448goldilocks/CMakeLists.txt
+++ b/src/generator/ed448goldilocks/CMakeLists.txt
@@ -92,13 +92,17 @@ add_custom_target(generatorEd448goldilocks DEPENDS
 			${GSOURCE_PATH}/include/decaf/point_448.hxx
 			${GSOURCE_PATH}/include/decaf/ed448.hxx
 			)
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p448
+	${GSOURCE_PATH}/c/p448
+	${PROJECT_SOURCE_DIR}/src/p448/${TARGET_ARCH_DIR_P448}
+)
 
 add_executable(decaf_gen_tables_ed448goldilocks EXCLUDE_FROM_ALL ${GSOURCE_PATH}/c/ed448goldilocks/decaf_gen_tables.c
        			${GSOURCE_PATH}/c/ed448goldilocks/decaf.c
 			${GSOURCE_PATH}/c/ed448goldilocks/scalar.c
 			${PROJECT_SOURCE_DIR}/src/utils.c
 			$<TARGET_OBJECTS:p448>)
-target_link_libraries(decaf_gen_tables_ed448goldilocks PRIVATE p448)
 
 add_custom_target(decaf_tables_ed448goldilocks
 	COMMAND decaf_gen_tables_ed448goldilocks > ${PROJECT_SOURCE_DIR}/src/ed448goldilocks/decaf_tables.c
diff --git a/src/p25519/CMakeLists.txt b/src/p25519/CMakeLists.txt
index efd12ec..c6153fc 100644
--- a/src/p25519/CMakeLists.txt
+++ b/src/p25519/CMakeLists.txt
@@ -4,6 +4,12 @@
 #    Released under the MIT License.  See LICENSE.txt for license information.
 #
 ############################################################################
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p25519
+	${GSOURCE_PATH}/c/p25519
+	${PROJECT_SOURCE_DIR}/src/p25519/${TARGET_ARCH_DIR_P25519}
+)
+
 set(P25519_HEADER_FILES
 	${GSOURCE_PATH}/c/p25519/f_field.h
 	${TARGET_ARCH_DIR_P25519}/f_impl.h
@@ -19,12 +25,5 @@ SET_SOURCE_FILES_PROPERTIES(${GSOURCE_PATH}/c/p25519/f_generic.c PROPERTIES GENE
 
 add_library(p25519 OBJECT ${P25519_HEADER_FILES} ${P25519_SOURCE_FILES_C})
 add_dependencies(p25519 generatorP25519)
-target_include_directories(p25519
-    PUBLIC ${GSOURCE_PATH}/include
-    PUBLIC ${GSOURCE_PATH}/c/p25519
-    PUBLIC ${TARGET_ARCH_DIR_P25519}
-    PUBLIC ${PROJECT_SOURCE_DIR}/src/include/${TARGET_ARCH_DIR}
-    PUBLIC ${PROJECT_SOURCE_DIR}/src/include
-)
 
 set_target_properties(p25519 PROPERTIES POSITION_INDEPENDENT_CODE True)
diff --git a/src/p448/CMakeLists.txt b/src/p448/CMakeLists.txt
index 2794b4b..c9eef94 100644
--- a/src/p448/CMakeLists.txt
+++ b/src/p448/CMakeLists.txt
@@ -4,6 +4,12 @@
 #    Released under the MIT License.  See LICENSE.txt for license information.
 #
 ############################################################################
+include_directories(
+	${PROJECT_SOURCE_DIR}/src/p448
+	${GSOURCE_PATH}/c/p448
+	${PROJECT_SOURCE_DIR}/src/p448/${TARGET_ARCH_DIR_P448}
+)
+
 set(P448_HEADER_FILES
 	${GSOURCE_PATH}/c/p448/f_field.h
 	${TARGET_ARCH_DIR_P448}/f_impl.h
@@ -19,12 +25,5 @@ SET_SOURCE_FILES_PROPERTIES(${GSOURCE_PATH}/c/p448/f_generic.c PROPERTIES GENERA
 
 add_library(p448 OBJECT ${P448_HEADER_FILES} ${P448_SOURCE_FILES_C})
 add_dependencies(p448 generatorP448)
-target_include_directories(p448
-    PUBLIC ${GSOURCE_PATH}/include
-    PUBLIC ${GSOURCE_PATH}/c/p448
-    PUBLIC ${TARGET_ARCH_DIR_P448}
-    PUBLIC ${PROJECT_SOURCE_DIR}/src/include/${TARGET_ARCH_DIR}
-    PUBLIC ${PROJECT_SOURCE_DIR}/src/include
-)
 
 set_target_properties(p448 PROPERTIES POSITION_INDEPENDENT_CODE True)