-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[On Tue, 7 Jan 2014, Jonas Gorski wrote:

On Tue, Jan 7, 2014 at 2:05 PM, Geert-Johan Riemer
<geertjo...@geertjohan.net> wrote:
I've added the depend statements as you said. This does work, but completely
removes the entry's instead of greying them out. Someone searching for
gccgo/libgo must now know it is required to enable gcc 4.7.x+ and eglibc
before gccgo/libgo appears. Isn't there a better way to do it?

Menuconfig does not know "grayed out", it only knows visible (all
dependencies resolved and user exposed) or not. There is a command for
showing all options (even those with missing dependencies), but it is
far from obvious to find ('z' - I only know about it because I use
sometimes QWERTZ and sometimes QWERTY keyboards, so it sometimes
happens I hit 'z' when I wanted 'y' ;).

Ok. So I should just put some documentation online explaining how to enable Go in OpenWRT.

Also I would suggest depending on @!GCC_VERSION_4_6, so you don't need
to add 4.9 if it is released etc.

The !GCC_VERSION_4_6 is a good improvment, I've changed it.

I just read here (https://dev.openwrt.org/wiki/SubmittingPatches) that I shouldn't add the patch as attachment so here it is:

diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile
index 202e9d0..74a4e2c 100644
- --- a/package/libs/toolchain/Makefile
+++ b/package/libs/toolchain/Makefile
@@ -228,6 +228,35 @@ define Package/libgfortran/config
        endmenu
 endef

+
+define Package/libgo
+$(call Package/gcc/Default)
+  TITLE:=Go support library
+  DEPENDS+=@INSTALL_GCCGO
+  DEPENDS+=@USE_EGLIBC
+endef
+
+define Package/libgo/config
+       menu "Configuration"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo
+
+       config LIBGO_ROOT_DIR
+               string
+               prompt "libgo shared library base directory"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo
+               default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
+               default "/"  if NATIVE_TOOLCHAIN
+
+       config LIBGO_FILE_SPEC
+               string
+               prompt "libgo shared library files (use wildcards)"
+               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo
+               default "./usr/lib/libgo.so.*"
+
+       endmenu
+endef
+
+
 define Package/ldd
 $(call Package/libc/Default)
   DEPENDS:=@!USE_MUSL
@@ -372,11 +401,24 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
        $(if $(CONFIG_TARGET_avr32)$(CONFIG_TARGET_coldfire),,$(CP) 
$(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/)
   endef

+  define Package/libgo/install
+    $(INSTALL_DIR) $(1)/usr/lib
+    $(if $(CONFIG_TARGET_avr32)$(CONFIG_TARGET_coldfire),,$(CP) 
$(TOOLCHAIN_DIR)/lib/libgo.so.* $(1)/usr/lib/)
+  endef
+
   define Package/libssp/install
        $(INSTALL_DIR) $(1)/lib
        $(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/
   endef

+  define Package/libgo/install
+    for file in $(call qstrip,$(CONFIG_LIBGO_FILE_SPEC)); do \
+        dir=`dirname $$$$file` ; \
+        $(INSTALL_DIR) $(1)/$$$$dir ; \
+        $(CP) $(call qstrip,$(CONFIG_LIBGO_ROOT_DIR))/$$$$file $(1)/$$$$dir/ ; 
\
+    done
+  endef
+
   define Package/libstdcpp/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(TOOLCHAIN_DIR)/lib/libstdc++.so.* $(1)/usr/lib/
@@ -591,5 +633,6 @@ $(eval $(call BuildPackage,libpthread))
 $(eval $(call BuildPackage,libthread-db))
 $(eval $(call BuildPackage,librt))
 $(eval $(call BuildPackage,libgfortran))
+$(eval $(call BuildPackage,libgo))
 $(eval $(call BuildPackage,ldd))
 $(eval $(call BuildPackage,ldconfig))
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in
index 737164a..bf63018 100644
- --- a/toolchain/gcc/Config.in
+++ b/toolchain/gcc/Config.in
@@ -73,3 +73,10 @@ config INSTALL_GFORTRAN
        default n
        help
            Build/install GNU fortran compiler ?
+
+config INSTALL_GCCGO
+       bool
+       prompt "Build/install gccgo compiler?" if TOOLCHAINOPTS && 
!(GCC_VERSION_4_6 || GCC_VERSION_4_6_LINARO)
+       default n
+       help
+           Build/install GNU gccgo compiler ?
\ No newline at end of file
diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk
index ebfcfc1..c7b04c6 100644
- --- a/toolchain/gcc/common.mk
+++ b/toolchain/gcc/common.mk
@@ -86,7 +86,7 @@ HOST_STAMP_CONFIGURED:=$(GCC_BUILD_DIR)/.configured
 HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed

 SEP:=,
- -TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if 
$(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)"
+TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if 
$(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)$(if $(CONFIG_INSTALL_GCCGO),$(SEP)go)"

 export libgcc_cv_fixed_point=no
 ifdef CONFIG_USE_UCLIBC


Best regards,
Geert-Johan Riemer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJSzA9JAAoJEIzWgJZJy3OFPGIQALlyVihR/rqF4PCgr4idQyqo
HSgLJkUPoAUx5gPeVCM4fQ77DhDRZo5wlJZnNXUwb5+VbQLVnZItkgJXmnuJp7Tj
ax9S8gtZ8KhBy52rA0/fDjXHbPCAlI6x8WzEbbRnxw2PCGszpxnanaV9H3pawSyY
zqL5AP+k40JeUT0niLPcA2Qt1vIh5fNMNLV3tH+9ip+gNGZN5o3OxSiFt55ApaZP
kh+iJgHhxzkEMkhjUOCDOWTrYPNk4BRExAfvkccz1PPEkz3rPWfuKNZGzZZOEn9R
BZNM0NVnqbMxp5jUD2FxZg0VH3KhkY6hfogNUUsQYtp145EVfNg272OAqHlvX7ge
v1ulIsvF835OSXXV15l0NkOhR7IR1U7LrPmE+mpSydWpiWn3vIZu51o6FDdhlScq
rAcTqOKh1PDZKhvcSqL2sYyzh6aAEYNjZEQJ/1aQGlkWTKLRuMkj8hbtOSFFn12B
PlAl+rz87le/odt1MeKjNeZBZPqO8bHcN6Co+2GfwoErkCdBziGJYwdolD/QG/uQ
1Rx/hQx0cTwf/1i7VitvHg/NEoCTXaFmvRlfQU8+6rMyP/FOzebXr8QGAMs7nA/7
6rNvcDM2bXTJe4EhOvTzQK5qSYdS47qEFngiEVuDPt0w89yEfYszWMC/TNts2Sop
K6RTMkBPWXJP44sAHHfN
=zNzu
-----END PGP SIGNATURE-----
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to