diff options
-rw-r--r-- | package/libgo/Makefile | 33 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 8 | ||||
-rw-r--r-- | toolchain/gcc/patches/6.2.0/go-libgcc.patch | 12 |
3 files changed, 46 insertions, 7 deletions
diff --git a/package/libgo/Makefile b/package/libgo/Makefile new file mode 100644 index 000000000..3acab0f31 --- /dev/null +++ b/package/libgo/Makefile @@ -0,0 +1,33 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${ADK_TOPDIR}/rules.mk +include ${ADK_TOPDIR}/toolchain/gcc/Makefile.inc + +PKG_NAME:= libgo +PKG_DESCR:= gcc go library +PKG_SECTION:= base/libs +PKG_DEPENDS:= libpthread +PKG_OPTS:= noremove + +PKG_DFLT_LIBGCC:= y if !ADK_APPLIANCE_TOOLCHAIN + +NO_DISTFILES:= 1 + +include ${ADK_TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,LIBGO,libgo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +libgo-install: + $(INSTALL_DIR) ${IDIR_LIBGO}/$(ADK_TARGET_LIBC_PATH) +ifeq ($(ADK_TARGET_USE_STATIC_LIBS),) +ifeq ($(ADK_TARGET_BINFMT_FLAT),) + ${CP} ${STAGING_TARGET_DIR}/usr/lib/libgo*.so* ${IDIR_LIBGO}/$(ADK_TARGET_LIBC_PATH) +endif +endif + +include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index a9d17dde1..1561b7710 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -21,11 +21,6 @@ TARGET_CFLAGS:= $(filter-out -msep-data,$(TARGET_CFLAGS)) TARGET_CXXFLAGS:= $(filter-out -msep-data,$(TARGET_CXXFLAGS)) endif -ifeq ($(ADK_TOOLCHAIN_WITH_GO),y) -TARGET_CFLAGS+= -lpthread -lrt -TARGET_CXXFLAGS+= -lpthread -lrt -endif - GCC_CONFOPTS:= --prefix=$(TOOLCHAIN_DIR)/usr \ --with-bugurl="http://www.openadk.org/" \ --build=$(GNU_HOST_NAME) \ @@ -76,8 +71,7 @@ endif ifeq ($(ADK_TARGET_BINFMT_FLAT)$(ADK_TARGET_USE_STATIC_LIBS)$(ADK_TARGET_BINFMT_DSBT),y) GCC_FINAL_CONFOPTS+= --disable-shared else -# uClibc/glibc uses libgcc_s.so.1 for pthread_cancel with dlopen -GCC_FINAL_CONFOPTS+= --enable-shared='libstdc++,libgcc' --enable-cxx-flags='-fPIC' +GCC_FINAL_CONFOPTS+= --enable-shared --enable-cxx-flags='-fPIC' endif ifeq ($(ADK_TOOLCHAIN_WITH_SSP),y) diff --git a/toolchain/gcc/patches/6.2.0/go-libgcc.patch b/toolchain/gcc/patches/6.2.0/go-libgcc.patch new file mode 100644 index 000000000..391306974 --- /dev/null +++ b/toolchain/gcc/patches/6.2.0/go-libgcc.patch @@ -0,0 +1,12 @@ +diff -Nur gcc-6.2.0.orig/gotools/Makefile.in gcc-6.2.0/gotools/Makefile.in +--- gcc-6.2.0.orig/gotools/Makefile.in 2016-02-03 22:58:02.000000000 +0100 ++++ gcc-6.2.0/gotools/Makefile.in 2016-09-04 09:29:15.582198715 +0200 +@@ -259,7 +259,7 @@ + @NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) + GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS) + AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs +-GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@ ++GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) -lgcc_s $(AM_LDFLAGS) -o $@ + cmdsrcdir = $(srcdir)/../libgo/go/cmd + go_cmd_go_files = \ + $(cmdsrcdir)/go/alldocs.go \ |