1 |
jauhien 14/06/19 13:08:44 |
2 |
|
3 |
Added: ntl-5.5.2-shared-r1.patch |
4 |
Log: |
5 |
fix bug #513660 |
6 |
|
7 |
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xB2EFA1D4) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: ntl-5.5.2-shared-r1.patch |
16 |
=================================================================== |
17 |
--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100 |
18 |
+++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100 |
19 |
@@ -25,14 +25,16 @@ |
20 |
'LDFLAGS_CXX' => '$(LDFLAGS)', |
21 |
'LDLIBS' => '-lm', |
22 |
'LDLIBS_CXX' => '$(LDLIBS)', |
23 |
+'PICFLAG' => '-fPIC', |
24 |
'CPPFLAGS' => '', |
25 |
|
26 |
-'DEF_PREFIX' => '/usr/local', |
27 |
+'DEF_PREFIX' => '/usr', |
28 |
|
29 |
'PREFIX' => '$(DEF_PREFIX)', |
30 |
'LIBDIR' => '$(PREFIX)/lib', |
31 |
'INCLUDEDIR' => '$(PREFIX)/include', |
32 |
'DOCDIR' => '$(PREFIX)/share/doc', |
33 |
+'SHMAKE' => 'non-gld', |
34 |
|
35 |
'GMP_PREFIX' => '$(DEF_PREFIX)', |
36 |
'GMP_INCDIR' => '$(GMP_PREFIX)/include', |
37 |
--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100 |
38 |
+++ src/mfile 2009-08-10 20:31:36.000000000 +0100 |
39 |
@@ -141,6 +146,16 @@ |
40 |
WIZARD=@{WIZARD} |
41 |
# Set to off if you want to bypass the wizard; otherwise, set to on. |
42 |
|
43 |
+############################################################### |
44 |
+# |
45 |
+# New addition for shared library building. With gcc you need to |
46 |
+# choose the Position Indepent Code flag. You have a choice of |
47 |
+# -fpic better code but in rare case not available (ppc) |
48 |
+# -fPIC slightly slower code but guaranted to work anywhere. |
49 |
+# |
50 |
+############################################################### |
51 |
+ |
52 |
+PICFLAG=@{PICFLAG} |
53 |
|
54 |
################################################################# |
55 |
# |
56 |
@@ -173,6 +188,8 @@ |
57 |
|
58 |
OBJ=$(O19) |
59 |
|
60 |
+SHOBJ=$(subst .o,.lo,$(OBJ)) |
61 |
+ |
62 |
# library source files |
63 |
|
64 |
|
65 |
@@ -320,7 +356,7 @@ |
66 |
LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) |
67 |
LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX) |
68 |
|
69 |
- |
70 |
+.SUFFIXES: .lo |
71 |
|
72 |
# 'make all' does a complete make, including all setup. |
73 |
# It also creates the file 'all', which means you should |
74 |
@@ -328,11 +364,11 @@ |
75 |
# again. |
76 |
|
77 |
all: |
78 |
- make setup1 |
79 |
- make setup2 |
80 |
- make setup3 |
81 |
- make setup4 |
82 |
- make ntl.a |
83 |
+ $(MAKE) setup1 |
84 |
+ $(MAKE) setup2 |
85 |
+ $(MAKE) setup3 |
86 |
+ $(MAKE) setup4 |
87 |
+ $(MAKE) ntl.a |
88 |
touch all |
89 |
|
90 |
|
91 |
@@ -378,18 +414,31 @@ |
92 |
lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h |
93 |
$(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c |
94 |
|
95 |
+lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h |
96 |
+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo |
97 |
+ |
98 |
+ |
99 |
+ |
100 |
ctools.o: ctools.c |
101 |
$(LCOMP) $(COMPILE) ctools.c |
102 |
|
103 |
+ctools.lo: ctools.c |
104 |
+ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo |
105 |
+ |
106 |
|
107 |
GetTime.o: GetTime.c |
108 |
$(LCOMP) $(COMPILE) GetTime.c |
109 |
|
110 |
- |
111 |
+GetTime.lo: GetTime.c |
112 |
+ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo |
113 |
|
114 |
.c.o: |
115 |
$(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $< |
116 |
|
117 |
+.c.lo: |
118 |
+ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $< |
119 |
+ |
120 |
+ |
121 |
.c: |
122 |
@{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT |
123 |
@{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR |
124 |
@@ -403,7 +452,7 @@ |
125 |
|
126 |
check: |
127 |
sh RemoveProg $(PROGS) |
128 |
- make QuickTest |
129 |
+ $(MAKE) QuickTest |
130 |
./QuickTest |
131 |
sh RemoveProg QuickTest |
132 |
sh TestScript |
133 |
@@ -460,19 +509,18 @@ |
134 |
# |
135 |
################################################################# |
136 |
|
137 |
-clobber: |
138 |
+clobber: clean |
139 |
rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c |
140 |
rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h |
141 |
- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux |
142 |
- rm -f *.o |
143 |
- rm -rf small |
144 |
+ sh RemoveProg $(PROGS) |
145 |
+ rm -f libntl*.so* |
146 |
rm -f cfileout mfileout |
147 |
rm -rf .libs *.lo libntl.la |
148 |
rm -f all |
149 |
|
150 |
clean: |
151 |
sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux |
152 |
- rm -f *.o |
153 |
+ rm -f *.o *.lo |
154 |
rm -rf small |
155 |
@{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR |
156 |
|
157 |
@@ -549,3 +597,10 @@ |
158 |
|
159 |
|
160 |
|
161 |
+sharedso: DIRNAME $(SHOBJ) |
162 |
+ $(LINK_CXX) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) |
163 |
+ ln -s lib`cat DIRNAME`.so libntl.so |
164 |
+ |
165 |
+shareddylib: DIRNAME $(SHOBJ) |
166 |
+ $(LINK_CXX) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) |
167 |
+ ln -s lib`cat DIRNAME`.dylib libntl.dylib |