+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
# $Id$
include $(TOPDIR)/rules.mk
ifneq ($(DUMP),1)
TARGET:=-$(BOARD)-$(KERNEL)
-UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
-LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
+UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version 2>/dev/null}
+LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version 2>/dev/null}
else
UCLIBC_VERSION:=<UCLIBC_VERSION>
LIBGCC_VERSION:=<LIBGCC_VERSION>
CONFIG_PACKAGE_base-files$(TARGET):=$(CONFIG_PACKAGE_base-files)
define Package/base-files$(TARGET)
-SECTION:=base
-CATEGORY:=Base system
-DEFAULT:=y
-TITLE:=OpenWrt system scripts
-DESCRIPTION:=Base filesystem for OpenWrt
-VERSION:=$(PKG_RELEASE)
+ SECTION:=base
+ CATEGORY:=Base system
+ DEFAULT:=y
+ TITLE:=OpenWrt system scripts
+ DESCRIPTION:=Base filesystem for OpenWrt
+ VERSION:=$(PKG_RELEASE)-$(REV)
endef
define -ar7-2.4/conffiles
endef
define Package/libgcc
-SECTION:=libs
-CATEGORY:=Libraries
-DEFAULT:=y
-TITLE:=GCC support library
-VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
-DESCRIPTION:=$(TITLE)
+ SECTION:=libs
+ CATEGORY:=Libraries
+ DEFAULT:=y
+ DEPENDS:=@!NATIVE_TOOLCHAIN
+ TITLE:=GCC support library
+ VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
+ DESCRIPTION:=$(TITLE)
endef
+define Package/libpthread
+ $(call Package/base-files$(TARGET))
+ DEFAULT:=n
+ DEPENDS:=@!NATIVE_TOOLCHAIN
+ VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
+ TITLE:=POSIX thread library
+ DESCRIPTION:=POSIX thread library
+endef
+
+
define Package/uclibc
-$(call Package/base-files$(TARGET))
-VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
-TITLE:=C library
-DESCRIPTION:=C library for embedded systems
+ $(call Package/base-files$(TARGET))
+ VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
+ DEPENDS:=@!NATIVE_TOOLCHAIN
+ TITLE:=C library
+ DESCRIPTION:=C library for embedded systems
endef
define Build/Prepare
endef
define Build/Compile
-$(call Build/Compile/$(BOARD))
+ $(call Build/Compile/$(BOARD))
endef
endef
define Package/base-files$(TARGET)/install
-$(call Package/base-files$(TARGET)/install-$(BOARD),$(1))
+ $(call Package/base-files$(TARGET)/install-$(BOARD),$(1))
$(CP) ./default/* $(1)/
if [ -d $(BOARD)-$(KERNEL) ]; then \
$(CP) $(BOARD)-$(KERNEL)/* $(1)/; \
mkdir -p $(1)/usr/bin
mkdir -p $(1)/sys
mkdir -p $(1)/www
- ln -sf /tmp/resolv.conf $(1)/etc/resolv.conf
ln -sf /proc/mounts $(1)/etc/mtab
rm -f $(1)/var
ln -sf /tmp $(1)/var
mkdir -p $(1)/etc
endef
+define Package/libgcc/install
+ install -m0755 -d $(1)/lib
+ $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(1)/lib/
+endef
+
+define Package/libpthread/install
+ install -m0755 -d $(1)/lib
+ $(CP) $(STAGING_DIR)/lib/libpthread.so.* $(1)/lib/
+ $(CP) $(STAGING_DIR)/lib/libpthread-$(UCLIBC_VERSION).so $(1)/lib/
+endef
+
define Package/uclibc/install
- mkdir -p $(1)/lib
+ install -m0755 -d $(1)/lib
for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \
$(CP) $(STAGING_DIR)/lib/$$$$file.so.* $(1)/lib/; \
$(CP) $(STAGING_DIR)/lib/$$$$file-$(UCLIBC_VERSION).so $(1)/lib/; \
done
endef
-define Package/libgcc/install
- mkdir -p $(1)/lib
- $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(1)/lib/
-endef
-
$(eval $(call BuildPackage,base-files$(TARGET)))
$(eval $(call BuildPackage,libgcc))
+$(eval $(call BuildPackage,libpthread))
$(eval $(call BuildPackage,uclibc))