600-shared-libext.patch 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. --- a/extensions/GNUmakefile.in
  2. +++ b/extensions/GNUmakefile.in
  3. @@ -86,7 +86,7 @@ pfx_symlink_files := $(patsubst %,libxt_
  4. #
  5. # Building blocks
  6. #
  7. -targets := libext.a libext4.a libext6.a libext_ebt.a libext_arpt.a matches.man targets.man
  8. +targets := libiptext.so libiptext4.so libiptext6.so libiptext_ebt.so libiptext_arpt.so matches.man targets.man
  9. targets_install :=
  10. libext_objs := ${pfx_objs}
  11. libext_ebt_objs := ${pfb_objs}
  12. @@ -133,7 +133,7 @@ clean:
  13. distclean: clean
  14. init%.o: init%.c
  15. - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init ${CFLAGS} -o $@ -c $<;
  16. + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<;
  17. -include .*.d
  18. @@ -173,22 +173,22 @@ xt_connlabel_LIBADD = @libnetfilter_conn
  19. # handling code in the Makefiles.
  20. #
  21. lib%.o: ${srcdir}/lib%.c
  22. - ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init ${CFLAGS} -o $@ -c $<;
  23. + ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -DNO_SHARED_LIBS=1 -D_INIT=lib$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<;
  24. -libext.a: initext.o ${libext_objs}
  25. - ${AM_VERBOSE_AR} ${AR} crs $@ $^;
  26. +libiptext.so: initext.o ${libext_objs}
  27. + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  28. -libext_ebt.a: initextb.o ${libext_ebt_objs}
  29. - ${AM_VERBOSE_AR} ${AR} crs $@ $^;
  30. +libiptext_ebt.so: initextb.o ${libext_ebt_objs}
  31. + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  32. -libext_arpt.a: initexta.o ${libext_arpt_objs}
  33. - ${AM_VERBOSE_AR} ${AR} crs $@ $^;
  34. +libiptext_arpt.so: initexta.o ${libext_arpt_objs}
  35. + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  36. -libext4.a: initext4.o ${libext4_objs}
  37. - ${AM_VERBOSE_AR} ${AR} crs $@ $^;
  38. +libiptext4.so: initext4.o ${libext4_objs}
  39. + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  40. -libext6.a: initext6.o ${libext6_objs}
  41. - ${AM_VERBOSE_AR} ${AR} crs $@ $^;
  42. +libiptext6.so: initext6.o ${libext6_objs}
  43. + ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $^ -L../libxtables/.libs -lxtables $(foreach obj,$^,${$(patsubst lib%.o,%,$(obj))_LIBADD});
  44. initext_func := $(addprefix xt_,${pfx_build_static})
  45. initextb_func := $(addprefix ebt_,${pfb_build_static})
  46. --- a/iptables/Makefile.am
  47. +++ b/iptables/Makefile.am
  48. @@ -7,7 +7,7 @@ AM_LDFLAGS = ${regular_LDFLAGS}
  49. BUILT_SOURCES =
  50. common_sources = iptables-xml.c xtables-multi.h xshared.c xshared.h
  51. -common_ldadd = ../extensions/libext.a ../libxtables/libxtables.la -lm
  52. +common_ldadd = ../libxtables/libxtables.la -lm
  53. common_cflags = ${AM_CFLAGS}
  54. if ENABLE_STATIC
  55. common_cflags += -DALL_INCLUSIVE
  56. @@ -17,15 +17,18 @@ xtables_legacy_multi_SOURCES = ${common
  57. iptables-restore.c iptables-save.c
  58. xtables_legacy_multi_CFLAGS = ${common_cflags}
  59. xtables_legacy_multi_LDADD = ${common_ldadd}
  60. +xtables_legacy_multi_LDFLAGS = -L../extensions/ -liptext
  61. if ENABLE_IPV4
  62. xtables_legacy_multi_SOURCES += iptables-standalone.c iptables.c iptables-multi.h
  63. xtables_legacy_multi_CFLAGS += -DENABLE_IPV4
  64. -xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la ../extensions/libext4.a
  65. +xtables_legacy_multi_LDADD += ../libiptc/libip4tc.la
  66. +xtables_legacy_multi_LDFLAGS += -liptext4
  67. endif
  68. if ENABLE_IPV6
  69. xtables_legacy_multi_SOURCES += ip6tables-standalone.c ip6tables.c ip6tables-multi.h
  70. xtables_legacy_multi_CFLAGS += -DENABLE_IPV6
  71. -xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la ../extensions/libext6.a
  72. +xtables_legacy_multi_LDADD += ../libiptc/libip6tc.la
  73. +xtables_legacy_multi_LDFLAGS += -liptext6
  74. endif
  75. # iptables using nf_tables api
  76. @@ -33,12 +36,9 @@ if ENABLE_NFTABLES
  77. xtables_nft_multi_SOURCES = ${common_sources} xtables-nft-multi.c
  78. xtables_nft_multi_CFLAGS = ${common_cflags}
  79. xtables_nft_multi_LDADD = ${common_ldadd} \
  80. - ../extensions/libext_arpt.a \
  81. - ../extensions/libext_ebt.a \
  82. - ../extensions/libext4.a \
  83. - ../extensions/libext6.a \
  84. ${libmnl_LIBS} ${libnftnl_LIBS} \
  85. ${libnetfilter_conntrack_LIBS}
  86. +xtables_nft_multi_LDFLAGS = -L../extensions/ -liptext -liptext_arpt -liptext_ebt -liptext4 -liptext6
  87. xtables_nft_multi_CFLAGS += -DENABLE_NFTABLES -DENABLE_IPV4 -DENABLE_IPV6
  88. xtables_nft_multi_SOURCES += nft.c nft.h \
  89. nft-arp.c nft-ipv4.c nft-ipv6.c \