From 108dbac584a1ffc505dc2d02d95ebb2c5e3ddaf7 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Sat, 8 Feb 2014 14:50:14 +0100
Subject: fix musl compile

---
 package/squeezelite/Makefile                    |  3 ++-
 package/squeezelite/patches/patch-output_alsa_c | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)
 create mode 100644 package/squeezelite/patches/patch-output_alsa_c

diff --git a/package/squeezelite/Makefile b/package/squeezelite/Makefile
index f200cfee4..aee2b2b70 100644
--- a/package/squeezelite/Makefile
+++ b/package/squeezelite/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		squeezelite
 PKG_VERSION:=		1.5
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		7605af4d64291495645f88575a564475
 PKG_DESCR:=		headless squeezebox emulator
 PKG_SECTION:=		multimedia
@@ -22,6 +22,7 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,SQUEEZELITE,squeezelite,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+TARGET_CPPFLAGS+=       -D_GNU_SOURCE -D_POSIX_SOURCE
 CONFIG_STYLE:=		manual
 INSTALL_STYLE:=		manual
 
diff --git a/package/squeezelite/patches/patch-output_alsa_c b/package/squeezelite/patches/patch-output_alsa_c
new file mode 100644
index 000000000..7a3e8f836
--- /dev/null
+++ b/package/squeezelite/patches/patch-output_alsa_c
@@ -0,0 +1,13 @@
+--- squeezelite-1.5.orig/output_alsa.c	2014-01-24 11:24:16.000000000 +0100
++++ squeezelite-1.5/output_alsa.c	2014-02-08 13:36:12.000000000 +0100
+@@ -670,8 +670,10 @@ void output_init_alsa(log_level level, c
+ 		LOG_INFO("memory locked");
+ 	}
+ 
++#if defined(__GLIBC__)
+    	mallopt(M_TRIM_THRESHOLD, -1);
+    	mallopt(M_MMAP_MAX, 0);
++#endif
+ 
+ 	touch_memory(silencebuf, MAX_SILENCE_FRAMES * BYTES_PER_FRAME);
+ 	touch_memory(outputbuf->buf, outputbuf->size);
-- 
cgit v1.2.3


From 4e93572589af66eee723efafa3939f6c5e0dd7cc Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Sun, 9 Feb 2014 11:52:08 +0100
Subject: fix openjdk7 toolchain workaround, add symlinks to reduce size of
 toolchains

---
 TODO                              |  5 ++++-
 package/libstdcxx/Makefile        | 11 +----------
 package/openjdk7/Makefile         |  2 +-
 toolchain/gcc/Makefile            | 20 ++++++++++++++------
 toolchain/kernel-headers/Makefile |  2 ++
 5 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/TODO b/TODO
index a902a948b..eb515890b 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,9 @@
+- cleanup toolchain building, add toolchain archiv creation target
+- update uclibc to git
+- update gcc to 4.8.2
+- port opkg with gpg signing
 - add grsec kernel patch
 - microblaze: add cfgfs partition to dts, add partition to spartan dts
-- use host-tools infrastructure for openjdk7
 - evaluate libguestfs for image creation
 - check for gcc and SSP again
 - port w3m
diff --git a/package/libstdcxx/Makefile b/package/libstdcxx/Makefile
index 5c6cc2b2f..7910af6b7 100644
--- a/package/libstdcxx/Makefile
+++ b/package/libstdcxx/Makefile
@@ -16,12 +16,6 @@ endif
 endif
 endif
 
-ifeq ($(ADK_LINUX_MICROBLAZE),y)
-LIBSTDCXX_VER:=		18
-else
-LIBSTDCXX_VER:=		17
-endif
-
 PKG_NAME:=		libstdcxx
 PKG_DESCR:=		C++ support library
 PKG_SECTION:=		libs
@@ -41,10 +35,7 @@ do-install:
 ifeq ($(ADK_NATIVE),y)
 	$(CP) /usr/lib/libstdc++.so* ${IDIR_LIBSTDCXX}/usr/lib
 else
-	(cd ${IDIR_LIBSTDCXX}/usr/${ADK_TARGET_LIBC_PATH}; ln -sf libstdc++.so.6.0.${LIBSTDCXX_VER} libstdc++.so.6)
-	(cd ${IDIR_LIBSTDCXX}/usr/${ADK_TARGET_LIBC_PATH}; ln -sf libstdc++.so.6.0.${LIBSTDCXX_VER} libstdc++.so)
-	(cd ${STAGING_TARGET_DIR}/${ADK_TARGET_LIBC_PATH}/; ln -sf libstdc++.so.6.0.${LIBSTDCXX_VER} libstdc++.so)
-	$(CP) ${STAGING_TARGET_DIR}/${ADK_TARGET_LIBC_PATH}/libstdc++.so.6.0.${LIBSTDCXX_VER} ${IDIR_LIBSTDCXX}/usr/${ADK_TARGET_LIBC_PATH}
+	$(CP) ${STAGING_TARGET_DIR}/${ADK_TARGET_LIBC_PATH}/libstdc++.so* ${IDIR_LIBSTDCXX}/usr/${ADK_TARGET_LIBC_PATH}
 	-@rm ${IDIR_LIBSTDCXX}/usr/${ADK_TARGET_LIBC_PATH}/libstdc++.so.*-gdb.py
 endif
 
diff --git a/package/openjdk7/Makefile b/package/openjdk7/Makefile
index d96e9ad53..b2371bb97 100644
--- a/package/openjdk7/Makefile
+++ b/package/openjdk7/Makefile
@@ -83,7 +83,7 @@ CONFIGURE_ARGS+=	$(CONFIGURE_COMMON)
 CONFIGURE_ARGS+=	--disable-bootstrap
 
 CONFIGURE_ENV+=		LD_LIBRARY_PATH=$(STAGING_HOST_DIR)/usr/lib
-MAKE_ENV+=		ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
+MAKE_ENV+=		ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/bin \
 			ALT_OPENWIN_HOME=$(STAGING_DIR)/usr/ \
 			ALT_CUPS_HEADERS_PATH=$(STAGING_DIR)/usr/include/ \
 			ALT_FREETYPE_HEADERS_PATH=$(STAGING_DIR)/usr/include/ \
diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile
index 6328585da..951684443 100644
--- a/toolchain/gcc/Makefile
+++ b/toolchain/gcc/Makefile
@@ -9,6 +9,7 @@ TARGET_CFLAGS:=	$(filter-out -fstack-protector,$(TARGET_CFLAGS))
 include Makefile.inc
 
 GCC_CONFOPTS=		--prefix=$(STAGING_HOST_DIR) \
+			--with-bugurl="http://www.openadk.org/" \
 			--build=$(GNU_HOST_NAME) \
 			--host=$(GNU_HOST_NAME) \
 			--target=$(REAL_GNU_TARGET_NAME) \
@@ -118,7 +119,6 @@ endif
 			${GCC_CONFOPTS} \
 			--enable-languages=c \
 			--disable-shared \
-			--with-newlib \
 			--without-headers
 	touch $@
 
@@ -166,9 +166,7 @@ $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured
 
 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
 	PATH='$(TARGET_PATH)' $(MAKE) -C $(GCC_BUILD_DIR_FINAL) install
-	# workaround if you cross-compile binutils
-	@-rm $(STAGING_TARGET_DIR)/lib/libiberty.a $(STAGING_TARGET_DIR)/usr/lib/libiberty.a
-	# Set up the symlinks to enable lying about target name.
+	# Set up the symlinks to enable lying about target name
 	set -e; \
 	cd $(STAGING_HOST_DIR); \
 		ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
@@ -177,8 +175,18 @@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
 			ln -sf $${app} \
 				$(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
 		done;
-	# workaround for openjdk
-	cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/bin ; cp * ..
+	# remove duplicate tools
+	set -e; \
+	cd $(STAGING_HOST_DIR)/bin; \
+		for app in $(REAL_GNU_TARGET_NAME)-* ; do \
+			ln -sf ../$(REAL_GNU_TARGET_NAME)/bin/$${app##$(REAL_GNU_TARGET_NAME)-} $${app}; \
+		done;
+	# setup symlink, so that gcc/g++ find cc1plus
+	(cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/ && \
+		ln -sf ../libexec .)
+	# setup symlink, so that gcc/g++ find stddef.h
+	(cd $(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/lib/ && \
+		ln -sf ../../host_${CPU_ARCH}_${ADK_TARGET_SUFFIX}_${ADK_TARGET_LIBC}/lib/gcc .)
 	# fix linking g++ apps with libtool
 	@-test -d $(STAGING_TARGET_DIR)/lib32 && \
 		cd $(STAGING_TARGET_DIR)/lib32 && \
diff --git a/toolchain/kernel-headers/Makefile b/toolchain/kernel-headers/Makefile
index 2e5971f19..faa75336f 100644
--- a/toolchain/kernel-headers/Makefile
+++ b/toolchain/kernel-headers/Makefile
@@ -7,6 +7,8 @@ include $(TOPDIR)/mk/linux.mk
 include ${TOPDIR}/mk/buildhlp.mk
 
 $(WRKBUILD)/.headers:
+	$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
+		headers_check
 	$(MAKE) -C $(WRKBUILD) HOSTCC=$(CC_FOR_BUILD) ARCH=$(ARCH) V=1 \
 		INSTALL_HDR_PATH=$(STAGING_DIR)/usr \
 		headers_install
-- 
cgit v1.2.3