[PATCH] perf tools: Remove jvmti/Makefile file

From: Jiri Olsa
Date: Sat Nov 12 2016 - 07:10:50 EST


On Fri, Nov 11, 2016 at 03:18:03PM -0800, Stephane Eranian wrote:
> Jiri,
>
> On Wed, Nov 2, 2016 at 6:35 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> > hi,
> > adding jvmti compilation under perf build, so it's easy
> > to put it under rpm.
> >
> > I plan on updating fedora/rhel perf rpm, to have the jvmti
> > placed in like:
> >
> > $ rpm -qpl build/x86_64/perf-4.8.5-300.fc24.x86_64.rpm | grep jvmti
> > /usr/lib64/libperf-jvmti.so
> >
> > Stephane,
> > I'm keeping the jvmti/Makefile as I dont fully follow
> > the need for .lo objects. Please let me know if you'd
> > be ok with this new way of building jvmti lib.
> >
> Tested the patch on x86_64. With and without NO_JVMTI.
> Tried the libperf-jvmti.so on existing test case, got correct results.
>
> I believe you can now remove the jvmti/Makefile, it is not needed
> anymore. We must always (and only) build the .so as this library
> is meant to be used as a Java agent.
>
> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx>

great, attaching the removal patch

Arnaldo,
I rebased my perf/fixes branch, it also contains attached patch

thanks,
jirka


---
Now when jvmti compilation is plugged into Makefile.perf,
there's no need for this makefile.

Link: http://lkml.kernel.org/n/tip-qqz5y4auujk02u888to7cqpn@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/jvmti/Makefile | 89 -----------------------------------------------
1 file changed, 89 deletions(-)
delete mode 100644 tools/perf/jvmti/Makefile

diff --git a/tools/perf/jvmti/Makefile b/tools/perf/jvmti/Makefile
deleted file mode 100644
index df14e6b67b63..000000000000
--- a/tools/perf/jvmti/Makefile
+++ /dev/null
@@ -1,89 +0,0 @@
-ARCH=$(shell uname -m)
-
-ifeq ($(ARCH), x86_64)
-JARCH=amd64
-endif
-ifeq ($(ARCH), armv7l)
-JARCH=armhf
-endif
-ifeq ($(ARCH), armv6l)
-JARCH=armhf
-endif
-ifeq ($(ARCH), aarch64)
-JARCH=aarch64
-endif
-ifeq ($(ARCH), ppc64)
-JARCH=powerpc
-endif
-ifeq ($(ARCH), ppc64le)
-JARCH=powerpc
-endif
-
-DESTDIR=/usr/local
-
-VERSION=1
-REVISION=0
-AGE=0
-
-LN=ln -sf
-RM=rm
-
-SLIBJVMTI=libjvmti.so.$(VERSION).$(REVISION).$(AGE)
-VLIBJVMTI=libjvmti.so.$(VERSION)
-SLDFLAGS=-shared -Wl,-soname -Wl,$(VLIBJVMTI)
-SOLIBEXT=so
-
-# The following works at least on fedora 23, you may need the next
-# line for other distros.
-ifneq (,$(wildcard /usr/sbin/update-java-alternatives))
-JDIR=$(shell /usr/sbin/update-java-alternatives -l | head -1 | awk '{print $$3}')
-else
- ifneq (,$(wildcard /usr/sbin/alternatives))
- JDIR=$(shell alternatives --display java | tail -1 | cut -d' ' -f 5 | sed 's%/jre/bin/java.%%g')
- endif
-endif
-ifndef JDIR
-$(error Could not find alternatives command, you need to set JDIR= to point to the root of your Java directory)
-else
- ifeq (,$(wildcard $(JDIR)/include/jvmti.h))
- $(error the openjdk development package appears to me missing, install and try again)
- endif
-endif
-$(info Using Java from $(JDIR))
-# -lrt required in 32-bit mode for clock_gettime()
-LIBS=-lelf -lrt
-INCDIR=-I $(JDIR)/include -I $(JDIR)/include/linux
-
-TARGETS=$(SLIBJVMTI)
-
-SRCS=libjvmti.c jvmti_agent.c
-OBJS=$(SRCS:.c=.o)
-SOBJS=$(OBJS:.o=.lo)
-OPT=-O2 -g -Werror -Wall
-
-CFLAGS=$(INCDIR) $(OPT)
-
-all: $(TARGETS)
-
-.c.o:
- $(CC) $(CFLAGS) -c $*.c
-.c.lo:
- $(CC) -fPIC -DPIC $(CFLAGS) -c $*.c -o $*.lo
-
-$(OBJS) $(SOBJS): Makefile jvmti_agent.h ../util/jitdump.h
-
-$(SLIBJVMTI): $(SOBJS)
- $(CC) $(CFLAGS) $(SLDFLAGS) -o $@ $(SOBJS) $(LIBS)
- $(LN) $@ libjvmti.$(SOLIBEXT)
-
-clean:
- $(RM) -f *.o *.so.* *.so *.lo
-
-install:
- -mkdir -p $(DESTDIR)/lib
- install -m 755 $(SLIBJVMTI) $(DESTDIR)/lib/
- (cd $(DESTDIR)/lib; $(LN) $(SLIBJVMTI) $(VLIBJVMTI))
- (cd $(DESTDIR)/lib; $(LN) $(SLIBJVMTI) libjvmti.$(SOLIBEXT))
- ldconfig
-
-.SUFFIXES: .c .S .o .lo
--
2.7.4