Initial commit
This commit is contained in:
82
package/devel/perf/Makefile
Normal file
82
package/devel/perf/Makefile
Normal file
@@ -0,0 +1,82 @@
|
||||
#
|
||||
# Copyright (C) 2011-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=perf
|
||||
PKG_VERSION:=$(LINUX_VERSION)
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_FLAGS:=nonshared
|
||||
|
||||
# Perf's makefile and headers are not relocatable and must be built from the
|
||||
# Linux sources directory
|
||||
PKG_BUILD_DIR:=$(LINUX_DIR)/tools/perf-$(TARGET_DIR_NAME)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/perf
|
||||
SECTION:=devel
|
||||
CATEGORY:=Development
|
||||
DEPENDS:= +libelf1 +libdw +(mips||mipsel||powerpc||i386||x86_64||arm||aarch64):libunwind +libpthread +librt +objdump @!LINUX_3_18 @!IN_SDK @!TARGET_arc770 @KERNEL_PERF_EVENTS
|
||||
TITLE:=Linux performance monitoring tool
|
||||
VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
|
||||
URL:=http://www.kernel.org
|
||||
endef
|
||||
|
||||
define Package/perf/description
|
||||
perf is the Linux performance monitoring tool
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
$(CP) $(LINUX_DIR)/tools/perf/* $(PKG_BUILD_DIR)/
|
||||
endef
|
||||
|
||||
MAKE_FLAGS = \
|
||||
ARCH="$(LINUX_KARCH)" \
|
||||
NO_LIBPERL=1 \
|
||||
NO_LIBPYTHON=1 \
|
||||
NO_NEWT=1 \
|
||||
NO_LZMA=1 \
|
||||
NO_BACKTRACE=1 \
|
||||
NO_LIBNUMA=1 \
|
||||
NO_GTK2=1 \
|
||||
NO_LIBAUDIT=1 \
|
||||
NO_LIBCRYPTO=1 \
|
||||
NO_LIBUNWIND=1 \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
CC="$(TARGET_CC)" \
|
||||
LD="$(TARGET_CROSS)ld" \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
$(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
|
||||
WERROR=0 \
|
||||
prefix=/usr
|
||||
|
||||
ifdef CONFIG_LINUX_4_4
|
||||
ifdef CONFIG_USE_MUSL
|
||||
MAKE_FLAGS += EXTRA_CFLAGS="-I$(CURDIR)/musl-include -include $(CURDIR)/musl-compat.h -D__UCLIBC__"
|
||||
endif
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE_FLAGS) $(MAKE) $(PKG_JOBS) \
|
||||
-C $(PKG_BUILD_DIR) \
|
||||
-f Makefile.perf \
|
||||
--no-print-directory
|
||||
endef
|
||||
|
||||
define Package/perf/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/perf $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,perf))
|
||||
43
package/devel/perf/musl-compat.h
Normal file
43
package/devel/perf/musl-compat.h
Normal file
@@ -0,0 +1,43 @@
|
||||
#ifndef __PERF_MUSL_COMPAT_H
|
||||
#define __PERF_MUSL_COMPAT_H
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <asm/unistd.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#undef _IOWR
|
||||
#undef _IOR
|
||||
#undef _IOW
|
||||
#undef _IOC
|
||||
#undef _IO
|
||||
|
||||
#define _SC_LEVEL1_DCACHE_LINESIZE -1
|
||||
|
||||
static inline long sysconf_wrap(int name)
|
||||
{
|
||||
FILE *f;
|
||||
int val;
|
||||
|
||||
switch (name) {
|
||||
case _SC_LEVEL1_DCACHE_LINESIZE:
|
||||
f = fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r");
|
||||
if (!f)
|
||||
return 0;
|
||||
|
||||
if (fscanf(f, "%d", &val) != 1)
|
||||
return 0;
|
||||
|
||||
fclose(f);
|
||||
return val;
|
||||
default:
|
||||
return sysconf(name);
|
||||
}
|
||||
}
|
||||
|
||||
#define sysconf(_n) sysconf_wrap(_n)
|
||||
|
||||
#endif
|
||||
#endif
|
||||
8
package/devel/perf/musl-include/asm/errno.h
Normal file
8
package/devel/perf/musl-include/asm/errno.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef __MUSL_COMPAT_ASM_ERRNO_H
|
||||
#define __MUSL_COMPAT_ASM_ERRNO_H
|
||||
|
||||
/* Avoid including different versions of errno.h, the defines (incorrectly)
|
||||
* cause a redefinition error on PowerPC */
|
||||
#include <errno.h>
|
||||
|
||||
#endif
|
||||
18
package/devel/perf/musl-include/string.h
Normal file
18
package/devel/perf/musl-include/string.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef __MUSL_COMPAT_STRING_H
|
||||
#define __MUSL_COMPAT_STRING_H
|
||||
|
||||
#include_next <string.h>
|
||||
|
||||
/* Change XSI compliant version into GNU extension hackery */
|
||||
static inline char *
|
||||
gnu_strerror_r(int err, char *buf, size_t buflen)
|
||||
{
|
||||
if (strerror_r(err, buf, buflen))
|
||||
return NULL;
|
||||
return buf;
|
||||
}
|
||||
#ifdef _GNU_SOURCE
|
||||
#define strerror_r gnu_strerror_r
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user