Gentoo Archives: gentoo-commits

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