move a few development packages to trunk and add myself as a maintainer
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Oct 2012 13:26:27 +0000 (13:26 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Oct 2012 13:26:27 +0000 (13:26 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33705 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/devel/binutils/Makefile [new file with mode: 0644]
package/devel/oprofile/Makefile [new file with mode: 0644]
package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch [new file with mode: 0644]
package/devel/oprofile/patches/101-remove_24_support.patch [new file with mode: 0644]
package/devel/valgrind/Makefile [new file with mode: 0644]
package/devel/valgrind/files/default.supp [new file with mode: 0644]
package/devel/valgrind/patches/100-fix_configure_check.patch [new file with mode: 0644]
package/devel/valgrind/patches/110-add_a_out_h.patch [new file with mode: 0644]
package/devel/valgrind/src/abort.c [new file with mode: 0644]
package/libs/popt/Makefile [new file with mode: 0644]
package/libs/popt/patches/002-no-intl.patch [new file with mode: 0644]

diff --git a/package/devel/binutils/Makefile b/package/devel/binutils/Makefile
new file mode 100644 (file)
index 0000000..09710d4
--- /dev/null
@@ -0,0 +1,115 @@
+#
+# Copyright (C) 2006-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=binutils
+PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION)))
+#"))
+PKG_RELEASE:=5
+
+PKG_SOURCE_URL:=@GNU/binutils
+PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=
+
+PATCH_DIR:=$(TOPDIR)/toolchain/binutils/patches/$(PKG_VERSION)
+
+PKG_FIXUP:=autoreconf
+PKG_LIBTOOL_PATHS:=. gas bfd opcodes gprof binutils ld libiberty gold intl
+PKG_REMOVE_FILES:=libtool.m4
+PKG_INSTALL:=1
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/binutils
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=binutils
+  DEPENDS:=+objdump
+endef
+
+define Package/objdump
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=objdump
+  DEPENDS:=+zlib 
+endef
+
+define Package/binutils/description
+  The Binutils package contains a linker, an assembler, and other tools for handling object files
+endef
+
+CONFIGURE_ARGS = \
+               --target=$(REAL_GNU_TARGET_NAME) \
+               --host=$(REAL_GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --disable-multilib \
+               --disable-werror \
+               --disable-nls \
+               --enable-shared \
+               $(SOFT_FLOAT_CONFIG_OPTION) \
+               $(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS))
+
+TARGET_CFLAGS += $(FPIC)
+TARGET_LDFLAGS := -L$(PKG_BUILD_DIR)/libiberty $(TARGET_LDFLAGS)
+
+define Build/Configure
+       $(call Build/Configure/Default)
+       $(call Build/Compile/Default, \
+               configure-bfd \
+               configure-binutils \
+               configure-etc \
+               configure-gas \
+               configure-gprof \
+               configure-intl \
+               configure-ld \
+               configure-libiberty \
+               configure-opcodes \
+       )
+       $(MAKE) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR)/bfd/po Makefile
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/{lib,include}
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/* \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_BUILD_DIR)/include/*.h \
+               $(1)/usr/include/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/include/* \
+               $(1)/usr/include/
+       rm -f $(1)/usr/include/gdbm.h
+endef
+
+define Build/Compile
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/bfd/doc/ CFLAGS="-I$(PKG_BUILD_DIR)/include" chew
+       $(call Build/Compile/Default)
+endef
+
+define Package/objdump/install
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/objdump $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopcodes*.so $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libbfd*.so $(1)/usr/lib/
+endef
+
+define Package/binutils/install
+       $(INSTALL_DIR) $(1)/usr $(1)/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ $(1)/usr/
+       mv $(1)/usr/bin/strings $(1)/bin/strings
+       rm -f $(1)/usr/bin/objdump
+endef
+
+$(eval $(call BuildPackage,binutils))
+$(eval $(call BuildPackage,objdump))
diff --git a/package/devel/oprofile/Makefile b/package/devel/oprofile/Makefile
new file mode 100644 (file)
index 0000000..884c54b
--- /dev/null
@@ -0,0 +1,91 @@
+#
+# Copyright (C) 2009-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=oprofile
+PKG_VERSION:=0.9.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@SF/oprofile/
+PKG_MD5SUM:=8b5d1d9b65f84420bcc3234777ad3be3
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
+PKG_BUILD_DEPENDS:=binutils
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+define Package/oprofile
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=OProfile System Profiler
+  URL:=http://oprofile.sourceforge.net
+  DEPENDS:=+libpopt +kmod-oprofile +libstdcpp +objdump
+endef
+
+define Package/oprofile/description
+ A transparent low-overhead system-wide profiler.
+endef
+
+define Package/oprofile-utils
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=OProfile System Profiler (extra utilities)
+  URL:=http://oprofile.sourceforge.net
+  DEPENDS:=oprofile
+endef
+
+define Build/Configure
+       $(call Build/Configure/Default, \
+               --with-kernel-support \
+               --without-x \
+       )
+endef
+
+TARGET_CXXFLAGS += -fpermissive
+TARGET_LDFLAGS := -L$(STAGING_DIR)/usr/lib $(TARGET_LDFLAGS)
+
+define Package/oprofile-utils/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/opannotate \
+               $(PKG_INSTALL_DIR)/usr/bin/oparchive \
+               $(PKG_INSTALL_DIR)/usr/bin/opgprof \
+               $(1)/usr/bin
+endef
+
+define Package/oprofile/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/* \
+               $(1)/usr/bin
+
+       rm -f \
+               $(1)/usr/bin/opannotate \
+               $(1)/usr/bin/oparchive \
+               $(1)/usr/bin/opgprof
+
+       $(INSTALL_DIR) $(1)/usr/lib/oprofile
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/oprofile/*.so* \
+               $(1)/usr/lib/oprofile/
+
+       $(INSTALL_DIR) $(1)/usr/share/oprofile
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/share/oprofile/stl.pat \
+               $(PKG_INSTALL_DIR)/usr/share/oprofile/$(patsubst x86,i386,$(LINUX_KARCH)) \
+               $(1)/usr/share/oprofile/
+endef
+
+$(eval $(call BuildPackage,oprofile))
+$(eval $(call BuildPackage,oprofile-utils))
diff --git a/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch b/package/devel/oprofile/patches/100-use_insmod_instead_of_modprobe.patch
new file mode 100644 (file)
index 0000000..1010798
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/utils/opcontrol
++++ b/utils/opcontrol
+@@ -248,7 +248,7 @@ load_module_26()
+ {
+       grep oprofilefs /proc/filesystems >/dev/null
+       if test "$?" -ne 0; then
+-              modprobe oprofile
++              insmod oprofile
+               if test "$?" != "0"; then
+                       # couldn't load the module
+                       return
+@@ -278,7 +278,7 @@ load_module_24()
+ {
+       grep oprof /proc/devices >/dev/null
+       if test "$?" -ne 0; then
+-              modprobe oprofile
++              insmod oprofile
+               if test "$?" != "0"; then
+                       # couldn't load a module
+                       return
diff --git a/package/devel/oprofile/patches/101-remove_24_support.patch b/package/devel/oprofile/patches/101-remove_24_support.patch
new file mode 100644 (file)
index 0000000..99eb928
--- /dev/null
@@ -0,0 +1,64 @@
+--- a/daemon/Makefile.am
++++ b/daemon/Makefile.am
+@@ -1,4 +1,4 @@
+-SUBDIRS = liblegacy .
++SUBDIRS = .
+ oprofiled_SOURCES = \
+       init.c \
+@@ -49,7 +49,6 @@ AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-
+ bin_PROGRAMS = oprofiled
+ oprofiled_LDADD = \
+-      liblegacy/liblegacy.a \
+       ../libabi/libabi.a \
+       ../libdb/libodb.a \
+       ../libop/libop.a \
+--- a/daemon/Makefile.in
++++ b/daemon/Makefile.in
+@@ -70,7 +70,7 @@ am_oprofiled_OBJECTS = init.$(OBJEXT) op
+       opd_extended.$(OBJEXT) opd_ibs.$(OBJEXT) \
+       opd_ibs_trans.$(OBJEXT)
+ oprofiled_OBJECTS = $(am_oprofiled_OBJECTS)
+-oprofiled_DEPENDENCIES = liblegacy/liblegacy.a ../libabi/libabi.a \
++oprofiled_DEPENDENCIES = ../libabi/libabi.a \
+       ../libdb/libodb.a ../libop/libop.a ../libutil/libutil.a
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+@@ -285,7 +285,7 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ topdir = @topdir@
+-SUBDIRS = liblegacy .
++SUBDIRS = .
+ oprofiled_SOURCES = \
+       init.c \
+       oprofiled.c \
+@@ -331,7 +331,6 @@ AM_CPPFLAGS = \
+ # -fno-omit-frame-pointer needed for daemon build: see ChangeLog-2004 02-23
+ AM_CFLAGS = @OP_CFLAGS@ -fno-omit-frame-pointer
+ oprofiled_LDADD = \
+-      liblegacy/liblegacy.a \
+       ../libabi/libabi.a \
+       ../libdb/libodb.a \
+       ../libop/libop.a \
+--- a/daemon/oprofiled.c
++++ b/daemon/oprofiled.c
+@@ -77,7 +77,6 @@ static char * events;
+ static char * ext_feature;
+ static int showvers;
+ static struct oprofiled_ops * opd_ops;
+-extern struct oprofiled_ops opd_24_ops;
+ extern struct oprofiled_ops opd_26_ops;
+ #define OPD_IMAGE_FILTER_HASH_SIZE 32
+@@ -477,9 +476,6 @@ static void opd_options(int argc, char c
+ static struct oprofiled_ops * get_ops(void)
+ {
+       switch (op_get_interface()) {
+-              case OP_INTERFACE_24:
+-                      printf("Using 2.4 OProfile kernel interface.\n");
+-                      return &opd_24_ops;
+               case OP_INTERFACE_26:
+                       printf("Using 2.6+ OProfile kernel interface.\n");
+                       return &opd_26_ops;
diff --git a/package/devel/valgrind/Makefile b/package/devel/valgrind/Makefile
new file mode 100644 (file)
index 0000000..c4f3697
--- /dev/null
@@ -0,0 +1,164 @@
+#
+# Copyright (C) 2006-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=valgrind
+PKG_VERSION:=3.8.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://valgrind.org/downloads/
+PKG_MD5SUM:=ec04dfd1256307432b2a7b520398c526
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
+PKG_FIXUP = autoreconf
+PKG_INSTALL := 1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+define Package/valgrind
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=@mips||mipsel||i386||powerpc||TARGET_omap4 +libpthread +librt
+  TITLE:=debugging and profiling tools for Linux
+  URL:=http://www.valgrind.org
+endef
+
+define Package/valgrind/default
+  $(Package/valgrind)
+  DEPENDS := valgrind
+endef
+
+define Package/valgrind-cachegrind
+  $(Package/valgrind/default)
+  TITLE += (cache profiling)
+endef
+
+define Package/valgrind-callgrind
+  $(Package/valgrind/default)
+  TITLE += (callgraph profiling)
+endef
+
+define Package/valgrind-drd
+  $(Package/valgrind/default)
+  TITLE += (thread error detection)
+endef
+
+define Package/valgrind-massif
+  $(Package/valgrind/default)
+  TITLE += (heap profiling)
+endef
+
+define Package/valgrind-helgrind
+  $(Package/valgrind/default)
+  TITLE += (thread debugging)
+endef
+
+define Package/valgrind-vgdb
+  $(Package/valgrind/default)
+  TITLE += (GDB interface)
+endef
+
+define Package/valgrind/description
+       Valgrind is an award-winning suite of tools for debugging and
+       profiling Linux programs. With the tools that come with Valgrind,
+       you can automatically detect many memory management and threading
+       bugs, avoiding hours of frustrating bug-hunting, making your
+       programs more stable. You can also perform detailed profiling,
+       to speed up and reduce memory use of your programs.
+endef
+
+CPU := $(patsubst x86,i386,$(LINUX_KARCH))
+
+CONFIGURE_VARS += \
+       UNAME_R=$(LINUX_VERSION)
+
+CONFIGURE_ARGS += \
+       --enable-only32bit \
+       --enable-tls \
+       --without-x \
+       --without-uiout \
+       --disable-valgrindmi \
+       --disable-tui \
+       --disable-valgrindtk \
+       --without-included-gettext
+
+define Package/valgrind/install        
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               ./files/default.supp \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_core*.so \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-core*.xml \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/32bit-linux*.xml \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_memcheck*.so \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-cachegrind/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cg_* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-callgrind/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/callgrind* $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-drd/install
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-massif/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ms_print $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-helgrind/install
+       $(INSTALL_DIR) $(1)/usr/lib/valgrind
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \
+               $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \
+               $(1)/usr/lib/valgrind/
+endef
+
+define Package/valgrind-vgdb/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,valgrind))
+$(eval $(call BuildPackage,valgrind-cachegrind))
+$(eval $(call BuildPackage,valgrind-callgrind))
+$(eval $(call BuildPackage,valgrind-drd))
+$(eval $(call BuildPackage,valgrind-massif))
+$(eval $(call BuildPackage,valgrind-helgrind))
+$(eval $(call BuildPackage,valgrind-vgdb))
diff --git a/package/devel/valgrind/files/default.supp b/package/devel/valgrind/files/default.supp
new file mode 100644 (file)
index 0000000..beff559
--- /dev/null
@@ -0,0 +1,42 @@
+{
+   ld(Addr1)
+   Memcheck:Addr1
+   fun:*
+   obj:/lib/ld-*
+}
+{
+   ld(Addr2)
+   Memcheck:Addr2
+   fun:*
+   obj:/lib/ld-*
+}
+{
+   ld(Addr4)
+   Memcheck:Addr4
+   fun:*
+   obj:/lib/ld-*
+}
+{
+   ld(Cond)
+   Memcheck:Cond
+   fun:*
+   obj:/lib/ld-*
+}
+{
+       strlen(Cond)
+       Memcheck:Cond
+       fun:strlen
+       fun:*
+}
+{
+       strnlen(Cond)
+       Memcheck:Cond
+       fun:strnlen
+       fun:*
+}
+{
+       index(Cond)
+       Memcheck:Cond
+       fun:index
+       fun:*
+}
diff --git a/package/devel/valgrind/patches/100-fix_configure_check.patch b/package/devel/valgrind/patches/100-fix_configure_check.patch
new file mode 100644 (file)
index 0000000..b06cc3b
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -260,7 +260,7 @@ case "${host_os}" in
+         # Ok, this is linux. Check the kernel version
+         AC_MSG_CHECKING([for the kernel version])
+-        kernel=`uname -r`
++        kernel=${UNAME_R:-`uname -r`}
+         case "${kernel}" in
+              2.6.*|3.*) 
diff --git a/package/devel/valgrind/patches/110-add_a_out_h.patch b/package/devel/valgrind/patches/110-add_a_out_h.patch
new file mode 100644 (file)
index 0000000..7d95fb3
--- /dev/null
@@ -0,0 +1,157 @@
+--- /dev/null
++++ b/include/a.out.h
+@@ -0,0 +1,138 @@
++#ifndef __A_OUT_GNU_H__
++#define __A_OUT_GNU_H__
++
++#include <bits/a.out.h>
++
++#define __GNU_EXEC_MACROS__
++
++struct exec
++{
++  unsigned long a_info;       /* Use macros N_MAGIC, etc for access.  */
++  unsigned int a_text;        /* Length of text, in bytes.  */
++  unsigned int a_data;        /* Length of data, in bytes.  */
++  unsigned int a_bss; /* Length of uninitialized data area for file, in bytes.  */
++  unsigned int a_syms;        /* Length of symbol table data in file, in bytes.  */
++  unsigned int a_entry;       /* Start address.  */
++  unsigned int a_trsize;/* Length of relocation info for text, in bytes.  */
++  unsigned int a_drsize;/* Length of relocation info for data, in bytes.  */
++};
++
++enum machine_type
++{
++  M_OLDSUN2 = 0,
++  M_68010 = 1,
++  M_68020 = 2,
++  M_SPARC = 3,
++  M_386 = 100,
++  M_MIPS1 = 151,
++  M_MIPS2 = 152
++};
++
++#define N_MAGIC(exec) ((exec).a_info & 0xffff)
++#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
++#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
++#define N_SET_INFO(exec, magic, type, flags) \
++  ((exec).a_info = ((magic) & 0xffff)                                 \
++   | (((int)(type) & 0xff) << 16)                                     \
++   | (((flags) & 0xff) << 24))
++#define N_SET_MAGIC(exec, magic) \
++  ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
++#define N_SET_MACHTYPE(exec, machtype) \
++  ((exec).a_info =                                                    \
++   ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
++#define N_SET_FLAGS(exec, flags) \
++  ((exec).a_info =                                                    \
++   ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
++
++/* Code indicating object file or impure executable.  */
++#define OMAGIC 0407
++/* Code indicating pure executable.  */
++#define NMAGIC 0410
++/* Code indicating demand-paged executable.  */
++#define ZMAGIC 0413
++/* This indicates a demand-paged executable with the header in the text. 
++   The first page is unmapped to help trap NULL pointer references.  */
++#define QMAGIC 0314
++/* Code indicating core file.  */
++#define CMAGIC 0421
++
++#define N_TRSIZE(a)   ((a).a_trsize)
++#define N_DRSIZE(a)   ((a).a_drsize)
++#define N_SYMSIZE(a)  ((a).a_syms)
++#define N_BADMAG(x) \
++  (N_MAGIC(x) != OMAGIC       && N_MAGIC(x) != NMAGIC                         \
++   && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
++#define _N_HDROFF(x)  (1024 - sizeof (struct exec))
++#define N_TXTOFF(x) \
++  (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) :     \
++   (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec)))
++#define N_DATOFF(x)   (N_TXTOFF(x) + (x).a_text)
++#define N_TRELOFF(x)  (N_DATOFF(x) + (x).a_data)
++#define N_DRELOFF(x)  (N_TRELOFF(x) + N_TRSIZE(x))
++#define N_SYMOFF(x)   (N_DRELOFF(x) + N_DRSIZE(x))
++#define N_STROFF(x)   (N_SYMOFF(x) + N_SYMSIZE(x))
++
++/* Address of text segment in memory after it is loaded.  */
++#define N_TXTADDR(x)  (N_MAGIC(x) == QMAGIC ? 4096 : 0)
++
++/* Address of data segment in memory after it is loaded.  */
++#define SEGMENT_SIZE  1024
++
++#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
++#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
++
++#define N_DATADDR(x) \
++  (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x))                             \
++   : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x))))
++#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
++
++#if !defined (N_NLIST_DECLARED)
++struct nlist
++{
++  union
++    {
++      char *n_name;
++      struct nlist *n_next;
++      long n_strx;
++    } n_un;
++  unsigned char n_type;
++  char n_other;
++  short n_desc;
++  unsigned long n_value;
++};
++#endif /* no N_NLIST_DECLARED.  */
++
++#define N_UNDF        0
++#define N_ABS 2
++#define N_TEXT        4
++#define N_DATA        6
++#define N_BSS 8
++#define N_FN  15
++#define N_EXT 1
++#define N_TYPE        036
++#define N_STAB        0340
++#define N_INDR        0xa
++#define       N_SETA  0x14    /* Absolute set element symbol.  */
++#define       N_SETT  0x16    /* Text set element symbol.  */
++#define       N_SETD  0x18    /* Data set element symbol.  */
++#define       N_SETB  0x1A    /* Bss set element symbol.  */
++#define N_SETV        0x1C    /* Pointer to set vector in data area.  */
++
++#if !defined (N_RELOCATION_INFO_DECLARED)
++/* This structure describes a single relocation to be performed.
++   The text-relocation section of the file is a vector of these structures,
++   all of which apply to the text section.
++   Likewise, the data-relocation section applies to the data section.  */
++
++struct relocation_info
++{
++  int r_address;
++  unsigned int r_symbolnum:24;
++  unsigned int r_pcrel:1;
++  unsigned int r_length:2;
++  unsigned int r_extern:1;
++  unsigned int r_pad:4;
++};
++#endif /* no N_RELOCATION_INFO_DECLARED.  */
++
++#endif /* __A_OUT_GNU_H__ */
+--- /dev/null
++++ b/include/bits/a.out.h
+@@ -0,0 +1,13 @@
++#ifndef __A_OUT_GNU_H__
++# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
++#endif
++
++#include <bits/wordsize.h>
++
++#if __WORDSIZE == 64
++
++/* Signal to users of this header that this architecture really doesn't
++   support a.out binary format.  */
++#define __NO_A_OUT_SUPPORT 1
++
++#endif
diff --git a/package/devel/valgrind/src/abort.c b/package/devel/valgrind/src/abort.c
new file mode 100644 (file)
index 0000000..0b4ad98
--- /dev/null
@@ -0,0 +1,3 @@
+void abort(void)
+{
+}
diff --git a/package/libs/popt/Makefile b/package/libs/popt/Makefile
new file mode 100644 (file)
index 0000000..1cdcc40
--- /dev/null
@@ -0,0 +1,59 @@
+#
+# Copyright (C) 2006-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=popt
+PKG_VERSION:=1.7
+PKG_RELEASE:=5
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
+PKG_MD5SUM:=5988e7aeb0ae4dac8d83561265984cc9
+
+PKG_FIXUP:=autoreconf
+PKG_REMOVE_FILES:=autogen.sh aclocal.m4
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+TARGET_CFLAGS += $(FPIC)
+
+define Package/libpopt
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=A command line option parsing library
+  URL:=http://rpm5.org/files/popt/
+endef
+
+define Build/Configure
+       $(call Build/Configure/Default, \
+               --enable-shared \
+               --enable-static \
+       )
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/popt.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpopt.{a,so*} $(1)/usr/lib/
+endef
+
+define Package/libpopt/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpopt.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call RequireCommand,xgettext, \
+       $(PKG_NAME) requires the GNU gettext development package installed on the local system to build. \
+))
+
+$(eval $(call BuildPackage,libpopt))
+
diff --git a/package/libs/popt/patches/002-no-intl.patch b/package/libs/popt/patches/002-no-intl.patch
new file mode 100644 (file)
index 0000000..2f9a4e0
--- /dev/null
@@ -0,0 +1,81 @@
+--- a/configure.in
++++ b/configure.in
+@@ -64,25 +64,14 @@ else
+       AC_MSG_RESULT(no)
+ fi
+-if test ! -f ../rpm.c
+-then
+-  AC_MSG_CHECKING(for GNU xgettext)
+-  xgettext --version 2>&1 | grep 'GNU gettext' >/dev/null 2>&1 || AC_MSG_ERROR([
+-  *** GNU gettext is required. The latest version
+-  *** is always available from ftp://ftp.gnu.org/gnu/gettext/.])
+-  AC_MSG_RESULT(yes)
+-fi
+-
+ AC_CHECK_FUNCS(strerror mtrace getuid geteuid)
+ AC_CHECK_FUNC(setreuid, [], [
+     AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi])
+ ])
+-AM_GNU_GETTEXT
+-
+ POPT_SOURCE_PATH="`pwd`"
+ AC_DEFINE_UNQUOTED(POPT_SOURCE_PATH, "$POPT_SOURCE_PATH",
+       [Full path to popt top_sourcedir.])
+ AC_SUBST(POPT_SOURCE_PATH)
+-AC_OUTPUT([Doxyfile Makefile intl/Makefile po/Makefile.in])
++AC_OUTPUT([Doxyfile Makefile])
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,10 +4,9 @@ AUTOMAKE_OPTIONS = 1.4 foreign
+ EXTRA_DIST = autogen.sh CHANGES $(man_MANS) popt.spec \
+       testit.sh test-poptrc \
+-      po/*.in po/*.po po/popt.pot \
+       popt.ps
+-SUBDIRS = intl po
++SUBDIRS =
+ INCLUDES = -I. -I$(top_srcdir)
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -124,7 +124,7 @@ EXTRA_DIST = autogen.sh CHANGES $(man_MA
+       popt.ps
+-SUBDIRS = intl po
++SUBDIRS =
+ INCLUDES = -I. -I$(top_srcdir)
+@@ -160,7 +160,7 @@ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = config.h
+-CONFIG_CLEAN_FILES = Doxyfile intl/Makefile
++CONFIG_CLEAN_FILES = Doxyfile
+ LTLIBRARIES = $(lib_LTLIBRARIES)
+ libpopt_la_LDFLAGS =
+@@ -261,8 +261,6 @@ distclean-hdr:
+       -rm -f config.h stamp-h1
+ Doxyfile: $(top_builddir)/config.status Doxyfile.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+-intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
+-      cd $(top_builddir) && $(SHELL) ./config.status $@
+ libLTLIBRARIES_INSTALL = $(INSTALL)
+ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+@@ -584,7 +582,7 @@ distcleancheck_listfiles = find . -type 
+ distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       mkdir $(distdir)
+-      $(mkinstalldirs) $(distdir)/. $(distdir)/intl $(distdir)/po
++      $(mkinstalldirs) $(distdir)/.
+       @list='$(DISTFILES)'; for file in $$list; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \