aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/toolchain.linux-gcc-aarch64.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/toolchain.linux-gcc-aarch64.cmake')
-rw-r--r--cmake/toolchain.linux-gcc-aarch64.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/cmake/toolchain.linux-gcc-aarch64.cmake b/cmake/toolchain.linux-gcc-aarch64.cmake
new file mode 100644
index 00000000..da43bad6
--- /dev/null
+++ b/cmake/toolchain.linux-gcc-aarch64.cmake
@@ -0,0 +1,23 @@
+# For normal gcc compilation, but use static-libgcc
+
+set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_VERSION 1)
+
+set(CMAKE_FIND_ROOT_PATH ${TARGET_PLATFORM_SYSROOT} ${TARGET_PLATFORM_USRROOT})
+
+if(NOT APPLE)
+ # -idirafter will be searched after implicit system-dir include '-I =/usr/include' from TARGET_PLATFORM_SYSROOT
+ set(CMAKE_C_FLAGS "-fpic -march=armv8-a -include ${PROJECT_SOURCE_DIR}/cmake/glibc-compat-symbols.h -idirafter /usr/include")
+ set(CMAKE_CXX_FLAGS "-fpic -march=armv8-a -include ${PROJECT_SOURCE_DIR}/cmake/glibc-compat-symbols.h -idirafter /usr/include")
+endif()
+
+set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c++ flags")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
+
+set(LINKER_FLAGS "-fpic -march=armv8-a -static-libgcc -static-libstdc++ -L${TARGET_PLATFORM_USRLIBS} -static-libgcc -static-libstdc++")
+message(STATUS "LINKER_FLAGS: ${LINKER_FLAGS}")
+
+set(CMAKE_SHARED_LINKER_FLAGS "${LINKER_FLAGS}" CACHE STRING "linker flags" FORCE)
+set(CMAKE_MODULE_LINKER_FLAGS "${LINKER_FLAGS}" CACHE STRING "linker flags" FORCE)
+set(CMAKE_EXE_LINKER_FLAGS "${LINKER_FLAGS}" CACHE STRING "linker flags" FORCE)
+