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 |