Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 11 years ago
parent
commit
6ab5516b38

+ 4 - 0
TODO

@@ -1,3 +1,7 @@
+- cleanup toolchain building, add toolchain archiv creation target
+- update uclibc to git
+- update gcc to 4.8.2
+- port opkg with gpg signing
 - restart network (kill wpa_supplicant)
 - essid with spaces
 - add grsec kernel patch

+ 1 - 10
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
 

+ 1 - 1
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/ \

+ 2 - 1
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
 

+ 13 - 0
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);

+ 14 - 6
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 && \

+ 2 - 0
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