8f095c180434e2b4c9ac573f21c39ff7f07148e8
[openwrt.git] / package / network / utils / iptables / patches / 200-configurable_builtin.patch
1 Index: iptables-1.4.18/extensions/GNUmakefile.in
2 ===================================================================
3 --- iptables-1.4.18.orig/extensions/GNUmakefile.in      2013-03-03 22:40:11.000000000 +0100
4 +++ iptables-1.4.18/extensions/GNUmakefile.in   2013-03-05 16:37:07.583256974 +0100
5 @@ -46,9 +46,24 @@
6  pfx_build_mod := $(filter-out @blacklist_modules@,${pfx_build_mod})
7  pf4_build_mod := $(filter-out @blacklist_modules@,${pf4_build_mod})
8  pf6_build_mod := $(filter-out @blacklist_modules@,${pf6_build_mod})
9 -pfx_objs      := $(patsubst %,libxt_%.o,${pfx_build_mod})
10 -pf4_objs      := $(patsubst %,libipt_%.o,${pf4_build_mod})
11 -pf6_objs      := $(patsubst %,libip6t_%.o,${pf6_build_mod})
12 +
13 +ifdef BUILTIN_MODULES
14 +pfx_build_static := $(filter $(BUILTIN_MODULES),${pfx_build_mod})
15 +pf4_build_static := $(filter $(BUILTIN_MODULES),${pf4_build_mod})
16 +pf6_build_static := $(filter $(BUILTIN_MODULES),${pf6_build_mod})
17 +else
18 +@ENABLE_STATIC_TRUE@ pfx_build_static := $(pfx_build_mod)
19 +@ENABLE_STATIC_TRUE@ pf4_build_static := $(pf4_build_mod)
20 +@ENABLE_STATIC_TRUE@ pf6_build_static := $(pf6_build_mod)
21 +endif
22 +
23 +pfx_build_mod := $(filter-out $(pfx_build_static),$(pfx_build_mod))
24 +pf4_build_mod := $(filter-out $(pf4_build_static),$(pf4_build_mod))
25 +pf6_build_mod := $(filter-out $(pf6_build_static),$(pf6_build_mod))
26 +
27 +pfx_objs      := $(patsubst %,libxt_%.o,${pfx_build_static})
28 +pf4_objs      := $(patsubst %,libipt_%.o,${pf4_build_static})
29 +pf6_objs      := $(patsubst %,libip6t_%.o,${pf6_build_static})
30  pfx_solibs    := $(patsubst %,libxt_%.so,${pfx_build_mod} ${pfx_symlinks})
31  pf4_solibs    := $(patsubst %,libipt_%.so,${pf4_build_mod})
32  pf6_solibs    := $(patsubst %,libip6t_%.so,${pf6_build_mod})
33 @@ -59,11 +74,11 @@
34  #
35  targets := libext.a libext4.a libext6.a matches.man targets.man
36  targets_install :=
37 -@ENABLE_STATIC_TRUE@ libext_objs := ${pfx_objs}
38 -@ENABLE_STATIC_TRUE@ libext4_objs := ${pf4_objs}
39 -@ENABLE_STATIC_TRUE@ libext6_objs := ${pf6_objs}
40 -@ENABLE_STATIC_FALSE@ targets += ${pfx_solibs} ${pf4_solibs} ${pf6_solibs}
41 -@ENABLE_STATIC_FALSE@ targets_install += ${pfx_solibs} ${pf4_solibs} ${pf6_solibs}
42 +libext_objs := ${pfx_objs}
43 +libext4_objs := ${pf4_objs}
44 +libext6_objs := ${pf6_objs}
45 +targets += ${pfx_solibs} ${pf4_solibs} ${pf6_solibs}
46 +targets_install := $(strip ${targets_install} ${pfx_solibs} ${pf4_solibs} ${pf6_solibs})
47  
48  .SECONDARY:
49  
50 @@ -128,9 +143,9 @@
51  libext6.a: initext6.o ${libext6_objs}
52         ${AM_VERBOSE_AR} ${AR} crs $@ $^;
53  
54 -initext_func  := $(addprefix xt_,${pfx_build_mod})
55 -initext4_func := $(addprefix ipt_,${pf4_build_mod})
56 -initext6_func := $(addprefix ip6t_,${pf6_build_mod})
57 +initext_func  := $(addprefix xt_,${pfx_build_static})
58 +initext4_func := $(addprefix ipt_,${pf4_build_static})
59 +initext6_func := $(addprefix ip6t_,${pf6_build_static})
60  
61  .initext.dd: FORCE
62         @echo "${initext_func}" >$@.tmp; \