Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c47661a authored by Ingo Molnar's avatar Ingo Molnar
Browse files

tools/perf/build: Split out feature checks: 'liberty', 'liberty-z', 'cplus-demangle'

Note that these are rarely executed tests, so we call feature_check() explicitly
and don't have them in CORE_FEATURE_CHECKS.

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-pvumlx6mbtfxffgrlwO2mRcx@git.kernel.org


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 73a725f0
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -472,23 +472,19 @@ else
    EXTLIBS += -liberty
    CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT
  else
    FLAGS_BFD=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -DPACKAGE='perf' -lbfd
    ifeq ($(feature-libbfd), 1)
      EXTLIBS += -lbfd
    else
      FLAGS_BFD_IBERTY=$(FLAGS_BFD) -liberty
      has_bfd_iberty := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD_IBERTY),liberty)
      ifeq ($(has_bfd_iberty),y)
      $(feature_check,liberty)
      ifeq ($(feature-liberty), 1)
        EXTLIBS += -lbfd -liberty
      else
        FLAGS_BFD_IBERTY_Z=$(FLAGS_BFD_IBERTY) -lz
        has_bfd_iberty_z := $(call try-cc,$(SOURCE_BFD),$(FLAGS_BFD_IBERTY_Z),libz)
        ifeq ($(has_bfd_iberty_z),y)
        $(feature_check,liberty-z)
        ifeq ($(feature-liberty-z), 1)
          EXTLIBS += -lbfd -liberty -lz
        else
          FLAGS_CPLUS_DEMANGLE=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -liberty
          has_cplus_demangle := $(call try-cc,$(SOURCE_CPLUS_DEMANGLE),$(FLAGS_CPLUS_DEMANGLE),demangle)
          ifeq ($(has_cplus_demangle),y)
          $(feature_check,cplus-demangle)
          ifeq ($(feature-cplus-demangle), 1)
            EXTLIBS += -liberty
            CFLAGS += -DHAVE_CPLUS_DEMANGLE_SUPPORT
          else
+12 −0
Original line number Diff line number Diff line
@@ -11,6 +11,9 @@ FILES= \
	test-hello			\
	test-libaudit			\
	test-libbfd			\
	test-liberty			\
	test-liberty-z			\
	test-cplus-demangle		\
	test-libelf			\
	test-libelf-getphdrnum		\
	test-libelf-mmap		\
@@ -122,6 +125,15 @@ test-libpython-version:
test-libbfd:
	$(BUILD) -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl

test-liberty:
	$(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty

test-liberty-z:
	$(CC) -o $(OUTPUT)$@ test-libbfd.c -DPACKAGE='perf' -DPACKAGE=perf -lbfd -ldl -liberty -lz

test-cplus-demangle:
	$(BUILD) -liberty

test-on-exit:
	$(BUILD)

+10 −0
Original line number Diff line number Diff line

extern char *cplus_demangle(const char *, int);

int main(void)
{
	cplus_demangle(0, 0);

	return 0;
}