svn commit: r394199 - in head/devel: . android-tools-simpleperf android-tools-simpleperf/files
Jan Beich
jbeich at FreeBSD.org
Fri Aug 14 00:13:18 UTC 2015
Author: jbeich
Date: Fri Aug 14 00:13:13 2015
New Revision: 394199
URL: https://svnweb.freebsd.org/changeset/ports/394199
Log:
devel/android-tools-simpleperf: add new port
simpleperf is a minimal Linux perf implementation for extracting
sampling information out of perf.data.
Added:
head/devel/android-tools-simpleperf/
head/devel/android-tools-simpleperf/Makefile (contents, props changed)
head/devel/android-tools-simpleperf/distinfo (contents, props changed)
head/devel/android-tools-simpleperf/files/
head/devel/android-tools-simpleperf/files/Makefile (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-base_file.cpp (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-base_include_base_logging.h (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-base_logging.cpp (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-libcutils_threads.c (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-simpleperf_dso.cpp (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-simpleperf_event__attr.cpp (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-simpleperf_record.h (contents, props changed)
head/devel/android-tools-simpleperf/files/patch-simpleperf_utils.cpp (contents, props changed)
head/devel/android-tools-simpleperf/pkg-descr (contents, props changed)
Modified:
head/devel/Makefile (contents, props changed)
Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile Fri Aug 14 00:12:54 2015 (r394198)
+++ head/devel/Makefile Fri Aug 14 00:13:13 2015 (r394199)
@@ -66,6 +66,7 @@
SUBDIR += android-tools-adb-devel
SUBDIR += android-tools-fastboot
SUBDIR += android-tools-fastboot-devel
+ SUBDIR += android-tools-simpleperf
SUBDIR += anjuta
SUBDIR += anjuta-extras
SUBDIR += antlr
Added: head/devel/android-tools-simpleperf/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/Makefile Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,47 @@
+# $FreeBSD$
+
+PORTNAME= android-tools-simpleperf
+DISTVERSIONPREFIX= android-
+DISTVERSION= m-preview-136
+DISTVERSIONSUFFIX= -g89a2254
+CATEGORIES= devel
+
+MAINTAINER= jbeich at FreeBSD.org
+COMMENT= Android simpleperf tool
+
+LICENSE= APACHE20
+
+BUILD_DEPENDS= llvm-config${LLVM_VER}:${PORTSDIR}/devel/llvm${LLVM_VER}
+
+USE_GITHUB= yes
+GH_ACCOUNT= android:bionic,core jbeich
+GH_PROJECT= platform_bionic:bionic platform_system_core:core \
+ platform_system_extras
+GH_TAGNAME= android-m-preview-232-gb4f2112:bionic \
+ android-m-preview-868-gb81c410:core
+
+USES= compiler:c++11-lib uidfix
+BUILD_WRKSRC= ${WRKSRC}/simpleperf
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+MAKEFILE= ${FILESDIR}/Makefile
+MAKE_ENV= BINDIR="${PREFIX}/bin" LLVM_CONFIG="llvm-config${LLVM_VER}"
+ALL_TARGET= all
+LDFLAGS+= -Wl,--as-needed # avoid overlinking (llvm deps)
+PLIST_FILES= bin/simpleperf
+
+LLVM_VER?= 36 # XXX Move to DEFAULT_VERSIONS
+
+OPTIONS_DEFINE= TEST
+
+TEST_BUILD_DEPENDS=googletest>=1.6.0:${PORTSDIR}/devel/googletest
+TEST_ALL_TARGET=simpleperf_unit_test
+
+post-extract:
+# Adjust paths relative to extras
+ @(cd ${WRKSRC_core} && ${COPYTREE_SHARE} . ${WRKSRC})
+ @${MV} ${WRKSRC_bionic} ${WRKSRC}/bionic
+
+pre-install-TEST-on:
+ ${BUILD_WRKSRC}/simpleperf_unit_test
+
+.include <bsd.port.mk>
Added: head/devel/android-tools-simpleperf/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/distinfo Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,6 @@
+SHA256 (jbeich-platform_system_extras-android-m-preview-136-g89a2254_GH0.tar.gz) = 33813515ba14743085b8e95a4a74025ac4cefd7d308d5870cc8e279ef5380d4a
+SIZE (jbeich-platform_system_extras-android-m-preview-136-g89a2254_GH0.tar.gz) = 665360
+SHA256 (android-platform_bionic-android-m-preview-232-gb4f2112_GH0.tar.gz) = 88767af6ed1b4377c03aee44e61c175f69decc9169eea2b39661c940186eec5e
+SIZE (android-platform_bionic-android-m-preview-232-gb4f2112_GH0.tar.gz) = 3438328
+SHA256 (android-platform_system_core-android-m-preview-868-gb81c410_GH0.tar.gz) = e013cf5538e25d8123bb7e423ab4269826f74d0af3d44e3e316942c2b1b5a362
+SIZE (android-platform_system_core-android-m-preview-868-gb81c410_GH0.tar.gz) = 1335909
Added: head/devel/android-tools-simpleperf/files/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/Makefile Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,73 @@
+# $FreeBSD$
+
+PROG_CXX=simpleperf
+NO_MAN=
+BINDIR?=/usr/bin
+
+SRCS+= callchain.cpp
+SRCS+= cmd_dumprecord.cpp
+SRCS+= cmd_help.cpp
+SRCS+= cmd_report.cpp
+SRCS+= command.cpp
+SRCS+= dso.cpp
+SRCS+= environment_fake.cpp
+SRCS+= event_attr.cpp
+SRCS+= event_type.cpp
+SRCS+= main.cpp
+SRCS+= perf_regs.cpp
+SRCS+= read_elf.cpp
+SRCS+= record.cpp
+SRCS+= record_file_reader.cpp
+SRCS+= sample_tree.cpp
+SRCS+= thread_tree.cpp
+SRCS+= utils.cpp
+
+TEST_SRCS+= command_test.cpp
+TEST_SRCS+= gtest_main.cpp
+TEST_SRCS+= record_test.cpp
+TEST_SRCS+= sample_tree_test.cpp
+
+# required by simpleperf
+.PATH: ${.CURDIR}/../base
+SRCS+= file.cpp
+SRCS+= logging.cpp
+SRCS+= stringprintf.cpp
+SRCS+= strings.cpp
+
+# required by base
+.PATH: ${.CURDIR}/../liblog
+SRCS+= fake_log_device.c
+SRCS+= logd_write.c
+CFLAGS.logd_write.c+= -DFAKE_LOG_DEVICE=1
+
+# required by base
+.PATH: ${.CURDIR}/../libcutils
+SRCS+= threads.c
+
+CFLAGS+=-D_WITH_GETLINE
+CFLAGS+=-DUSE_BIONIC_UAPI_HEADERS
+CFLAGS+=-I${.CURDIR}/darwin_support
+CFLAGS+=-I${.CURDIR}/../include
+CFLAGS+=-I${.CURDIR}/../base/include
+CFLAGS+=-I${.CURDIR}/../bionic/libc/kernel
+CFLAGS+=$$(${LLVM_CONFIG} --cppflags)
+CFLAGS+=${CFLAGS.${.IMPSRC:T}}
+
+CXXFLAGS+=-std=gnu++11
+CXXFLAGS+=${CFLAGS:N-std*}
+
+TEST_CFLAGS+= $$(${GTEST_CONFIG} --cppflags)
+.for f in ${TEST_SRCS}
+CFLAGS.${f}+= ${TEST_CFLAGS}
+.endfor
+
+LDADD+= $$(${LLVM_CONFIG} --system-libs --libs --ldflags)
+TEST_LDADD+= $$(${GTEST_CONFIG} --libs --ldflags)
+
+LLVM_CONFIG?= llvm-config
+GTEST_CONFIG?= gtest-config
+
+simpleperf_unit_test: ${SRCS:R:S/$/.o/:Nmain.o} ${TEST_SRCS:R:S/$/.o/}
+ ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ $> ${LDADD} ${TEST_LDADD}
+
+.include <bsd.prog.mk>
Added: head/devel/android-tools-simpleperf/files/patch-base_file.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-base_file.cpp Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- base/file.cpp.orig 2015-08-12 23:28:08 UTC
++++ base/file.cpp
+@@ -21,6 +21,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+
++#include <cstring> // strerror
+ #include <string>
+
+ #include "base/macros.h" // For TEMP_FAILURE_RETRY on Darwin.
Added: head/devel/android-tools-simpleperf/files/patch-base_include_base_logging.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-base_include_base_logging.h Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- base/include/base/logging.h.orig 2015-08-12 23:28:08 UTC
++++ base/include/base/logging.h
+@@ -25,6 +25,7 @@
+ #endif
+ #endif
+
++#include <cerrno> // errno
+ #include <functional>
+ #include <memory>
+ #include <ostream>
Added: head/devel/android-tools-simpleperf/files/patch-base_logging.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-base_logging.cpp Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,18 @@
+--- base/logging.cpp.orig 2015-08-12 23:28:08 UTC
++++ base/logging.cpp
+@@ -23,12 +23,14 @@
+ #include <libgen.h>
+
+ // For getprogname(3) or program_invocation_short_name.
+-#if defined(__ANDROID__) || defined(__APPLE__)
++#if !defined(_WIN32) && !defined(__GLIBC__)
+ #include <stdlib.h>
+ #elif defined(__GLIBC__)
+ #include <errno.h>
+ #endif
+
++#include <cstring> // strlen
++#include <cstdio> // fprintf
+ #include <iostream>
+ #include <limits>
+ #include <sstream>
Added: head/devel/android-tools-simpleperf/files/patch-libcutils_threads.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-libcutils_threads.c Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,38 @@
+--- libcutils/threads.c.orig 2015-08-12 23:28:08 UTC
++++ libcutils/threads.c
+@@ -29,6 +29,14 @@
+ #include <unistd.h>
+ #elif defined(_WIN32)
+ #include <windows.h>
++#elif defined(__DragonFly__)
++#include <unistd.h>
++#elif defined(__FreeBSD__)
++#include <sys/param.h>
++#include <sys/thr.h>
++#include <pthread_np.h>
++#elif defined(__NetBSD__)
++#include <lwp.h>
+ #endif
+
+ // No definition needed for Android because we'll just pick up bionic's copy.
+@@ -40,6 +48,20 @@ pid_t gettid() {
+ return syscall(__NR_gettid);
+ #elif defined(_WIN32)
+ return GetCurrentThreadId();
++#elif defined(__DragonFly__)
++ return lwp_gettid();
++#elif defined(__NetBSD__)
++ return _lwp_self();
++#elif defined(__FreeBSD__)
++# if __FreeBSD_version > 900030
++ return pthread_getthreadid_np();
++# else
++ long lwpid;
++ thr_self(&lwpid);
++ return lwpid;
++# endif
++#else
++ return (intptr_t) pthread_self();
+ #endif
+ }
+ #endif // __ANDROID__
Added: head/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-liblog_logd__write.c Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,12 @@
+--- liblog/logd_write.c.orig 2015-05-27 20:24:08 UTC
++++ liblog/logd_write.c
+@@ -22,7 +22,9 @@
+ #include <pthread.h>
+ #endif
+ #include <stdarg.h>
++#if (FAKE_LOG_DEVICE == 0)
+ #include <stdatomic.h>
++#endif
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
Added: head/devel/android-tools-simpleperf/files/patch-simpleperf_dso.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-simpleperf_dso.cpp Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- simpleperf/dso.cpp.orig 2015-08-12 01:49:40 UTC
++++ simpleperf/dso.cpp
+@@ -16,6 +16,7 @@
+
+ #include "dso.h"
+
++#include <limits.h> // ULLONG_MAX
+ #include <stdlib.h>
+ #include <base/logging.h>
+ #include "environment.h"
Added: head/devel/android-tools-simpleperf/files/patch-simpleperf_event__attr.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-simpleperf_event__attr.cpp Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- simpleperf/event_attr.cpp.orig 2015-08-12 01:49:40 UTC
++++ simpleperf/event_attr.cpp
+@@ -18,6 +18,7 @@
+
+ #include <inttypes.h>
+ #include <stdio.h>
++#include <string.h> // memset
+ #include <string>
+ #include <unordered_map>
+
Added: head/devel/android-tools-simpleperf/files/patch-simpleperf_record.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-simpleperf_record.h Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- simpleperf/record.h.orig 2015-08-12 01:49:40 UTC
++++ simpleperf/record.h
+@@ -19,6 +19,7 @@
+
+ #include <sys/types.h>
+
++#include <memory> // unique_ptr
+ #include <string>
+ #include <vector>
+
Added: head/devel/android-tools-simpleperf/files/patch-simpleperf_utils.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/files/patch-simpleperf_utils.cpp Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,10 @@
+--- simpleperf/utils.cpp.orig 2015-08-12 01:49:40 UTC
++++ simpleperf/utils.cpp
+@@ -20,6 +20,7 @@
+ #include <errno.h>
+ #include <stdarg.h>
+ #include <stdio.h>
++#include <string.h> // strcmp
+ #include <sys/stat.h>
+ #include <unistd.h>
+
Added: head/devel/android-tools-simpleperf/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/android-tools-simpleperf/pkg-descr Fri Aug 14 00:13:13 2015 (r394199)
@@ -0,0 +1,2 @@
+simpleperf is a minimal Linux perf implementation for extracting
+sampling information out of perf.data.
More information about the svn-ports-all
mailing list