hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From 64aece48ee183544e8e0bdc5349941f4898d8466 Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Mon, 17 Sep 2018 15:32:19 +0800
Subject: [PATCH 1/3] Add support for arm/arm64
 
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
 makefile              | 20 ++++++++++++++++++++
 scripts/toolchain.lua |  9 +++++++++
 2 files changed, 29 insertions(+)
 
diff --git a/makefile b/makefile
index 148bba309d..7ae6203109 100644
--- a/makefile
+++ b/makefile
@@ -1295,8 +1295,18 @@ endif
 # gmake-linux
 #-------------------------------------------------
 
+ifeq ($(PLATFORM),arm)
+$(PROJECTDIR)/$(MAKETYPE)-linux/Makefile: makefile $(SCRIPTS) $(GENIE)
+    $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-arm --gcc_version=$(GCC_VERSION) $(MAKETYPE)
+else
+ifeq ($(PLATFORM),arm64)
+$(PROJECTDIR)/$(MAKETYPE)-linux/Makefile: makefile $(SCRIPTS) $(GENIE)
+    $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-arm64 --gcc_version=$(GCC_VERSION) $(MAKETYPE)
+else
 $(PROJECTDIR)/$(MAKETYPE)-linux/Makefile: makefile $(SCRIPTS) $(GENIE)
     $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-gcc --gcc_version=$(GCC_VERSION) $(MAKETYPE)
+endif
+endif
 
 .PHONY: linux_x64
 linux_x64: generate $(PROJECTDIR)/$(MAKETYPE)-linux/Makefile
@@ -1317,8 +1327,18 @@ linux: generate $(PROJECTDIR)/$(MAKETYPE)-linux/Makefile
 # gmake-linux-clang
 #-------------------------------------------------
 
+ifeq ($(PLATFORM),arm)
+$(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
+    $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-arm --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
+else
+ifeq ($(PLATFORM),arm64)
+$(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
+    $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-arm64 --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
+else
 $(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile: makefile $(SCRIPTS) $(GENIE)
     $(SILENT) $(GENIE) $(PARAMS) $(TARGET_PARAMS) --gcc=linux-clang --gcc_version=$(CLANG_VERSION) $(MAKETYPE)
+endif
+endif
 
 .PHONY: linux_x64_clang
 linux_x64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile
diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua
index d24db0349e..7fdcc5f748 100644
--- a/scripts/toolchain.lua
+++ b/scripts/toolchain.lua
@@ -26,6 +26,8 @@ newoption {
         { "freebsd-clang", "FreeBSD (clang compiler)"},
         { "linux-gcc",     "Linux (GCC compiler)"   },
         { "linux-clang",   "Linux (Clang compiler)" },
+        { "linux-arm",     "Linux - ARM"            },
+        { "linux-arm64",   "Linux - ARM64"          },
         { "ios-arm",       "iOS - ARM"              },
         { "ios-simulator", "iOS - Simulator"        },
         { "mingw32-gcc",   "MinGW32"                },
@@ -200,6 +202,13 @@ function toolchain(_buildDir, _subDir)
             location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ios-simulator")
         end
 
+        if "linux-arm*" ~= _OPTIONS["gcc"] then
+            premake.gcc.cc  = toolchainPrefix .. "gcc"
+            premake.gcc.cxx = toolchainPrefix .. "g++"
+            premake.gcc.ar = toolchainPrefix .. "ar"
+            location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-linux")
+        end
+
         if "linux-gcc" == _OPTIONS["gcc"] then
             -- Force gcc-4.2 on ubuntu-intrepid
             if _OPTIONS["distro"]=="ubuntu-intrepid" then
-- 
2.11.0