/[pdpsoft]/trunk/grid-mw-security/glexec/util/glexec_from_source/glexec_globus_from_source.sh
ViewVC logotype

Contents of /trunk/grid-mw-security/glexec/util/glexec_from_source/glexec_globus_from_source.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1830 - (show annotations) (download) (as text)
Wed Jun 30 15:06:07 2010 UTC (11 years, 6 months ago) by msalle
File MIME type: application/x-shellscript
File size: 20110 byte(s)
Update for the new gsoap-from-tarball construction (in saml2_xacml2_c_lib)

1 #!/bin/sh
2
3 # Example script to demonstrate how to build gLExec and its gLite dependencies
4 # from source as obtained from CVS.
5 #
6 # Author: Mischa Sall\'e
7 #
8 # Questions and comments: <grid-mw-security@nikhef.nl>
9 #
10 ##############################################################################
11 # Global definitions, change where needed:
12 ##############################################################################
13
14 export source=/tmp/source # Where to download sources
15 export globus=/tmp/build/globus # Where to install globus
16 export gridsite=/tmp/build/gridsite # Where to install/find gridsite
17 export glite=/tmp/build/glite # Where to find glite builds
18
19 # Do NOT change the remaining global variables
20 export prefix=${glite} # Where to install glite builds
21 # (normally same as ${glite}
22 #export CVSROOT=:pserver:anonymous@glite.cvs.cern.ch:/cvs/glite # anonymous CVS
23 export webcvs=http://glite.cvs.cern.ch/cgi-bin/glite.cgi/ # Web CVS
24 export globus_flav=unset
25
26 # Valid return codes: anything less than RC_FAILED is non-blocking
27 export RC_SUCCESS=0
28 export RC_SKIPPED=1
29 export RC_FAILED=2
30 export RC_MISSDEP=3
31
32 # Parse command line options
33 DEPEND=1
34 USAGE=0
35 targets=""
36 while [ $# -gt 0 ];do
37 case "$1" in
38 -c*) DEPEND=0 ;;
39 -h*) USAGE=1 ;;
40 *) targets="$targets $1" ;;
41 esac
42 shift
43 done
44
45 ##############################################################################
46 # Convenience functions
47 ##############################################################################
48
49 # Function which is used to create the dependency checking functions.
50 # arguments:
51 # $1 - target
52 # $2... - dependencies
53 setdeps() {
54 if [ $# -eq 0 ];then
55 echo "Error: $0 needs at least one argument." >&2
56 return 1
57 fi
58
59 # target
60 target=$1; shift
61 known_targets="$known_targets $target"
62
63 eval rc_$target=$RC_SKIPPED
64
65 depstring=""
66 # Only when we DO want dependency checking...
67 if [ $DEPEND -eq 1 ];then
68 while [ $# -gt 0 ];do
69 depstring="$depstring \$rc_$1 -lt \$RC_FAILED"
70 shift
71 if [ $# -gt 0 ];then
72 depstring="$depstring -a"
73 fi
74 done
75 fi
76
77 # define the dep_ function
78 if [ -n "$depstring" ];then
79 eval "dep_$target() {
80 if [ $depstring ];then
81 $target
82 rc_$target=\$?
83 else
84 rc_$target=\$RC_MISSDEP
85 fi
86 }"
87 else
88 eval "dep_$target() {
89 $target
90 rc_$target=\$?
91 }"
92 fi
93 }
94
95 # cvs checkout wrapper: a wget + untar is much faster than anonymous cvs
96 # checkout, especially due to a 30 sec. timeout of the CVS server.
97 cvsget() {
98 if [ $# -eq 1 ];then
99 url=${webcvs}${1}.tar.gz\?view=tar
100 elif [ $# -eq 2 ];then
101 url=${webcvs}${1}.tar.gz\?view=tar\&pathrev=$2
102 else
103 echo "Syntax error in $0 function" >&2
104 echo "Usage: $0 <component> [tar]" >&2
105 return $RC_FAILED
106 fi
107 # Retrieve tarball and untar on the fly
108 wget -nv -O - $url | tar -zvxf - || return 1
109 return 0
110 }
111
112 # Print function for results:
113 # $1 - name of component, result is in $rc_<name of component>
114 print_result() {
115 tool=$1
116 eval rc=\$rc_$tool
117 if [ "$rc" = "$RC_SKIPPED" ];then
118 return
119 fi
120 case "$rc" in
121 $RC_SUCCESS) result="SUCCESS" ;;
122 $RC_MISSDEP) result="MISSING DEPS" ;;
123 $RC_FAILED) result="FAILED" ;;
124 *) result="UNKNOWN: $rc" ;;
125 esac
126 printf "%-30s: %s\n" "$tool" "$result" >&2
127 }
128
129 # Prints usage message
130 usage() {
131 echo "Usage: `basename $0` [options] [targets]"
132 echo
133 echo "Options:"
134 echo " -c don't check dependencies"
135 echo " -h show this helptext"
136 echo
137 echo "Notes:"
138 echo "1. when no targets are specified, build all known targets (see below)."
139 echo "2. targets are build in specified order."
140 echo "3. when checking dependencies, only dependencies which are actually "
141 echo " being build will be checked"
142 echo
143 echo "Known targets:"
144 for target in $known_targets;do
145 echo " $target"
146 done
147 return 0
148 }
149
150 ##############################################################################
151 #
152 # Define all building functions
153 #
154 ##############################################################################
155
156 # GLOBUS
157 globus() {
158 # Where to get which globus toolkit tarball
159 # GT4:
160 globus_url=http://www-unix.globus.org/ftppub/gt4/4.0/4.0.8/installers/src/
161 globus_tbz=gt4.0.8-all-source-installer.tar.bz2
162 # GT5:
163 # globus_url=http://www-unix.globus.org/ftppub/gt5/5.0/5.0.1/installers/src/
164 # globus_tbz=gt5.0.1-all-source-installer.tar.bz2
165 #
166 globus_srcdir=`basename ${globus_tbz} .tar.bz2`
167
168 # Note: making globus_gridmap_callout_error globus_authz only needed for gt4
169 # interface.
170 cd ${source}
171 wget -nv -O ${globus_tbz} ${globus_url}${globus_tbz} && \
172 tar -jxf ${globus_tbz} && \
173 cd ${globus_srcdir} && \
174 ./configure --prefix=${globus} \
175 --disable-gridftp --disable-gsiopenssh --disable-myproxy \
176 --disable-rls --disable-drs --disable-rendezvous --disable-tests \
177 --disable-prewsgram --disable-wsgram --disable-wsjava --disable-wsc \
178 --disable-wsmds --disable-wsdel --disable-wsrft --disable-wscas \
179 --disable-wstests --disable-webmds && \
180 make globus-gsi globus_gridmap_callout_error globus_authz && \
181 make install || return $RC_FAILED
182
183 # (re)evaluate globus flavour
184 globus_flavour
185 if [ $? -eq $RC_FAILED ];then
186 echo "ERROR: Cannot determine globus flavour." >&2
187 echo " Check ${globus}/etc/globus_core/*.gpt" >&2
188 return $RC_FAILED
189 fi
190 return $RC_SUCCESS
191 }
192
193 globus_flavour() {
194 # Set correct globus flavour:
195 if [ -f "${globus}/etc/globus_core/flavor_gcc64dbg.gpt" ];then
196 globus_flav=gcc64dbg
197 elif [ -f "${globus}/etc/globus_core/flavor_gcc64.gpt" ];then
198 globus_flav=gcc64
199 elif [ -f "${globus}/etc/globus_core/flavor_gcc32dbg.gpt" ];then
200 globus_flav=gcc32dbg
201 elif [ -f "${globus}/etc/globus_core/flavor_gcc32.gpt" ];then
202 globus_flav=gcc32
203 else
204 return $RC_FAILED
205 fi
206 return $RC_SUCCESS
207 }
208
209 # VOMS: (C & C++ API only)
210 voms() {
211 cd ${source}
212 cvsget org.glite.security.voms glite-security-voms_R_1_9_16_2 && \
213 cd org.glite.security.voms && \
214 ./configure --prefix=${prefix} --with-globus-prefix=${globus} \
215 --disable-java --with-api-only && \
216 make && \
217 make install || return $RC_FAILED
218 return $RC_SUCCESS
219 }
220
221 # BUILD COMMON-CPP:
222 common_cpp() {
223 cd ${source}
224 cvsget org.glite.build.common-cpp || return $RC_FAILED
225 return $RC_SUCCESS
226 }
227
228 # LCMAPS: Note we use the un-threaded flavor for both: only one present
229 lcmaps() {
230 cd ${source}
231 cvsget org.glite.security.lcmaps && \
232 cd org.glite.security.lcmaps && \
233 cp -fp ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project && \
234 ./bootstrap && \
235 ./configure --prefix=${prefix} --with-glite-location=${glite} \
236 --with-globus-prefix=${globus} \
237 --with-globus-thr-flavor=${globus_flav} \
238 --with-globus-nothr-flavor=${globus_flav} && \
239 make && \
240 make install || return $RC_FAILED
241 return $RC_SUCCESS
242 }
243
244 # LCAS:
245 lcas() {
246 cd ${source}
247 cvsget org.glite.security.lcas && \
248 cd org.glite.security.lcas && \
249 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
250 ./bootstrap && \
251 ./configure --prefix=${prefix} --with-glite-location=${glite} \
252 --with-globus-prefix=${globus} \
253 --with-globus-thr-flavor=${globus_flav}pthr \
254 --with-globus-nothr-flavor=${globus_flav} && \
255 make && \
256 make install || return $RC_FAILED
257 return $RC_SUCCESS
258 }
259
260 # LCAS-INTERFACE:
261 lcas_interface() {
262 cd ${source}
263 cvsget org.glite.security.lcas-interface && \
264 cd org.glite.security.lcas-interface && \
265 cp -fp ../org.glite.build.common-cpp/m4/glite.m4 ./project && \
266 ./bootstrap && \
267 ./configure --prefix=${prefix} && \
268 make install || return $RC_FAILED
269 return $RC_SUCCESS
270 }
271
272 # GLEXEC: extra LDFLAG needed (only) for certain platforms, incl Debian-5 64
273 glexec() {
274 cd ${source}
275 cvsget org.glite.security.glexec && \
276 cd org.glite.security.glexec && \
277 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
278 ./bootstrap && \
279 LDFLAGS="-Wl,-rpath -Wl,${globus}/lib" \
280 ./configure --prefix=${prefix} \
281 --with-glite-location=${glite} \
282 --with-globus-prefix=${globus} \
283 --with-globus-thr-flavor=${globus_flav}pthr \
284 --with-globus-nothr-flavor=${globus_flav} && \
285 make && \
286 make install || return $RC_FAILED
287 return $RC_SUCCESS
288 }
289
290 # LCMAPS PLUGINS BASIC:
291 lcmaps_plugins_basic() {
292 cd ${source}
293 cvsget org.glite.security.lcmaps-plugins-basic && \
294 cd org.glite.security.lcmaps-plugins-basic && \
295 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps,gridlist}.m4 ./project && \
296 ./bootstrap && \
297 ./configure --prefix=${prefix} --with-glite-location=${glite} \
298 --with-globus-prefix=${globus} \
299 --with-globus-thr-flavor=${globus_flav}pthr \
300 --with-globus-nothr-flavor=${globus_flav} && \
301 make && \
302 make install || return $RC_FAILED
303 return $RC_SUCCESS
304 }
305
306 # LCMAPS PLUGINS VERIFY-PROXY:
307 lcmaps_plugins_verify_proxy() {
308 cd ${source}
309 cvsget org.glite.security.lcmaps-plugins-verify-proxy && \
310 cd org.glite.security.lcmaps-plugins-verify-proxy && \
311 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project && \
312 ./bootstrap && \
313 ./configure --prefix=${prefix} --with-glite-location=${glite} && \
314 make && \
315 make install || return $RC_FAILED
316 return $RC_SUCCESS
317 }
318
319 # LCMAPS PLUGINS VOMS:
320 lcmaps_plugins_voms() {
321 cd ${source}
322 cvsget org.glite.security.lcmaps-plugins-voms && \
323 cd org.glite.security.lcmaps-plugins-voms && \
324 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,lcmaps,gridlist}.m4 ./project && \
325 ./bootstrap && \
326 ./configure --prefix=${glite} --with-glite-location=${glite} \
327 --with-globus-prefix=${globus} \
328 --with-globus-thr-flavor=${globus_flav}pthr \
329 --with-globus-nothr-flavor=${globus_flav} && \
330 make && \
331 make install || return $RC_FAILED
332 return $RC_SUCCESS
333 }
334
335 # LCMAPS PLUGINS AFS:
336 lcmaps_plugins_afs() {
337 cd ${source}
338 cvsget org.glite.security.lcmaps-plugins-afs && \
339 cd org.glite.security.lcmaps-plugins-afs && \
340 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus}.m4 ./project && \
341 ./bootstrap && \
342 ./configure --prefix=${glite} --with-glite-location=${glite} \
343 --with-globus-prefix=${globus} \
344 --with-globus-thr-flavor=${globus_flav}pthr \
345 --with-globus-nothr-flavor=${globus_flav} && \
346 make && \
347 make install || return $RC_FAILED
348 return $RC_SUCCESS
349 }
350
351 # LCMAPS PLUGINS GUMS:
352 lcmaps_plugins_gums() {
353 cd ${source}
354 cvsget org.glite.security.lcmaps-plugins-gums && \
355 cd org.glite.security.lcmaps-plugins-gums && \
356 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus}.m4 ./project && \
357 ./bootstrap && \
358 ./configure --prefix=${glite} --with-glite-location=${glite} \
359 --with-globus-prefix=${globus} \
360 --with-globus-thr-flavor=${globus_flav}pthr \
361 --with-globus-nothr-flavor=${globus_flav} && \
362 make && \
363 make install || return $RC_FAILED
364 return $RC_SUCCESS
365 }
366
367 # PEP-C LIB: Will install in same libdir as LCMAPS
368 pep_c_lib() {
369 cd ${source}
370 # Make sure PEP-C is installed in lcmaps directory or else use default.
371 [ -f "${glite}/lib64/liblcmaps.so" ] && \
372 pepclibdir=${glite}/lib64 || \
373 pepclibdir=${glite}/lib
374 svn co http://svnweb.cern.ch/guest/glxa/pep-c-lib/tags/1_3_0 org.glite.authz.pep-c && \
375 cd org.glite.authz.pep-c && \
376 ./autotools.sh && \
377 ./configure --prefix=${glite} --libdir=${pepclibdir} && \
378 make && \
379 make html && \
380 make install || return $RC_FAILED
381 return $RC_SUCCESS
382 }
383
384 # LCMAPS PLUGINS C-PEP
385 lcmaps_plugins_c_pep() {
386 cd ${source}
387 cvsget org.glite.security.lcmaps-plugins-c-pep && \
388 cd org.glite.security.lcmaps-plugins-c-pep && \
389 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security}.m4 ./project && \
390 ./bootstrap && \
391 ./configure --prefix=${glite} --with-glite-location=${glite} && \
392 make && \
393 make install || return $RC_FAILED
394 return $RC_SUCCESS
395 }
396
397 # SAML2XACML2 LIB:
398 saml2_xacml2_c_lib() {
399 cd ${source}
400 cvsget org.glite.security.saml2-xacml2-c-lib && \
401 cd org.glite.security.saml2-xacml2-c-lib && \
402 cp -fp ../org.glite.build.common-cpp/m4/glite.m4 ./project && \
403 export CXXFLAGS=-fPIC && \
404 tar -zxf gsoap-2.7.17.tar.gz && \
405 cd gsoap-2.7 && \
406 ../autogen.sh && \
407 ./configure --prefix=${glite} && \
408 make && \
409 make install && \
410 cd ../xacml-1.0 && \
411 ../autogen.sh && \
412 ./configure --prefix=${glite} --with-gsoap=${glite} && \
413 make && \
414 make install || return $RC_FAILED
415 return $RC_SUCCESS
416 }
417
418 # LCMAPS PLUGINS SCAS CLIENT:
419 lcmaps_plugins_scas_client() {
420 cd ${source}
421 cvsget org.glite.security.lcmaps-plugins-scas-client && \
422 cd org.glite.security.lcmaps-plugins-scas-client && \
423 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,lcmaps}.m4 ./project && \
424 ./bootstrap && \
425 ./configure --prefix=${glite} --with-glite-location=${glite} && \
426 make && \
427 make install || return $RC_FAILED
428 return $RC_SUCCESS
429 }
430
431 # SCAS
432 scas() {
433 cd ${source}
434 cvsget org.glite.security.scas && \
435 cd org.glite.security.scas && \
436 cp -fp ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project && \
437 ./bootstrap && \
438 ./configure --prefix=${prefix} --with-glite-location=${glite} \
439 --with-globus-prefix=${globus} \
440 --with-globus-thr-flavor=${globus_flav}pthr \
441 --with-globus-nothr-flavor=${globus_flav} && \
442 make && \
443 make install || return $RC_FAILED
444 return $RC_SUCCESS
445 }
446
447 # LCAS PLUGINS BASIC:
448 lcas_plugins_basic() {
449 cd ${source}
450 cvsget org.glite.security.lcas-plugins-basic && \
451 cd org.glite.security.lcas-plugins-basic && \
452 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
453 ./bootstrap && \
454 ./configure --prefix=${glite} --with-glite-location=${glite} \
455 --with-globus-prefix=${globus} \
456 --with-globus-thr-flavor=${globus_flav}pthr \
457 --with-globus-nothr-flavor=${globus_flav} && \
458 make && \
459 make install || return $RC_FAILED
460 return $RC_SUCCESS
461 }
462
463 # LCAS PLUGINS CHECK-EXECUTABLE:
464 lcas_plugins_check_executable() {
465 cd ${source}
466 cvsget org.glite.security.lcas-plugins-check-executable && \
467 cd org.glite.security.lcas-plugins-check-executable && \
468 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
469 ./bootstrap && \
470 ./configure --prefix=${glite} --with-glite-location=${glite} \
471 --with-globus-prefix=${globus} \
472 --with-globus-thr-flavor=${globus_flav}pthr \
473 --with-globus-nothr-flavor=${globus_flav} && \
474 make && \
475 make install || return $RC_FAILED
476 return $RC_SUCCESS
477 }
478
479 # GRIDSITE CORE:
480 gridsite_core() {
481 # Take libdir from lcas
482 [ -f "${glite}/lib64/liblcas.so" ] && \
483 gridsitelibdir=lib64 || \
484 gridsitelibdir=lib
485 cd ${source}
486 cvsget org.gridsite.core && \
487 cd org.gridsite.core/src && \
488 make prefix=${gridsite} libdir=${gridsitelibdir} && \
489 make prefix=${gridsite} install || return $RC_FAILED
490 return $RC_SUCCESS
491 }
492
493 # LCAS PLUGINS VOMS:
494 lcas_plugins_voms() {
495 cd ${source}
496 cvsget org.glite.security.lcas-plugins-voms && \
497 cd org.glite.security.lcas-plugins-voms && \
498 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,gridsite,gridlist}.m4 ./project && \
499 ./bootstrap && \
500 ./configure --prefix=${glite} --with-glite-location=${glite} \
501 --with-globus-prefix=${globus} \
502 --with-globus-thr-flavor=${globus_flav}pthr \
503 --with-globus-nothr-flavor=${globus_flav} \
504 --with-gridsite-prefix=${gridsite} \
505 --with-gridsite-ssl=system && \
506 make && \
507 make install || return $RC_FAILED
508 return $RC_SUCCESS
509 }
510
511 # LCAS-LCMAPS GT4 interface:
512 # Note: only reason for building two extra globus targets
513 # globus_gridmap_callout_error globus_authz
514 lcas_lcmaps_gt4_interface() {
515 cd ${source}
516 cvsget org.glite.security.lcas-lcmaps-gt4-interface && \
517 cd org.glite.security.lcas-lcmaps-gt4-interface && \
518 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
519 ./bootstrap && \
520 ./configure --prefix=${prefix} \
521 --with-glite-location=${glite} \
522 --with-globus-prefix=${globus} \
523 --with-globus-thr-flavor=${globus_flav}pthr \
524 --with-globus-nothr-flavor=${globus_flav} && \
525 make && \
526 make install || return $RC_FAILED
527 return $RC_SUCCESS
528 }
529
530 ##############################################################################
531 #
532 # Define all dependency functions, NOTE: the order of the setdeps statements is
533 # important!
534 #
535 ##############################################################################
536
537 # GLOBUS: no dependencies
538 setdeps globus
539
540 # BUILD COMMON-CPP: no dependencies
541 setdeps common_cpp
542
543 # VOMS: depends globus
544 setdeps voms globus
545
546 # LCMAPS: depends globus, voms, common-cpp
547 setdeps lcmaps globus voms common_cpp
548
549 # LCAS: depends globus, common-cpp
550 setdeps lcas globus common_cpp
551
552 # LCAS-INTERFACE: depends common-cpp
553 setdeps lcas_interface common_cpp
554
555 # GLEXEC: depends globus, lcmaps, common-cpp, lcas, lcas-interface
556 setdeps glexec globus lcmaps common_cpp lcas lcas_interface
557
558 # LCMAPS PLUGINS BASIC: depends globus, lcmaps, common-cpp
559 setdeps lcmaps_plugins_basic globus lcmaps common_cpp
560
561 # LCMAPS PLUGINS VERIFY-PROXY: depends lcmaps, common-cpp
562 setdeps lcmaps_plugins_verify_proxy lcmaps common_cpp
563
564 # LCMAPS PLUGINS VOMS: depends globus, voms, lcmaps, common-cpp
565 setdeps lcmaps_plugins_voms globus voms lcmaps common_cpp
566
567 # LCMAPS PLUGINS AFS: depends lcmaps, common-cpp
568 setdeps lcmaps_plugins_afs lcmaps common_cpp
569
570 # LCMAPS PLUGINS GUMS: depends lcmaps, common-cpp
571 setdeps lcmaps_plugins_gums lcmaps common_cpp
572
573 # PEP-C LIB: Not dependent on LCMAPS, but need to install it in right place
574 setdeps pep_c_lib lcmaps
575
576 # LCMAPS PLUGINS C-PEP: depends lcmaps, pep-c lib, common-cpp
577 setdeps lcmaps_plugins_c_pep lcmaps pep_c_lib common_cpp
578
579 # SAML2XACML2 LIB: depends common-cpp
580 setdeps saml2_xacml2_c_lib common_cpp
581
582 # LCMAPS PLUGINS SCAS CLIENT: depends saml2-xacml2-c-lib, common-cpp
583 setdeps lcmaps_plugins_scas_client saml2_xacml2_c_lib common_cpp
584
585 # SCAS: depends saml2-xacml2-c-lib, common-cpp, lcmaps
586 setdeps scas saml2_xacml2_c_lib common_cpp lcmaps
587
588 # LCAS PLUGINS BASIC: depends globus, lcas, common-cpp
589 setdeps lcas_plugins_basic globus lcas common_cpp
590
591 # LCAS PLUGINS CHECK-EXECUTABLE: depends globus, lcas, common-cpp
592 setdeps lcas_plugins_check_executable globus lcas common_cpp
593
594 # GRIDSITE Core:
595 setdeps gridsite_core
596
597 # LCAS PLUGINS VOMS: depends globus, voms, lcas, common-cpp, gridsite
598 setdeps lcas_plugins_voms globus voms lcas common_cpp gridsite_core
599
600 # LCAS-LCMAPS GT4 interface: depends globus, lcmaps, common-cpp, lcas, lcas-interface
601 setdeps lcas_lcmaps_gt4_interface globus lcmaps common_cpp lcas lcas_interface
602
603 ##############################################################################
604 #
605 # Build all tools, taking care of dependencies
606 #
607 ##############################################################################
608
609 # Now that we know all the targets, we can print usage if requested
610 if [ "$USAGE" -eq 1 ];then
611 usage
612 exit 0
613 fi
614
615 # Figure out the build targets
616 build_targets=""
617 # If none specified, use all
618 if [ -z "$targets" ];then
619 build_targets=$known_targets
620 else
621 for target in $targets;do
622 echo $known_targets|tr ' ' '\n'|grep -q "^$target$" && \
623 build_targets="$build_targets $target" || \
624 echo "Skipping unknown target \"$target\"" >&2
625 done
626 fi
627
628 # Anything to be done?
629 if [ -n "$build_targets" ];then
630 # create the source dir
631 mkdir -p ${source} || {
632 echo "Creating of ${source} FAILED" >&2
633 exit 1 # Fatal...
634 }
635
636 # Get globus_flavour just in case we won't build. If it will be build, it
637 # will be reset afterwards.
638 globus_flavour
639
640 # Do the builds
641 for target in $build_targets;do
642 eval dep_$target
643 done
644
645 # Print results
646 for target in $known_targets;do
647 print_result $target
648 done
649 fi
650

Properties

Name Value
svn:executable *

grid.support@nikhef.nl
ViewVC Help
Powered by ViewVC 1.1.28