/[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 1821 - (show annotations) (download) (as text)
Tue Jun 29 15:06:11 2010 UTC (11 years, 6 months ago) by msalle
File MIME type: application/x-shellscript
File size: 20072 byte(s)
Move towards the new modular scripts, which can build all or just a few
components.


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 cd gsoap-2.7 && \
405 ../autogen.sh && \
406 ./configure --prefix=${glite} && \
407 make && \
408 make install && \
409 cd ../xacml-1.0 && \
410 ../autogen.sh && \
411 ./configure --prefix=${glite} --with-gsoap=${glite} && \
412 make && \
413 make install || return $RC_FAILED
414 return $RC_SUCCESS
415 }
416
417 # LCMAPS PLUGINS SCAS CLIENT:
418 lcmaps_plugins_scas_client() {
419 cd ${source}
420 cvsget org.glite.security.lcmaps-plugins-scas-client && \
421 cd org.glite.security.lcmaps-plugins-scas-client && \
422 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,lcmaps}.m4 ./project && \
423 ./bootstrap && \
424 ./configure --prefix=${glite} --with-glite-location=${glite} && \
425 make && \
426 make install || return $RC_FAILED
427 return $RC_SUCCESS
428 }
429
430 # SCAS
431 scas() {
432 cd ${source}
433 cvsget org.glite.security.scas && \
434 cd org.glite.security.scas && \
435 cp -fp ../org.glite.build.common-cpp/m4/{globus,glite,glite_security,lcmaps}.m4 ./project && \
436 ./bootstrap && \
437 ./configure --prefix=${prefix} --with-glite-location=${glite} \
438 --with-globus-prefix=${globus} \
439 --with-globus-thr-flavor=${globus_flav}pthr \
440 --with-globus-nothr-flavor=${globus_flav} && \
441 make && \
442 make install || return $RC_FAILED
443 return $RC_SUCCESS
444 }
445
446 # LCAS PLUGINS BASIC:
447 lcas_plugins_basic() {
448 cd ${source}
449 cvsget org.glite.security.lcas-plugins-basic && \
450 cd org.glite.security.lcas-plugins-basic && \
451 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
452 ./bootstrap && \
453 ./configure --prefix=${glite} --with-glite-location=${glite} \
454 --with-globus-prefix=${globus} \
455 --with-globus-thr-flavor=${globus_flav}pthr \
456 --with-globus-nothr-flavor=${globus_flav} && \
457 make && \
458 make install || return $RC_FAILED
459 return $RC_SUCCESS
460 }
461
462 # LCAS PLUGINS CHECK-EXECUTABLE:
463 lcas_plugins_check_executable() {
464 cd ${source}
465 cvsget org.glite.security.lcas-plugins-check-executable && \
466 cd org.glite.security.lcas-plugins-check-executable && \
467 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,gridlist}.m4 ./project && \
468 ./bootstrap && \
469 ./configure --prefix=${glite} --with-glite-location=${glite} \
470 --with-globus-prefix=${globus} \
471 --with-globus-thr-flavor=${globus_flav}pthr \
472 --with-globus-nothr-flavor=${globus_flav} && \
473 make && \
474 make install || return $RC_FAILED
475 return $RC_SUCCESS
476 }
477
478 # GRIDSITE CORE:
479 gridsite_core() {
480 # Take libdir from lcas
481 [ -f "${glite}/lib64/liblcas.so" ] && \
482 gridsitelibdir=lib64 || \
483 gridsitelibdir=lib
484 cd ${source}
485 cvsget org.gridsite.core && \
486 cd org.gridsite.core/src && \
487 make prefix=${gridsite} libdir=${gridsitelibdir} && \
488 make prefix=${gridsite} install || return $RC_FAILED
489 return $RC_SUCCESS
490 }
491
492 # LCAS PLUGINS VOMS:
493 lcas_plugins_voms() {
494 cd ${source}
495 cvsget org.glite.security.lcas-plugins-voms && \
496 cd org.glite.security.lcas-plugins-voms && \
497 cp -fp ../org.glite.build.common-cpp/m4/{glite,glite_security,globus,gridsite,gridlist}.m4 ./project && \
498 ./bootstrap && \
499 ./configure --prefix=${glite} --with-glite-location=${glite} \
500 --with-globus-prefix=${globus} \
501 --with-globus-thr-flavor=${globus_flav}pthr \
502 --with-globus-nothr-flavor=${globus_flav} \
503 --with-gridsite-prefix=${gridsite} \
504 --with-gridsite-ssl=system && \
505 make && \
506 make install || return $RC_FAILED
507 return $RC_SUCCESS
508 }
509
510 # LCAS-LCMAPS GT4 interface:
511 # Note: only reason for building two extra globus targets
512 # globus_gridmap_callout_error globus_authz
513 lcas_lcmaps_gt4_interface() {
514 cd ${source}
515 cvsget org.glite.security.lcas-lcmaps-gt4-interface && \
516 cd org.glite.security.lcas-lcmaps-gt4-interface && \
517 cp -fp ../org.glite.build.common-cpp/m4/{glite,globus,lcmaps}.m4 ./project && \
518 ./bootstrap && \
519 ./configure --prefix=${prefix} \
520 --with-glite-location=${glite} \
521 --with-globus-prefix=${globus} \
522 --with-globus-thr-flavor=${globus_flav}pthr \
523 --with-globus-nothr-flavor=${globus_flav} && \
524 make && \
525 make install || return $RC_FAILED
526 return $RC_SUCCESS
527 }
528
529 ##############################################################################
530 #
531 # Define all dependency functions, NOTE: the order of the setdeps statements is
532 # important!
533 #
534 ##############################################################################
535
536 # GLOBUS: no dependencies
537 setdeps globus
538
539 # BUILD COMMON-CPP: no dependencies
540 setdeps common_cpp
541
542 # VOMS: depends globus
543 setdeps voms globus
544
545 # LCMAPS: depends globus, voms, common-cpp
546 setdeps lcmaps globus voms common_cpp
547
548 # LCAS: depends globus, common-cpp
549 setdeps lcas globus common_cpp
550
551 # LCAS-INTERFACE: depends common-cpp
552 setdeps lcas_interface common_cpp
553
554 # GLEXEC: depends globus, lcmaps, common-cpp, lcas, lcas-interface
555 setdeps glexec globus lcmaps common_cpp lcas lcas_interface
556
557 # LCMAPS PLUGINS BASIC: depends globus, lcmaps, common-cpp
558 setdeps lcmaps_plugins_basic globus lcmaps common_cpp
559
560 # LCMAPS PLUGINS VERIFY-PROXY: depends lcmaps, common-cpp
561 setdeps lcmaps_plugins_verify_proxy lcmaps common_cpp
562
563 # LCMAPS PLUGINS VOMS: depends globus, voms, lcmaps, common-cpp
564 setdeps lcmaps_plugins_voms globus voms lcmaps common_cpp
565
566 # LCMAPS PLUGINS AFS: depends lcmaps, common-cpp
567 setdeps lcmaps_plugins_afs lcmaps common_cpp
568
569 # LCMAPS PLUGINS GUMS: depends lcmaps, common-cpp
570 setdeps lcmaps_plugins_gums lcmaps common_cpp
571
572 # PEP-C LIB: Not dependent on LCMAPS, but need to install it in right place
573 setdeps pep_c_lib lcmaps
574
575 # LCMAPS PLUGINS C-PEP: depends lcmaps, pep-c lib, common-cpp
576 setdeps lcmaps_plugins_c_pep lcmaps pep_c_lib common_cpp
577
578 # SAML2XACML2 LIB: depends common-cpp
579 setdeps saml2_xacml2_c_lib common_cpp
580
581 # LCMAPS PLUGINS SCAS CLIENT: depends saml2-xacml2-c-lib, common-cpp
582 setdeps lcmaps_plugins_scas_client saml2_xacml2_c_lib common_cpp
583
584 # SCAS: depends saml2-xacml2-c-lib, common-cpp, lcmaps
585 setdeps scas saml2_xacml2_c_lib common_cpp lcmaps
586
587 # LCAS PLUGINS BASIC: depends globus, lcas, common-cpp
588 setdeps lcas_plugins_basic globus lcas common_cpp
589
590 # LCAS PLUGINS CHECK-EXECUTABLE: depends globus, lcas, common-cpp
591 setdeps lcas_plugins_check_executable globus lcas common_cpp
592
593 # GRIDSITE Core:
594 setdeps gridsite_core
595
596 # LCAS PLUGINS VOMS: depends globus, voms, lcas, common-cpp, gridsite
597 setdeps lcas_plugins_voms globus voms lcas common_cpp gridsite_core
598
599 # LCAS-LCMAPS GT4 interface: depends globus, lcmaps, common-cpp, lcas, lcas-interface
600 setdeps lcas_lcmaps_gt4_interface globus lcmaps common_cpp lcas lcas_interface
601
602 ##############################################################################
603 #
604 # Build all tools, taking care of dependencies
605 #
606 ##############################################################################
607
608 # Now that we know all the targets, we can print usage if requested
609 if [ "$USAGE" -eq 1 ];then
610 usage
611 exit 0
612 fi
613
614 # Figure out the build targets
615 build_targets=""
616 # If none specified, use all
617 if [ -z "$targets" ];then
618 build_targets=$known_targets
619 else
620 for target in $targets;do
621 echo $known_targets|tr ' ' '\n'|grep -q "^$target$" && \
622 build_targets="$build_targets $target" || \
623 echo "Skipping unknown target \"$target\"" >&2
624 done
625 fi
626
627 # Anything to be done?
628 if [ -n "$build_targets" ];then
629 # create the source dir
630 mkdir -p ${source} || {
631 echo "Creating of ${source} FAILED" >&2
632 exit 1 # Fatal...
633 }
634
635 # Get globus_flavour just in case we won't build. If it will be build, it
636 # will be reset afterwards.
637 globus_flavour
638
639 # Do the builds
640 for target in $build_targets;do
641 eval dep_$target
642 done
643
644 # Print results
645 for target in $known_targets;do
646 print_result $target
647 done
648 fi
649

Properties

Name Value
svn:executable *

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