golang: Make golang-values.mk more readable
authorJeffery To <jeffery.to@gmail.com>
Tue, 7 Jan 2020 18:15:59 +0000 (02:15 +0800)
committerJeffery To <jeffery.to@gmail.com>
Wed, 8 Jan 2020 11:29:54 +0000 (19:29 +0800)
This replaces conditional functions with conditional directives to make
golang-values.mk more readable.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
lang/golang/golang-values.mk

index 02b10b1ed728d8fb82b9b9bfcbc0185e388cf4d0..873d71524621c02d57cd7265156fef776b789ca2 100644 (file)
@@ -119,6 +119,9 @@ unexport \
 unexport \
   GOEXPERIMENT
 
+
+# GOOS / GOARCH
+
 go_arch=$(subst \
   aarch64,arm64,$(subst \
   i386,386,$(subst \
@@ -135,28 +138,52 @@ GO_HOST_OS:=$(call tolower,$(HOST_OS))
 GO_HOST_ARCH:=$(call go_arch,$(subst \
   armv6l,arm,$(subst \
   armv7l,arm,$(subst \
-  i486,i386,$(subst \
-  i586,i386,$(subst \
-  i686,i386,$(HOST_ARCH)))))))
+  i686,i386,$(HOST_ARCH)))))
 GO_HOST_OS_ARCH:=$(GO_HOST_OS)_$(GO_HOST_ARCH)
 
-GO_HOST_TARGET_SAME:=$(if $(and $(findstring $(GO_OS_ARCH),$(GO_HOST_OS_ARCH)),$(findstring $(GO_HOST_OS_ARCH),$(GO_OS_ARCH))),1)
-GO_HOST_TARGET_DIFFERENT:=$(if $(GO_HOST_TARGET_SAME),,1)
-
-# ensure binaries can run on older CPUs
-GO_386:=387
+ifeq ($(GO_OS_ARCH),$(GO_HOST_OS_ARCH))
+  GO_HOST_TARGET_SAME:=1
+else
+  GO_HOST_TARGET_DIFFERENT:=1
+endif
 
-GO_ARM:=$(if $(CONFIG_arm_v7),7,$(if $(CONFIG_arm_v6),6,$(if $(findstring $(GO_ARCH),arm),5,)))
+ifeq ($(GO_ARCH),386)
+  # ensure binaries can run on older CPUs
+  GO_386:=387
+
+  # -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors
+  GO_CFLAGS_TO_REMOVE:=-fno-plt
+
+else ifeq ($(GO_ARCH),arm)
+  ifeq ($(CONFIG_arm_v7),y)
+    GO_ARM:=7
+  else ifeq ($(CONFIG_arm_v6),y)
+    GO_ARM:=6
+  else
+    GO_ARM:=5
+  endif
+
+else ifneq ($(filter $(GO_ARCH),mips mipsle),)
+  ifeq ($(CONFIG_HAS_FPU),y)
+    GO_MIPS:=hardfloat
+  else
+    GO_MIPS:=softfloat
+  endif
+
+  # -mips32r2: conflicts with -march=mips32 set by go
+  GO_CFLAGS_TO_REMOVE:=-mips32r2
+
+else ifneq ($(filter $(GO_ARCH),mips64 mips64le),)
+  ifeq ($(CONFIG_HAS_FPU),y)
+    GO_MIPS64:=hardfloat
+  else
+    GO_MIPS64:=softfloat
+  endif
 
-GO_MIPS:=$(if $(filter $(GO_ARCH),mips mipsle),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),)
+endif
 
-GO_MIPS64:=$(if $(filter $(GO_ARCH),mips64 mips64le),$(if $(CONFIG_HAS_FPU),hardfloat,softfloat),)
 
-# -fno-plt: causes "unexpected GOT reloc for non-dynamic symbol" errors
-# -mips32r2: conflicts with -march=mips32 set by go
-GO_CFLAGS_TO_REMOVE:=$(if \
-$(filter $(GO_ARCH),386),-fno-plt,$(if \
-$(filter $(GO_ARCH),mips mipsle),-mips32r2,))
+# Target Go
 
 GO_ARCH_DEPENDS:=@(aarch64||arm||i386||i686||mips||mips64||mips64el||mipsel||powerpc64||x86_64)