190-link-libelf-to-tc-only.patch 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --- a/configure
  2. +++ b/configure
  3. @@ -231,8 +231,9 @@ check_elf()
  4. echo "HAVE_ELF:=y" >>$CONFIG
  5. echo "yes"
  6. - echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG
  7. - echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG
  8. + echo 'CFLAGS += -DHAVE_ELF' >> $CONFIG
  9. + echo 'ELF_CFLAGS += ' `${PKG_CONFIG} libelf --cflags` >> $CONFIG
  10. + echo 'ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG
  11. else
  12. echo "no"
  13. fi
  14. --- a/lib/Makefile
  15. +++ b/lib/Makefile
  16. @@ -11,9 +11,17 @@ UTILOBJ = utils.o rt_names.o ll_map.o ll
  17. inet_proto.o namespace.o json_writer.o json_print.o \
  18. names.o color.o bpf.o exec.o fs.o
  19. +ELFOBJ=$(patsubst %.o,%.elf.o,$(UTILOBJ))
  20. +
  21. NLOBJ=libgenl.o libnetlink.o
  22. -all: libnetlink.a libutil.a
  23. +all: libnetlink.a libutil.a libutil-elf.a
  24. +
  25. +%.o: %.c
  26. + $(QUIET_CC)$(CC) $(CFLAGS) -UHAVE_ELF $(EXTRA_CFLAGS) -c -o $@ $<
  27. +
  28. +%.elf.o: %.c
  29. + $(QUIET_CC)$(CC) $(CFLAGS) $(ELF_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
  30. libnetlink.a: $(NLOBJ)
  31. $(QUIET_AR)$(AR) rcs $@ $^
  32. @@ -21,7 +29,10 @@ libnetlink.a: $(NLOBJ)
  33. libutil.a: $(UTILOBJ) $(ADDLIB)
  34. $(QUIET_AR)$(AR) rcs $@ $^
  35. +libutil-elf.a: $(ELFOBJ) $(ADDLIB)
  36. + $(QUIET_AR)$(AR) rcs $@ $^
  37. +
  38. install:
  39. clean:
  40. - rm -f $(NLOBJ) $(UTILOBJ) $(ADDLIB) libnetlink.a libutil.a
  41. + rm -f $(NLOBJ) $(UTILOBJ) $(ELFOBJ) $(ADDLIB) libnetlink.a libutil.a libutil-elf.a
  42. --- a/tc/Makefile
  43. +++ b/tc/Makefile
  44. @@ -133,8 +133,8 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
  45. all: tc $(TCSO)
  46. -tc: $(TCOBJ) $(LIBNETLINK) libtc.a
  47. - $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
  48. +tc: $(TCOBJ) $(subst libutil.a,libutil-elf.a,$(LIBNETLINK)) libtc.a
  49. + $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) $(ELF_LDLIBS) -o $@
  50. libtc.a: $(TCLIB)
  51. $(QUIET_AR)$(AR) rcs $@ $^