diff options
author | Rob Hughes <robert.hughes@arm.com> | 2019-12-20 17:43:16 +0000 |
---|---|---|
committer | Derek Lamberti <derek.lamberti@arm.com> | 2019-12-31 09:54:23 +0000 |
commit | ff3c426ffd799abd66e4280da559384d86702721 (patch) | |
tree | 9fbee031285d57ea32afc6e2d86a5aace9466a2b | |
parent | fc6bf05e536ee352a1b304c6acff36c6b9ea0ead (diff) | |
download | armnn-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.txt | 15 | ||||
-rw-r--r-- | cmake/GlobalConfig.cmake | 1 | ||||
-rw-r--r-- | src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp | 2 | ||||
-rw-r--r-- | src/armnnTfLiteParser/test/Schema.hpp | 6 | ||||
-rw-r--r-- | src/armnnTfLiteParser/test/Schema.s | 13 |
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: |