aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Hughes <robert.hughes@arm.com>2019-12-20 17:43:16 +0000
committerDerek Lamberti <derek.lamberti@arm.com>2019-12-31 09:54:23 +0000
commitff3c426ffd799abd66e4280da559384d86702721 (patch)
tree9fbee031285d57ea32afc6e2d86a5aace9466a2b
parentfc6bf05e536ee352a1b304c6acff36c6b9ea0ead (diff)
downloadarmnn-ff3c426ffd799abd66e4280da559384d86702721.tar.gz
Replace Schema.s with generated .cpp file
This removes the dependency on an assembler (which must support .incbin). Instead we use xxd as a custom build command to generate a .cpp file which is included in the build. This makes it possible to build on Windows, for which you need cp.exe (from GNU Core Utils) and xxd.exe (from Vim). Change-Id: I3a929640b1fdbfc27e2c38abd05bf3a298245ba5 Signed-off-by: Robert Hughes <robert.hughes@arm.com>
-rw-r--r--CMakeLists.txt15
-rw-r--r--cmake/GlobalConfig.cmake1
-rw-r--r--src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp2
-rw-r--r--src/armnnTfLiteParser/test/Schema.hpp6
-rw-r--r--src/armnnTfLiteParser/test/Schema.s13
5 files changed, 14 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7af6a94760..d0f3d7aebe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -696,7 +696,6 @@ if(BUILD_UNIT_TESTS)
endif()
if(BUILD_TF_LITE_PARSER AND ARMNNREF)
- enable_language(ASM)
list(APPEND unittest_sources
src/armnnTfLiteParser/test/Activations.cpp
src/armnnTfLiteParser/test/Addition.cpp
@@ -738,10 +737,18 @@ if(BUILD_UNIT_TESTS)
src/armnnTfLiteParser/test/GetTensorIds.cpp
src/armnnTfLiteParser/test/GetSubgraphInputsOutputs.cpp
src/armnnTfLiteParser/test/GetInputsOutputs.cpp
- src/armnnTfLiteParser/test/Schema.s
)
- set_source_files_properties(src/armnnTfLiteParser/test/Schema.s PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp")
-
+
+ # Generate SchemaText.cpp file which contains the TfLite schema text as a
+ # static C-array of bytes. This is needed at runtime for TfLite parser tests.
+ add_custom_command(
+ OUTPUT SchemaText.cpp
+ COMMAND cp ${TF_LITE_SCHEMA_INCLUDE_PATH}/schema.fbs g_TfLiteSchemaText
+ COMMAND xxd -i g_TfLiteSchemaText SchemaText.cpp
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ DEPENDS ${TF_LITE_SCHEMA_INCLUDE_PATH}/schema.fbs
+ )
+ list(APPEND unittest_sources ${CMAKE_CURRENT_BINARY_DIR}/SchemaText.cpp)
endif()
if(BUILD_CAFFE_PARSER AND ARMNNREF)
diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
index e8b57d7526..4a2c026f1b 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -201,7 +201,6 @@ if(BUILD_TF_LITE_PARSER)
message(STATUS "Tf Lite generated header found at: ${TF_LITE_SCHEMA_INCLUDE_PATH}")
add_definitions(-DARMNN_TF_LITE_PARSER)
- add_definitions(-DARMNN_TF_LITE_SCHEMA_PATH="${TF_LITE_SCHEMA_INCLUDE_PATH}/schema.fbs")
endif()
if(BUILD_ARMNN_SERIALIZER)
diff --git a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
index acca01b14a..797e11e403 100644
--- a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
+++ b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
@@ -101,7 +101,7 @@ struct ParserFlatbuffersFixture
bool ReadStringToBinary()
{
- std::string schemafile(&tflite_schema_start, &tflite_schema_end);
+ std::string schemafile(g_TfLiteSchemaText, g_TfLiteSchemaText + g_TfLiteSchemaText_len);
// parse schema first, so we can use it to parse the data after
flatbuffers::Parser parser;
diff --git a/src/armnnTfLiteParser/test/Schema.hpp b/src/armnnTfLiteParser/test/Schema.hpp
index 49ecc0e4a4..243811553f 100644
--- a/src/armnnTfLiteParser/test/Schema.hpp
+++ b/src/armnnTfLiteParser/test/Schema.hpp
@@ -3,7 +3,5 @@
// SPDX-License-Identifier: MIT
//
-extern "C" {
-extern const char tflite_schema_start;
-extern const char tflite_schema_end;
-}
+extern unsigned char g_TfLiteSchemaText[];
+extern unsigned int g_TfLiteSchemaText_len;
diff --git a/src/armnnTfLiteParser/test/Schema.s b/src/armnnTfLiteParser/test/Schema.s
deleted file mode 100644
index 6e1959b8c3..0000000000
--- a/src/armnnTfLiteParser/test/Schema.s
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-.section .rodata
-
-.global tflite_schema_start
-.global tflite_schema_end
-
-tflite_schema_start:
-.incbin ARMNN_TF_LITE_SCHEMA_PATH
-tflite_schema_end: