Gentoo Archives: gentoo-commits

From: "Kacper Kowalik (xarthisius)" <xarthisius@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-libs/libmix/files: libmix-2.05-gentoo.patch libmix-2.05-libnet.patch libmix-2.05-autotools.patch
Date: Sun, 23 Jan 2011 10:32:36
Message-Id: 20110123103225.592F820054@flycatcher.gentoo.org
1 xarthisius 11/01/23 10:32:25
2
3 Added: libmix-2.05-gentoo.patch libmix-2.05-libnet.patch
4 Removed: libmix-2.05-autotools.patch
5 Log:
6 Make static libs optional and don't build them with -fPIC. Drop no-net2 flag as currently net-libs/libnet:1.0 doesn't produce shared libs. Prepared for addition of USE=net2, initial fix for compilation with libnet-1.0. Thanks to Angelos for help. Clean ebuild. Drop old.
7
8 (Portage version: 2.2.0_alpha16/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.1 dev-libs/libmix/files/libmix-2.05-gentoo.patch
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libmix/files/libmix-2.05-gentoo.patch?rev=1.1&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libmix/files/libmix-2.05-gentoo.patch?rev=1.1&content-type=text/plain
15
16 Index: libmix-2.05-gentoo.patch
17 ===================================================================
18 Fix install paths, respect user flags, build shared libs with -fPIC,
19 make static libs optional, convert use "--with/without-net2" instead
20 "--without-no-net2"
21
22 http://bugs.gentoo.org/show_bug.cgi?id=268444
23
24 Thanks to Doktor Notor <notordoktor@×××××.com>
25 --- a/Makefile.in
26 +++ b/Makefile.in
27 @@ -1,16 +1,16 @@
28 -INSTALL_INCLUDES_IN = /usr/include
29 -INSTALL_LIBRARY_IN = /usr/lib
30 -INSTALL_MANPAGE_IN = /usr/local/man
31 -
32 -# Compiler to produce C/C++ libraries with (autodetected)
33 -GCC = @CCAUTO@
34 -GPP = @CXAUTO@
35 +includedir = /usr/@includedir@
36 +libdir = @libdir@
37 +mandir = @mandir@
38 +BUILD_STATIC = @BUILD_STATIC@
39
40 RANLIB = @RANLIB@
41 AR = @AR@
42 INSTALL = @INSTALL@
43
44 CFLAGS = @CFLAGS@
45 +CXXFLAGS = @CXXFLAGS@
46 +LDFLAGS = @LDFLAGS@
47 +CCOPTS = @CCOPTS@
48 CLIB = @CLIB@
49
50 AESOBJ = aes/aes.o aes/cast-256.o aes/mars.o aes/saferp.o aes/twofish.o aes/rijndael.o aes/md5.o
51 @@ -21,120 +19,80 @@
52 NETOBJPP = net/net++.o net/net2++.o
53 MISCOBJPP = misc/misc++.o misc/exclude++.o
54
55 -all: libmix.a libmix.so libmix++.a libmix++.so
56 +OBJS_C = $(AESOBJ) $(NETOBJ) $(MISCOBJ)
57 +OBJS_PP = $(AESOBJPP) $(NETOBJPP) $(MISCOBJPP)
58 +
59 +OBJS_C_A = $(OBJS_C:%.o=%.lo)
60 +OBJS_PP_A = $(OBJS_PP:%.o=%.lo)
61 +
62 +TARGETS = libmix.so libmix++.so
63 +ifdef BUILD_STATIC
64 +TARGETS += libmix.a libmix++.a
65 +endif
66 +
67 +all: $(TARGETS)
68 @echo ""
69 @echo Check the install location in the Makefile, and type 'make install'.
70 @echo You may also want to run './libtest' to see all functions work reliably.
71 @echo "Attention: libmix for C++ is now called libmix++[.so|.a]. The original libmix.[so|.a] name will be a plain C library."
72 @echo ""
73
74 -libmix.so: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
75 - ${GCC} ${CFLAGS} -shared ${AESOBJ} ${NETOBJ} ${MISCOBJ} -o libmix.so ${CLIB}
76 +libmix.so: mix/net.h $(OBJS_C)
77 + $(CC) $(CFLAGS) $(LDFLAGS) -shared $(OBJS_C) -o libmix.so -Wl,-soname,libmix.so.0 $(CLIB)
78
79 -libmix.a: mix/net.h ${AESOBJ} ${NETOBJ} ${MISCOBJ}
80 - ${AR} -cr libmix.a ${AESOBJ} ${NETOBJ} ${MISCOBJ}
81 +libmix.a: mix/net.h $(OBJS_C_A)
82 + ${AR} -cr libmix.a $(OBJS_C_A)
83 ${RANLIB} libmix.a
84
85 -libmix++.so: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
86 - ${GPP} ${CFLAGS} -shared ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} -o libmix++.so ${CLIB}
87 +libmix++.so: mix/net.h $(OBJS_PP)
88 + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJ_PP) -o libmix++.so -Wl,-soname,libmix++.so.0 $(CLIB)
89
90 -libmix++.a: mix/net.h ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
91 - ${AR} -cr libmix++.a ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP}
92 +libmix++.a: mix/net.h $(OBJS_PP_A)
93 + ${AR} -cr libmix++.a $(OBJS_PP_A)
94 ${RANLIB} libmix++.a
95
96 libtest: libtest.o
97 - ${GPP} ${CFLAGS} -static -I. -L. libtest++.o -o libtest -lmix++ @LIBS@ ${CLIB}
98 + $(CXX) $(CXXFLAGS) $(CCOPTS) -static -I. -L. libtest++.o -o libtest -lmix++ ${CLIB}
99
100 libtest.o:
101 - ${GPP} ${CFLAGS} -c libtest.c -o libtest.o
102 - ${GPP} ${CFLAGS} -c libtest.c -o libtest++.o
103 -
104 -aes/aes++.o:
105 - ${GPP} ${CFLAGS} -c aes/aes.c -o aes/aes++.o
106 -
107 -aes/cast-256++.o:
108 - ${GPP} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256++.o
109 -
110 -aes/mars++.o:
111 - ${GPP} ${CFLAGS} -c aes/mars.c -o aes/mars++.o
112 -
113 -aes/saferp++.o:
114 - ${GPP} ${CFLAGS} -c aes/saferp.c -o aes/saferp++.o
115 -
116 -aes/twofish++.o:
117 - ${GPP} ${CFLAGS} -c aes/twofish.c -o aes/twofish++.o
118 -
119 -aes/rijndael++.o:
120 - ${GPP} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael++.o
121 -
122 -aes/md5++.o:
123 - ${GPP} ${CFLAGS} -c aes/md5.c -o aes/md5++.o
124 -
125 -net/net++.o:
126 - ${GPP} ${CFLAGS} -c net/net.c -o net/net++.o
127 -
128 -net/net2++.o:
129 - ${GPP} ${CFLAGS} -c net/net2.c -o net/net2++.o
130 -
131 -misc/misc++.o:
132 - ${GPP} ${CFLAGS} -c misc/misc.c -o misc/misc++.o
133 -
134 -misc/exclude++.o:
135 - ${GPP} ${CFLAGS} -c misc/exclude.c -o misc/exclude++.o
136 -
137 -aes/aes.o:
138 - ${GCC} ${CFLAGS} -c aes/aes.c -o aes/aes.o
139 -
140 -aes/cast-256.o:
141 - ${GCC} ${CFLAGS} -c aes/cast-256.c -o aes/cast-256.o
142 -
143 -aes/mars.o:
144 - ${GCC} ${CFLAGS} -c aes/mars.c -o aes/mars.o
145 -
146 -aes/saferp.o:
147 - ${GCC} ${CFLAGS} -c aes/saferp.c -o aes/saferp.o
148 -
149 -aes/twofish.o:
150 - ${GCC} ${CFLAGS} -c aes/twofish.c -o aes/twofish.o
151 -
152 -aes/rijndael.o:
153 - ${GCC} ${CFLAGS} -c aes/rijndael.c -o aes/rijndael.o
154 -
155 -aes/md5.o:
156 - ${GCC} ${CFLAGS} -c aes/md5.c -o aes/md5.o
157 -
158 -net/net.o:
159 - ${GCC} ${CFLAGS} -c net/net.c -o net/net.o
160 -
161 -net/net2.o:
162 - ${GCC} ${CFLAGS} -c net/net2.c -o net/net2.o
163 + $(CC) $(CCOPTS) $(CFLAGS) -c libtest.c -o libtest.o
164 + $(CXX) $(CCOPTS) $(CXXFLAGS) -c libtest.c -o libtest++.o
165
166 -misc/misc.o:
167 - ${GCC} ${CFLAGS} -c misc/misc.c -o misc/misc.o
168
169 -misc/exclude.o:
170 - ${GCC} ${CFLAGS} -c misc/exclude.c -o misc/exclude.o
171 +%++.o: %.c
172 + $(CXX) $(CCOPTS) $(CXXFLAGS) -fPIC -c $< -o $@
173
174 -install: mix/mix.h mix/net.h mix/aes.h mix/misc.h libmix.so libmix.a
175 - ${INSTALL} -d ${INSTALL_INCLUDES_IN}/mix/
176 - ${INSTALL} -d ${INSTALL_LIBRARY_IN}/
177 - ${INSTALL} -d ${INSTALL_MANPAGE_IN}/man3/
178 - ${INSTALL} -m 0644 libmix.3 ${INSTALL_MANPAGE_IN}/man3/libmix.3
179 - ${INSTALL} -m 0644 mix/misc.h ${INSTALL_INCLUDES_IN}/mix/misc.h
180 - ${INSTALL} -m 0644 mix/net.h ${INSTALL_INCLUDES_IN}/mix/net.h
181 - ${INSTALL} -m 0644 mix/aes.h ${INSTALL_INCLUDES_IN}/mix/aes.h
182 - ${INSTALL} -m 0644 mix/mix.h ${INSTALL_INCLUDES_IN}/mix/mix.h
183 - ${INSTALL} -m 0644 mix/lmconfig.h ${INSTALL_INCLUDES_IN}/mix/lmconfig.h
184 - ${INSTALL} -m 0755 libmix.so ${INSTALL_LIBRARY_IN}/libmix.so
185 - ${INSTALL} -m 0755 libmix.a ${INSTALL_LIBRARY_IN}/libmix.a
186 - ${INSTALL} -m 0755 libmix++.so ${INSTALL_LIBRARY_IN}/libmix++.so
187 - ${INSTALL} -m 0755 libmix++.a ${INSTALL_LIBRARY_IN}/libmix++.a
188 +%++.lo: %.c
189 + $(CXX) $(CCOPTS) $(CXXFLAGS) -c $< -o $@
190 +
191 +%.o: %.c
192 + $(CC) $(CCOPTS) $(CFLAGS) -fPIC -c $< -o $@
193 +
194 +%.lo: %.c
195 + $(CC) $(CCOPTS) $(CFLAGS) -c $< -o $@
196 +
197 +install: mix/mix.h mix/net.h mix/aes.h mix/misc.h $(TARGETS)
198 + ${INSTALL} -d $(DESTDIR)/$(includedir)/mix/
199 + ${INSTALL} -d $(DESTDIR)/$(libdir)/
200 + ${INSTALL} -d $(DESTDIR)/$(mandir)/man3/
201 + ${INSTALL} -m 0644 libmix.3 $(DESTDIR)/$(mandir)/man3/libmix.3
202 + ${INSTALL} -m 0644 mix/misc.h $(DESTDIR)/$(includedir)/mix/misc.h
203 + ${INSTALL} -m 0644 mix/net.h $(DESTDIR)/$(includedir)/mix/net.h
204 + ${INSTALL} -m 0644 mix/aes.h $(DESTDIR)/$(includedir)/mix/aes.h
205 + ${INSTALL} -m 0644 mix/mix.h $(DESTDIR)/$(includedir)/mix/mix.h
206 + ${INSTALL} -m 0644 mix/lmconfig.h $(DESTDIR)/$(includedir)/mix/lmconfig.h
207 + ${INSTALL} -m 0755 libmix.so $(DESTDIR)/$(libdir)/libmix.so
208 + ${INSTALL} -m 0755 libmix++.so $(DESTDIR)/$(libdir)/libmix++.so
209 +ifdef BUILD_STATIC
210 + ${INSTALL} -m 0755 libmix.a $(DESTDIR)/$(libdir)/libmix.a
211 + ${INSTALL} -m 0755 libmix++.a $(DESTDIR)/$(libdir)/libmix++.a
212 +endif
213 @echo ""
214 @echo "Installation complete."
215 @echo ""
216
217 uninstall:
218 - rm -fr /usr/include/mix /usr/lib/libmix* /usr/local/man/man3/libmix.3
219 + rm -fr $(includedir)/mix $(libdir)/libmix* $(mandir)/man3/libmix.3
220
221 cleanobj:
222 rm -f ${AESOBJPP} ${NETOBJPP} ${MISCOBJPP} ${AESOBJ} ${NETOBJ} ${MISCOBJ} */core */*~ core *~ *.o libtest
223 --- a/configure.in
224 +++ b/configure.in
225 @@ -4,7 +4,6 @@
226 AC_CONFIG_HEADER(mix/lmconfig.h)
227
228 compileas="0"
229 -net2="1"
230
231 dnl AC_ARG_WITH(libraries-as-c,
232 dnl [ --with-libraries-as-c Generate LibMix binaries with GCC ],
233 @@ -24,30 +23,33 @@
234 dnl ]
235 dnl )
236
237 -AC_ARG_WITH(no-net2,
238 - [ --with-no-net2 Don't use net2 functions, don't require libnet/libpcap.],
239 - [
240 - if test "x$withval" != "$xno" ; then
241 - net2="0"
242 - fi
243 - ]
244 -)
245 +AC_ARG_WITH([net2],
246 + AS_HELP_STRING([--with-net2], [Use net2 functions from libnet/libpcap.]))
247 +AS_IF([test "x$with_net2" = "xyes"], [
248 + AC_DEFINE(LM_USE_NET2)
249 + CLIB="-lnet-1.0 -lpcap"
250 +])
251 +
252 +AC_ARG_ENABLE([static],
253 + AS_HELP_STRING([--enable-static], [Build static libs]))
254 +AS_IF([test "x$enable_static" = "xyes"], [
255 + BUILD_STATIC=1
256 + AC_SUBST(BUILD_STATIC)
257 +])
258
259 AC_PROG_CC
260 AC_MSG_CHECKING(accepted compiler flags)
261 if test $ac_cv_prog_gcc = yes; then
262 - CCOPTS='-I. -Wall -O3 -funroll-loops -ansi -D_LIBMIX_'
263 + CCOPTS='-I. -Wall -ansi -D_LIBMIX_'
264 AC_MSG_RESULT(GNU CC/ANSI (good))
265 else
266 CCOPTS='-I. -D_LIBMIX_'
267 AC_MSG_RESULT(crappy :P)
268 fi
269 - CFLAGS="$CCOPTS"
270
271 AC_PROG_CXX
272
273 CXAUTO="null"
274 -CLIB=""
275
276 CCAUTO=$CC
277 CXAUTO=$CXX
278 @@ -60,10 +62,6 @@
279 dnl CXAUTO=$CXX
280 dnl fi
281
282 -if test $net2 = "1"; then
283 - AC_DEFINE(LM_USE_NET2)
284 - CLIB="-lnet -lpcap"
285 -fi
286
287 if test $CXAUTO = "null"; then
288 AC_MSG_ERROR( *** Please use either ./configure --with-libraries-as-c
289 @@ -74,6 +72,11 @@
290 AC_SUBST(CXAUTO)
291 AC_SUBST(AR)
292 AC_SUBST(CLIB)
293 +AC_SUBST(LDFLAGS)
294 +AC_SUBST(libdir)
295 +AC_SUBST(mandir)
296 +AC_SUBST(includedir)
297 +AC_SUBST(CCOPTS)
298 AC_CHECK_PROGS(AR, ar, @true)
299 AC_PROG_RANLIB
300 AC_PROG_INSTALL
301
302
303
304 1.1 dev-libs/libmix/files/libmix-2.05-libnet.patch
305
306 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libmix/files/libmix-2.05-libnet.patch?rev=1.1&view=markup
307 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/libmix/files/libmix-2.05-libnet.patch?rev=1.1&content-type=text/plain
308
309 Index: libmix-2.05-libnet.patch
310 ===================================================================
311 --- a/mix/net.h.in
312 +++ b/mix/net.h.in
313 @@ -78,11 +78,11 @@
314 #endif
315 #ifdef __cplusplus
316 extern "C" {
317 -#include <libnet.h>
318 +#include <libnet-1.0.h>
319 #include <pcap.h>
320 }
321 #else
322 -#include <libnet.h>
323 +#include <libnet-1.0.h>
324 #include <pcap.h>
325 #endif
326
327 --- a/net/net2.c
328 +++ b/net/net2.c
329 @@ -260,7 +260,7 @@
330 lm_libpcap_init();
331
332 rawpacket = (unsigned char *)pcap_next(pcap_fd, &hdr);
333 - (char *)rawpacket += pcap_l2offset;
334 + *rawpacket += pcap_l2offset;
335
336 ih = (struct lmip *)rawpacket;
337 switch(ih->pro)