]> git.pld-linux.org Git - packages/UMFPACK.git/blob - UMFPACK-shared.patch
f6c535ec64d0303b408c59d4b044c2e145b42a10
[packages/UMFPACK.git] / UMFPACK-shared.patch
1 --- UMFPACK/Demo/Makefile.orig  2012-06-27 20:05:32.088316770 +0200
2 +++ UMFPACK/Demo/Makefile       2012-06-27 20:08:28.351642710 +0200
3 @@ -48,34 +48,10 @@
4  
5  LIBS = $(BLAS) $(XERBLA) $(LIB) $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION)
6  
7 -../Lib/libumfpack.a:
8 +../Lib/libumfpack.la:
9         ( cd ../Lib ; $(MAKE) )
10  
11 -../../AMD/Lib/libamd.a:
12 -       ( cd ../../AMD ; $(MAKE) library )
13 -
14 -../../SuiteSparse_config/libsuitesparseconfig.a:
15 -       ( cd ../../SuiteSparse_config ; $(MAKE) library )
16 -
17 -../../CHOLMOD/Lib/libcholmod.a:
18 -       - ( cd ../../CHOLMOD && $(MAKE) library )
19 -
20 -../../COLAMD/Lib/libcolamd.a:
21 -       - ( cd ../../COLAMD && $(MAKE) library )
22 -
23 -
24 -../../CCOLAMD/Lib/libccolamd.a:
25 -       - ( cd ../../CCOLAMD && $(MAKE) library )
26 -
27 -../../CAMD/Lib/libcamd.a:
28 -       - ( cd ../../CAMD && $(MAKE) library )
29 -
30 -$(METIS):
31 -       ( cd $(METIS_PATH) && $(MAKE) )
32 -
33 -UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \
34 -    ../../SuiteSparse_config/libsuitesparseconfig.a \
35 -    $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION)
36 +UMFPACK = ../Lib/libumfpack.la
37  
38  libs: $(UMFPACK)
39  
40 @@ -86,7 +62,7 @@
41  dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c
42  
43  umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK)
44 -       $(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS)
45 +       libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS)
46  
47  # the GNU rules are simpler:
48  # umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed
49 @@ -103,28 +79,28 @@
50         - sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c
51  
52  umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK)
53 -       $(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS)
54 +       libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS)
55  
56  # double-precision, SuiteSparse_long verion:
57  umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed
58         - sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c
59  
60  umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK)
61 -       $(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS)
62 +       libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS)
63  
64  # complex, int verion:
65  umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed
66         - sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c
67  
68  umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK)
69 -       $(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS)
70 +       libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS)
71  
72  # complex, SuiteSparse_long verion:
73  umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed
74         - sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c
75  
76  umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK)
77 -       $(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS)
78 +       libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS)
79  
80  run: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo umfpack_simple
81         ./umfpack_simple
82 @@ -166,16 +142,16 @@
83         - ./umf4 a 1e-6
84  
85  umf4: umf4.c $(UMFPACK)
86 -       $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS)
87 +       libtool --tag=CC --mode=link $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS)
88  
89  readhb:  readhb.f
90 -       $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB)
91 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB)
92  
93  readhb_size:  readhb_size.f
94 -       $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB)
95 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB)
96  
97  readhb_nozeros:  readhb_nozeros.f
98 -       $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB)
99 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB)
100  
101  #-------------------------------------------------------------------------------
102  # compile the FORTRAN interface and demo
103 @@ -183,17 +159,17 @@
104  
105  # This doesn't seem to work on the Mac (Snow Leopard, OS X 10.6.1)
106  fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK)
107 -       $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
108 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
109             $(UMFPACK) $(LIBS)
110         - ./umf4hb < HB/west0067.rua > my_umf4hb.out
111         - diff my_umf4hb.out umf4hb.out
112 -       $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
113 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
114             $(UMFPACK) $(LIBS)
115         - ./umf4zhb < HB/qc324.cua > my_umf4zhb.out
116         - diff my_umf4zhb.out umf4zhb.out
117  
118  fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK)
119 -       $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
120 +       libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
121             $(UMFPACK) $(LIBS)
122         - ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out
123         - diff my_umf4hb64.out umf4hb64.out
124 --- UMFPACK/Lib/GNUmakefile.orig        2012-01-06 09:13:28.336801011 +0100
125 +++ UMFPACK/Lib/GNUmakefile     2012-01-06 09:43:51.583528725 +0100
126 @@ -2,16 +2,18 @@
127  # UMFPACK Makefile for compiling on Unix systems (for GNU Make)
128  #-------------------------------------------------------------------------------
129  
130 -default: libumfpack.a
131 +default: libumfpack.la
132  
133  include /usr/share/misc/SuiteSparse_config.mk
134  
135  # UMFPACK can use CHOLMOD by default as an ordering option
136  ifneq (,$(findstring -DNCHOLMOD, $(UMFPACK_CONFIG)))
137      I = -I../Include -I../Source -I/usr/include/amd
138 +    LIBS = -lamd -lblas
139  else
140      I = -I../Include -I../Source -I/usr/include/amd \
141          -I/usr/include/cholmod
142 +    LIBS = -lcholmod -lamd -lblas
143  endif
144  
145  C = $(CC) $(CF) $(UMFPACK_CONFIG) $(I)
146 @@ -78,8 +80,7 @@
147         $(addprefix ../Source/,  $(addsuffix .h,$(UMFCH))) \
148         $(addprefix ../Source/,  $(addsuffix .h,$(UMFINT))) \
149         $(addprefix ../Include/, $(addsuffix .h,$(USER))) \
150 -       $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
151 -       ../../AMD/Include/amd_internal.h ../../AMD/Include/amd.h
152 +       $(addprefix ../Include/, $(addsuffix .h,$(GENERIC)))
153  
154  #-------------------------------------------------------------------------------
155  # object files for each version
156 @@ -98,171 +99,171 @@
157  #-------------------------------------------------------------------------------
158  
159  umf_i_%.o: ../Source/umf_%.c $(INC)
160 -       $(C) -DDINT -c $< -o $@
161 +       libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
162  
163  umf_l_%.o: ../Source/umf_%.c $(INC)
164 -       $(C) -DDLONG -c $< -o $@
165 +       libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
166  
167  #-------------------------------------------------------------------------------
168  # compile each routine in the DI version
169  #-------------------------------------------------------------------------------
170  
171  umf_di_%.o: ../Source/umf_%.c $(INC)
172 -       $(C) -DDINT -c $< -o $@
173 +       libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
174  
175  umf_di_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
176 -       $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
177 +       libtool --tag=CC --mode=compile $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
178  
179  umf_di_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
180 -       $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
181 +       libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
182  
183  umf_di_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
184 -       $(C) -DDINT -DDO_MAP -c $< -o $@
185 +       libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -c $< -o $@
186  
187  umf_di_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
188 -       $(C) -DDINT -DDO_VALUES -c $< -o $@
189 +       libtool --tag=CC --mode=compile $(C) -DDINT -DDO_VALUES -c $< -o $@
190  
191  umf_di_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
192 -       $(C) -DDINT -c $< -o $@
193 +       libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
194  
195  umf_di_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
196 -       $(C) -DDINT -DFIXQ -c $< -o $@
197 +       libtool --tag=CC --mode=compile $(C) -DDINT -DFIXQ -c $< -o $@
198  
199  umf_di_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
200 -       $(C) -DDINT -DDROP -c $< -o $@
201 +       libtool --tag=CC --mode=compile $(C) -DDINT -DDROP -c $< -o $@
202  
203  umfpack_di_wsolve.o: ../Source/umfpack_solve.c $(INC)
204 -       $(C) -DDINT -DWSOLVE -c $< -o $@
205 +       libtool --tag=CC --mode=compile $(C) -DDINT -DWSOLVE -c $< -o $@
206  
207  umfpack_di_%.o: ../Source/umfpack_%.c $(INC)
208 -       $(C) -DDINT -c $< -o $@
209 +       libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
210  
211  #-------------------------------------------------------------------------------
212  # compile each routine in the DL version
213  #-------------------------------------------------------------------------------
214  
215  umf_dl_%.o: ../Source/umf_%.c $(INC)
216 -       $(C) -DDLONG -c $< -o $@
217 +       libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
218  
219  umf_dl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
220 -       $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
221 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
222  
223  umf_dl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
224 -       $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
225 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
226  
227  umf_dl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
228 -       $(C) -DDLONG -DDO_MAP -c $< -o $@
229 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -c $< -o $@
230  
231  umf_dl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
232 -       $(C) -DDLONG -DDO_VALUES -c $< -o $@
233 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_VALUES -c $< -o $@
234  
235  umf_dl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
236 -       $(C) -DDLONG -c $< -o $@
237 +       libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
238  
239  umf_dl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
240 -       $(C) -DDLONG -DFIXQ -c $< -o $@
241 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DFIXQ -c $< -o $@
242  
243  umf_dl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
244 -       $(C) -DDLONG -DDROP -c $< -o $@
245 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DDROP -c $< -o $@
246  
247  umfpack_dl_wsolve.o: ../Source/umfpack_solve.c $(INC)
248 -       $(C) -DDLONG -DWSOLVE -c $< -o $@
249 +       libtool --tag=CC --mode=compile $(C) -DDLONG -DWSOLVE -c $< -o $@
250  
251  umfpack_dl_%.o: ../Source/umfpack_%.c $(INC)
252 -       $(C) -DDLONG -c $< -o $@
253 +       libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
254  
255  #-------------------------------------------------------------------------------
256  # compile each routine in the ZI version
257  #-------------------------------------------------------------------------------
258  
259  umf_zi_%.o: ../Source/umf_%.c $(INC)
260 -       $(C) -DZINT -c $< -o $@
261 +       libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
262  
263  umf_zi_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
264 -       $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
265 +       libtool --tag=CC --mode=compile $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
266  
267  umf_zi_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
268 -       $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
269 +       libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
270  
271  umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
272 -       $(C) -DZINT -DDO_MAP -c $< -o $@
273 +       libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -c $< -o $@
274  
275  umf_zi_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
276 -       $(C) -DZINT -DDO_VALUES -c $< -o $@
277 +       libtool --tag=CC --mode=compile $(C) -DZINT -DDO_VALUES -c $< -o $@
278  
279  umf_zi_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
280 -       $(C) -DZINT -c $< -o $@
281 +       libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
282  
283  umf_zi_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
284 -       $(C) -DZINT -DFIXQ -c $< -o $@
285 +       libtool --tag=CC --mode=compile $(C) -DZINT -DFIXQ -c $< -o $@
286  
287  umf_zi_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
288 -       $(C) -DZINT -DDROP -c $< -o $@
289 +       libtool --tag=CC --mode=compile $(C) -DZINT -DDROP -c $< -o $@
290  
291  umfpack_zi_wsolve.o: ../Source/umfpack_solve.c $(INC)
292 -       $(C) -DZINT -DWSOLVE -c $< -o $@
293 +       libtool --tag=CC --mode=compile $(C) -DZINT -DWSOLVE -c $< -o $@
294  
295  umfpack_zi_%.o: ../Source/umfpack_%.c $(INC)
296 -       $(C) -DZINT -c $< -o $@
297 +       libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
298  
299  #-------------------------------------------------------------------------------
300  # compile each routine in the ZL version
301  #-------------------------------------------------------------------------------
302  
303  umf_zl_%.o: ../Source/umf_%.c $(INC)
304 -       $(C) -DZLONG -c $< -o $@
305 +       libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
306  
307  umf_zl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
308 -       $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
309 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
310  
311  umf_zl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
312 -       $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
313 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
314  
315  umf_zl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
316 -       $(C) -DZLONG -DDO_MAP -c $< -o $@
317 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -c $< -o $@
318  
319  umf_zl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
320 -       $(C) -DZLONG -DDO_VALUES -c $< -o $@
321 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_VALUES -c $< -o $@
322  
323  umf_zl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
324 -       $(C) -DZLONG -c $< -o $@
325 +       libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
326  
327  umf_zl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
328 -       $(C) -DZLONG -DFIXQ -c $< -o $@
329 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DFIXQ -c $< -o $@
330  
331  umf_zl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
332 -       $(C) -DZLONG -DDROP -c $< -o $@
333 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DDROP -c $< -o $@
334  
335  umfpack_zl_wsolve.o: ../Source/umfpack_solve.c $(INC)
336 -       $(C) -DZLONG -DWSOLVE -c $< -o $@
337 +       libtool --tag=CC --mode=compile $(C) -DZLONG -DWSOLVE -c $< -o $@
338  
339  umfpack_zl_%.o: ../Source/umfpack_%.c $(INC)
340 -       $(C) -DZLONG -c $< -o $@
341 +       libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
342  
343  #-------------------------------------------------------------------------------
344  # Create the generic routines (GN) using a generic rule
345  #-------------------------------------------------------------------------------
346  
347  umfpack_gn_%.o: ../Source/umfpack_%.c $(INC)
348 -       $(C) -c $< -o $@
349 +       libtool --tag=CC --mode=compile $(C) -c $< -o $@
350  
351  #-------------------------------------------------------------------------------
352  # Create the libumfpack.a library
353  #-------------------------------------------------------------------------------
354  
355 -libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
356 -       $(ARCHIVE)  libumfpack.a $^
357 -       - $(RANLIB) libumfpack.a
358 +libumfpack.la: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
359 +       libtool --tag=CC --mode=link $(CC) $(LDFLAGS) -o libumfpack.la -rpath $(libdir) $(^:.o=.lo) $(LIBS) -lm
360  
361 -so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
362 -       gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^
363 +install: libumfpack.la
364 +       install -d $(DESTDIR)$(libdir)
365 +       libtool --mode=install install libumfpack.la $(DESTDIR)$(libdir)
366  
367  #-------------------------------------------------------------------------------
368  # Remove all but the files in the original distribution
369  #-------------------------------------------------------------------------------
370  
371  purge: clean
372 -       - $(RM) libumfpack.a
373 +       - $(RM) libumfpack.la
374  
375  clean:
376         - $(RM) $(CLEAN)
This page took 2.539548 seconds and 2 git commands to generate.