aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp1
-rw-r--r--arm_compute/core/Utils.h9
-rw-r--r--arm_compute/core/Version.h54
-rwxr-xr-xscripts/clang_tidy_rules.py2
-rw-r--r--src/core/Utils.cpp10
-rw-r--r--src/core/Version.cpp37
6 files changed, 95 insertions, 18 deletions
diff --git a/Android.bp b/Android.bp
index e7ad65187f..34f000dc5a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -401,6 +401,7 @@ cc_library_static {
"src/core/TensorInfo.cpp",
"src/core/Utils.cpp",
"src/core/Validate.cpp",
+ "src/core/Version.cpp",
"src/core/utils/helpers/fft.cpp",
"src/core/utils/helpers/tensor_transform.cpp",
"src/core/utils/io/FileHandler.cpp",
diff --git a/arm_compute/core/Utils.h b/arm_compute/core/Utils.h
index 22a1e7064d..7ab78be908 100644
--- a/arm_compute/core/Utils.h
+++ b/arm_compute/core/Utils.h
@@ -28,6 +28,7 @@
#include "arm_compute/core/PixelValue.h"
#include "arm_compute/core/Rounding.h"
#include "arm_compute/core/Types.h"
+#include "arm_compute/core/Version.h"
#include <algorithm>
#include <cstdint>
@@ -83,14 +84,6 @@ inline auto floor_to_multiple(S value, T divisor) -> decltype((value / divisor)
return (value / divisor) * divisor;
}
-/** Returns the arm_compute library build information
- *
- * Contains the version number and the build options used to build the library
- *
- * @return The arm_compute library build information
- */
-std::string build_information();
-
/** Load an entire file in memory
*
* @param[in] filename Name of the file to read.
diff --git a/arm_compute/core/Version.h b/arm_compute/core/Version.h
new file mode 100644
index 0000000000..f88258f393
--- /dev/null
+++ b/arm_compute/core/Version.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2020 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef ARM_COMPUTE_LIBRARY_VERSION_H
+#define ARM_COMPUTE_LIBRARY_VERSION_H
+
+#include <string>
+
+/* Macro utilities */
+#define STRINGIFY2(s) #s
+#define STRINGIFY(s) STRINGIFY2(s)
+
+/* Semantic versioning */
+#define ARM_COMPUTE_VERSION_MAJOR 18
+#define ARM_COMPUTE_VERSION_MINOR 0
+#define ARM_COMPUTE_VERSION_PATCH 0
+#define ARM_COMPUTE_VERSION_UNRELEASED 1
+
+#define ARM_COMPUTE_VERSION_STR \
+ STRINGIFY(ARM_COMPUTE_VERSION_MAJOR) \
+ "." STRINGIFY(ARM_COMPUTE_VERSION_MINOR) "." STRINGIFY(ARM_COMPUTE_VERSION_PATCH)
+
+namespace arm_compute
+{
+/** Returns the arm_compute library build information
+ *
+ * Contains the version number and the build options used to build the library
+ *
+ * @return The arm_compute library build information
+ */
+std::string build_information();
+} // namespace arm_compute
+
+#endif /* ARM_COMPUTE_LIBRARY_VERSION_H */
diff --git a/scripts/clang_tidy_rules.py b/scripts/clang_tidy_rules.py
index d251f29416..99bc5a63c8 100755
--- a/scripts/clang_tidy_rules.py
+++ b/scripts/clang_tidy_rules.py
@@ -49,7 +49,7 @@ def filter_clang_tidy_lines( lines ):
continue
if "error:" in line:
- if (("Utils.cpp" in line and "arm_compute_version.embed" in line and "file not found" in line) or
+ if (("Version.cpp" in line and "arm_compute_version.embed" in line and "file not found" in line) or
("arm_fp16.h" in line) or
("omp.h" in line) or
("cast from pointer to smaller type 'uintptr_t' (aka 'unsigned int') loses information" in line) or
diff --git a/src/core/Utils.cpp b/src/core/Utils.cpp
index 59dc3652fa..bca5a31914 100644
--- a/src/core/Utils.cpp
+++ b/src/core/Utils.cpp
@@ -35,15 +35,7 @@
#include <string>
using namespace arm_compute;
-#ifndef DOXYGEN_SKIP_THIS
-std::string arm_compute::build_information()
-{
- static const std::string information =
-#include "arm_compute_version.embed"
- ;
- return information;
-}
-#endif /* DOXYGEN_SKIP_THIS */
+
std::string arm_compute::read_file(const std::string &filename, bool binary)
{
std::string out;
diff --git a/src/core/Version.cpp b/src/core/Version.cpp
new file mode 100644
index 0000000000..fbbb6d8ebe
--- /dev/null
+++ b/src/core/Version.cpp
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2020 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#include "arm_compute/core/Version.h"
+
+namespace arm_compute
+{
+#ifndef DOXYGEN_SKIP_THIS
+std::string build_information()
+{
+ static const std::string information =
+#include "arm_compute_version.embed"
+ ;
+ return information;
+}
+#endif /* DOXYGEN_SKIP_THIS */
+} // namespace arm_compute