1 mike 1.1 #!/bin/sh
2
3 ##==============================================================================
4 ##
|
5 krisbash 1.5 ## configuredir
6 ## rootrelative
7 ## root
8 ## Determine the root directory of the distribution (not necessarily the
9 ## same as the current directory, since configure can be run anywhere).
10 ##
11 ##==============================================================================
12
13 configuredir=`pwd`
14 rootrelative=`dirname $0`
15 cd $rootrelative
16 root=`pwd`
17 cd $configuredir
18
19
20 ##==============================================================================
21 ##
|
22 mike 1.1 ## Product, Version, and Bilddate information:
23 ##
24 ##==============================================================================
25
26 product="OMI"
27 fullproduct="Open Management Infrastructure"
|
28 krisbash 1.5 major=`cut -d. -f1 $root/VERSION`
29 minor=`cut -d. -f2 $root/VERSION`
30 revision=`cut -d. -f3 $root/VERSION`
31 version="$major.$minor.$revision"
32 version_with_release="$major.$minor.$revision-1"
|
33 mike 1.1 date=`date`
34
35 ##==============================================================================
36 ##
37 ## CIM Schema version
38 ##
39 ##==============================================================================
40
41 cimschema="CIM-2.32.0"
42
43 ##==============================================================================
44 ##
45 ## Get command line options that start with slash.
46 ##
47 ##==============================================================================
48
49 for opt
50 do
51
52 arg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
53
54 mike 1.1 case $opt in
55
56 -h | --help)
57 help=1
58 ;;
59
60 --enable-debug)
61 enable_debug=1
62 ;;
63
|
64 krisbash 1.5 --enable-httpheaders)
65 enable_httpheaders=1
66 ;;
67
|
68 mike 1.1 --disable-rtti)
69 disable_rtti=1
70 ;;
71
72 --disable-templates)
73 disable_templates=1
74 ;;
75
76 --target=*)
77 target=$arg
78 ;;
79
80 --prefix=*)
81 prefix=$arg
82 ;;
83
84 --bindir=*)
85 bindir=$arg
86 ;;
87
88 --libdir=*)
89 mike 1.1 libdir=$arg
90 ;;
91
92 --includedir=*)
93 includedir=$arg
94 ;;
95
96 --datadir=*)
97 datadir=$arg
98 ;;
99
100 --localstatedir=*)
101 localstatedir=$arg
102 ;;
103
104 --sysconfdir=*)
105 sysconfdir=$arg
106 ;;
107
108 --providerdir=*)
109 providerdir=$arg
110 mike 1.1 ;;
111
112 --providerdir=*)
113 providerdir=$arg
114 ;;
115
116 --certsdir=*)
117 certsdir=$arg
118 ;;
119
120 --authdir=*)
121 authdir=$arg
122 ;;
123
|
124 krisbash 1.5 --outputdirname=*)
125 outputdirname=$arg
|
126 mike 1.1 ;;
127
128 --enable-werror)
129 enable_werror=1
130 ;;
131
132 --enable-wchar)
133 enable_wchar=1
134 ;;
135
136 --enable-gcov)
137 enable_gcov=1
138 ;;
139
140 --namespace=*)
141 namespace=$arg
142 ;;
143
144 --httpport=*)
145 httpport=$arg
146 ;;
147 mike 1.1
148 --httpsport=*)
149 httpsport=$arg
150 ;;
151
152 --disable-libpath)
153 disable_libpath=1
154 ;;
155
|
156 mike 1.2 --favorsize)
157 favorsize=1
158 ;;
159
|
160 krisbash 1.5 --singleimage)
161 singleimage=1
162 ;;
163
164 --dev)
165 dev=1
166 ;;
167
168 --openssl=*)
169 openssl=$arg
170 ;;
171
172 --opensslcflags=*)
173 opensslcflags=$arg
174 opensslcflags_found=1
175 ;;
176
177 --openssllibs=*)
178 openssllibs=$arg
179 openssllibs_found=1
180 ;;
181 krisbash 1.5
182 --openssllibdir=*)
183 openssllibdir=$arg
184 openssllibdir_found=1
185 ;;
186
187 --with-cc=*)
188 with_cc=$arg
189 ;;
190
191 --with-cxx=*)
192 with_cxx=$arg
193 ;;
194
195 --with-ar=*)
196 with_ar=$arg
197 ;;
198
199 --enable-32bit)
200 enable_32bit=1
201 ;;
202 krisbash 1.5
203 --disable-localsession)
204 disable_localsession=1
205 ;;
206
207 --disable-indication)
208 disable_indication=1
209 ;;
210
211 --disable-atomics)
212 disable_atomics=1
213 ;;
214
215 --enable-preexec)
216 enable_preexec=1
217 ;;
218
219 --enable-sections)
220 enable_sections=1
221 ;;
222
|
223 mike 1.1 *)
224 echo "$0: unknown option: $opt"
225 exit 1
226 ;;
227
228 esac
229 done
230
231 ##==============================================================================
232 ##
233 ## Print the help message
234 ##
235 ##==============================================================================
236
237 if [ "$help" = "1" ]; then
238
239 cat<<EOF
240
241 Usage: ./configure [OPTIONS]
242
243 OVERVIEW:
244 mike 1.1
245 This script configures OMI for building. Type the following commands.
246
247 $ ./configure
248 $ make
249
250 OPTIONS:
251 -h, --help Print this help message.
252 --enable-debug Perform a debug build.
253 --enable-gcov Build for use with gcov code coverage tool.
254 --disable-rtti Disable C++ RTTI support.
255 --disable-templates Disable C++ templates support.
256 --enable-werror Treat warnings as errors.
257 --enable-wchar Use 'wchar_t' character type [char].
258 --target=TARGET Cross-compiler for the given platform.
|
259 mike 1.2 --prefix=PATH The installation prefix [/opt/omi-$version]
|
260 mike 1.1 --libdir=PATH Install library components here [*/lib].
261 --bindir=PATH Install programs here [*/bin].
262 --includedir=PATH Install C/C++ include files here [*/include].
263 --datadir=PATH Install data files here [*/share].
264 --localstatedir=PATH Install 'log' and 'run' directories here [*/var].
265 --sysconfdir=PATH Install configuration files here [*/etc].
266 --providerdir=PATH Install provider libraries here [*/lib].
267 --certsdir=PATH Install SSL certificates here [*/etc/ssl/certs].
268 --authdir=PATH Temporary authentication files here [*/var/omiauth].
269 --namespace NAME Name of the default namespace [root/cimv2].
270 --httpport=PORT Server listens on this port for HTTP protocols.
271 --httpsport=PORT Server listens on this port for HTTPS protocols.
|
272 krisbash 1.5 --disable-libpath Disable embedding of library search paths in
|
273 mike 1.1 binaries (shared libraries and executables).
|
274 mike 1.2 --favorsize Enable the CONFIG_FAVORSIZE source code macro
275 to compile alternative source code that yields
276 smaller object code size.
|
277 krisbash 1.5 --singleimage Create single omiimage file; omiserver and omiagent
278 are soft links to this file. This saves space on
279 the disk or flash device of an embedded system.
280 --dev Perform a development build in which the binaries
281 are configured to work from the build directory
282 rather than from the install directories. This
283 also enable unit tests.
284 --outputdirname The name of the output directory where the binary
285 files are placed. This name must not contain
286 slashes.
287 --openssl=PATH Full path to the 'openssl' command.
288 --opensslcflags=FLAGS Extra C flags needed for OpenSSL.
289 (e.g., "-I/usr/local/include").
290 --openssllibs=FLAGS Extra library options needed for OpenSSL.
291 (e.g., "-L/usr/local/lib -lssl -lcrypto").
292 --openssllibdir=PATH The path of the directory containing the desired
293 OpenSSL libraries (ssl and crypto).
294 --with-cc=PATH Use C compiler given by PATH.
295 --with-cxx=PATH Use C++ compiler given by PATH.
296 --with-ar=PATH Use archive command (ar) given by PATH.
297 --enable-httpheaders Enable passing of HTTP headers to providers.
298 krisbash 1.5 --enable-32bit Perform a 32 bit on 64 bit system (GNU only).
299 --disable-localsession Disable MI_Context_GetLocalSession function.
300 --disable-indication Disable indication feature from omiserver.
301 --enable-preexec Enable execution of 'pre-exec' programs. These
302 programs are executed by the server (as root)
303 before invoking the associated provider for the
304 first time.
305 --enable-sections Place functions and data in sections, allowing
306 the linker to remove unused objects at link time.
307
|
308 mike 1.1 EOF
309 exit 0
310 fi
311
312 ##==============================================================================
313 ##
|
314 krisbash 1.5 ## buildtool
|
315 mike 1.1 ##
316 ##==============================================================================
317
|
318 krisbash 1.5 buildtool="$root/buildtool"
319
320 ##==============================================================================
321 ##
322 ## --dev - perform a development build.
323 ##
324 ##==============================================================================
325
326 hostname=`$buildtool hostname`
327
328 if [ -z "$outputdirname" ]; then
329 outputdirname=output
330 fi
331
332 outputdir=$configuredir/$outputdirname
333
334 if [ "$dev" = "1" ]; then
335 enable_werror=1
336 enable_debug=1
337 prefix=$configuredir
338 libdir=$outputdir/lib
339 krisbash 1.5 bindir=$outputdir/bin
340 localstatedir=$outputdir/var
341 includedir=$outputdir/include
342 sysconfdir=$root/etc
|
343 mike 1.1 fi
344
|
345 krisbash 1.5 ##==============================================================================
346 ##
347 ## The platform, os, arch, and compiler.
348 ##
349 ##==============================================================================
350
351 if [ "$target" != "" ]; then
352 buildtoolopts="--target=$target"
|
353 mike 1.1 fi
354
|
355 krisbash 1.5 platform=`$buildtool platform $buildtoolopts`
|
356 mike 1.1
357 if [ "$?" != "0" ]; then
358 echo "$0: unknown platform: $platform"
359 exit 1
360 fi
361
|
362 krisbash 1.5 os=`$buildtool os $buildtoolopts`
363 arch=`$buildtool arch $buildtoolopts`
364 compiler=`$buildtool compiler $buildtoolopts`
|
365 mike 1.1
366 ##==============================================================================
367 ##
368 ## Resolve locations
369 ##
370 ##==============================================================================
371
372 if [ -z "$prefix" ]; then
|
373 mike 1.2 prefix=/opt/omi-$version
|
374 mike 1.1 fi
375
376 if [ -z "$bindir" ]; then
377 bindir=$prefix/bin
378 fi
379
380 if [ -z "$libdir" ]; then
381 libdir=$prefix/lib
382 fi
383
384 if [ -z "$includedir" ]; then
385 includedir=$prefix/include
386 fi
387
388 if [ -z "$datadir" ]; then
389 datadir=$prefix/share
390 fi
391
392 if [ -z "$localstatedir" ]; then
393 localstatedir=$prefix/var
394 fi
395 mike 1.1
396 if [ -z "$sysconfdir" ]; then
397 sysconfdir=$prefix/etc
398 fi
399
400 if [ -z "$providerdir" ]; then
401 providerdir=$libdir
402 fi
403
404 if [ -z "$certsdir" ]; then
405 certsdir=$sysconfdir/ssl/certs
406 fi
407
408 if [ -z "$authdir" ]; then
409 authdir=$localstatedir/omiauth
410 fi
411
412 if [ -z "$namespace" ]; then
413 namespace=root/cimv2
414 fi
415
|
416 krisbash 1.5 if [ "$openssl" != "" ]; then
417
418 if [ ! -x "$openssl" ]; then
419 echo "$0: invalid option: --openssl=$openssl: no such program"
420 exit 1
421 fi
422 fi
423
424 if [ -x "/bin/uuidgen" -o -x "/usr/bin/uuidgen" ]; then
425 configuuid="`uuidgen`"
426 else
427 configuuid="`echo $USER`"
428 fi
429
430 if [ -z "$with_cc" ]; then
431 with_cc=`$buildtool cc $buildtoolopts`
432 else
433 if [ ! -x "$with_cc" ]; then
434 echo "$0: invalid option: --with-cc=$with_cc: no such program"
435 exit 1
436 fi
437 krisbash 1.5 fi
|
438 mike 1.1
|
439 krisbash 1.5 if [ -z "$with_cxx" ]; then
440 with_cxx=`$buildtool cxx $buildtoolopts`
441 else
442 if [ ! -x "$with_cxx" ]; then
443 echo "$0: invalid option: --with-cxx=$with_cxx: no such program"
444 exit 1
445 fi
446 fi
|
447 mike 1.1
|
448 krisbash 1.5 if [ -z "$with_ar" ]; then
449 with_ar=`$buildtool ar $buildtoolopts`
450 else
451 if [ ! -x "$with_ar" ]; then
452 echo "$0: invalid option: --with-ar=$with_ar: no such program"
453 exit 1
454 fi
455 fi
|
456 mike 1.1
457 tmpdir=$outputdir/tmp
458
459 ##==============================================================================
460 ##
461 ## Resolve ports
462 ##
463 ##==============================================================================
464
465 if [ -z "$httpport" ]; then
|
466 krisbash 1.5 httpport=5985
|
467 mike 1.1 else
468 rc=`expr "(" "$httpport" ">=" 1 ")" "&" "(" "$httpport" "<=" 65535 ")"`
469
470 if [ "$rc" = "0" ]; then
471 echo "$0: invalid --httpport option: $httpport"
472 exit 1
473 fi
474 fi
475
476 if [ -z "$httpsport" ]; then
|
477 krisbash 1.5 httpsport=5986
|
478 mike 1.1 else
479 rc=`expr "(" "$httpsport" ">=" 1 ")" "&" "(" "$httpsport" "<=" 65535 ")"`
480
481 if [ "$rc" = "0" ]; then
482 echo "$0: invalid --httpsport option: $httpsport"
483 exit 1
484 fi
485 fi
486
487 ##==============================================================================
488 ##
489 ## Create output directories.
490 ##
491 ##==============================================================================
492
|
493 krisbash 1.5 mkdir -p $outputdir
494 echo "created $outputdir"
|
495 mike 1.1
496 mkdir -p $outputdir/bin
497 mkdir -p $outputdir/lib
498 mkdir -p $outputdir/obj
499 mkdir -p $outputdir/tmp
500 mkdir -p $outputdir/var
501 mkdir -p $outputdir/var/log
502 mkdir -p $outputdir/var/run
503 mkdir -p $outputdir/var/omiauth
504 mkdir -p $outputdir/include
505 mkdir -p $tmpdir
506
507 ##==============================================================================
508 ##
509 ## Set macros for suppressing the linefeed produced by 'echo' command.
510 ##
511 ##==============================================================================
512
513 case `echo -n xyz` in
514 -n*)
515 echon=
516 mike 1.1 case `echo 'xyz\c'` in
517 *c*)
518 echoc=
|
519 krisbash 1.5 ;;
520 *)
521 echoc='\c'
522 ;;
523 esac
524 ;;
525 *)
526 echon='-n'
527 echoc=
528 ;;
529 esac
530
531 ##==============================================================================
532 ##
533 ## Attempt to find C compiler.
534 ##
535 ##==============================================================================
536
537 echo $echon "checking whether C compiler is on the path... $echoc"
538
539 cc=$with_cc
540 krisbash 1.5
541 if [ "$cc" = "" ]; then
542 echo "$0: failed"
543 exit 1
544 fi
545
546 tmp1=`echo $cc | awk '{ print $1; }'`
547 tmp2=`which $tmp1`
548
549 if [ -x "$tmp2" ]; then
550 echo "yes"
551 else
552 echo "no"
553 exit 1
554 fi
555
556 ##==============================================================================
557 ##
558 ## Attempt to compile and execute a simple C program
559 ##
560 ##==============================================================================
561 krisbash 1.5
562 echo $echon "checking whether C compiler compiles... $echoc"
563 rm -f $tmpdir/cprogram
564 cflags=`$buildtool cflags $buildtoolopts`
565 cprogflags=`$buildtool cprogflags $buildtoolopts`
566
567 cat > $tmpdir/cprogram.c <<EOF
568 int main()
569 {
570 return 123;
571 }
572 EOF
573
574 ( cd $tmpdir ; $cc $cprogflags $cflags -o cprogram cprogram.c > /dev/null 2> /dev/null )
575
576 if [ "$?" = "0" ]; then
577 echo "yes"
578 else
579 echo "no"
580 exit 1
581 fi
582 krisbash 1.5
583 if [ -z "$CONFIG_TARGET" ]; then
584
585 echo $echon "checking whether C program executes... $echoc"
586
587 $tmpdir/cprogram
588
589 if [ "$?" = "123" ]; then
590 echo "yes"
591 else
592 echo "no"
593 exit 1
594 fi
595
596
597 fi
598
599 rm $tmpdir/cprogram.c
600 rm $tmpdir/cprogram
601
602 ##==============================================================================
603 krisbash 1.5 ##
604 ## Check whether __FUNCTION__ macro or reserved word is supported.
605 ##
606 ##==============================================================================
607
608 echo $echon "checking for __FUNCTION__ macro or reserved word... $echoc"
609
610 rm -f $tmpdir/function
611
612 cat > $tmpdir/function.c <<EOF
613 #include <stdio.h>
614 int main()
615 {
616 printf("%s\n", __FUNCTION__);
617 return 0;
618 }
619 EOF
620
621 ( cd $tmpdir ; $cc $cprogflags $clfags -o function function.c > /dev/null 2> /dev/null )
622
623 if [ "$?" = "0" ]; then
624 krisbash 1.5 have_function_macro=1
625 echo "yes"
626 else
627 have_function_macro=0
628 echo "no"
629 fi
630
631 rm -f $tmpdir/function.c
632 rm -f $tmpdir/function
633
634 ##==============================================================================
635 ##
636 ## Check whether __builtin_ctz is supported.
637 ##
638 ##==============================================================================
639
640 echo $echon "checking for __builtin_ctz... $echoc"
641
642 rm -f $tmpdir/builtin_ctz_test
643
644 cat > $tmpdir/builtin_ctz_test.c <<EOF
645 krisbash 1.5 #include <stdio.h>
646 int main()
647 {
648 printf("Trailing 0s in 0x8 are %d and in 0x7 are %d\n", __builtin_ctz(0x8), __builtin_ctz(0x7));
649 }
650 EOF
651
652 ( cd $tmpdir ; $cc $cprogflags $cflags -o builtin_ctz_test builtin_ctz_test.c > /dev/null 2> /dev/null )
653
654 if [ "$?" = "0" ]; then
655 have_builtin_ctz=1
656 echo "yes"
657 else
658 have_builtin_ctz=0
659 echo "no"
660 fi
661
662 rm -f $tmpdir/builtin_ctz_test.c
663 rm -f $tmpdir/builtin_ctz_test
664
665 ##==============================================================================
666 krisbash 1.5 ##
667 ## Check whether __builtin_prefetch is supported.
668 ##
669 ##==============================================================================
670
671 echo $echon "checking for __builtin_prefetch... $echoc"
672
673 rm -f $tmpdir/builtin_prefetch_test
674
675 cat > $tmpdir/builtin_prefetch_test.c <<EOF
676 int x = 2;
677 # define PAL_PREFETCH(p) (__builtin_prefetch((const void*)p),*(p))
678 int main()
679 {
680 PAL_PREFETCH(&x);
681 return 0;
682 }
683 EOF
684
685 ( cd $tmpdir ; $cc $cprogflags $cflags -o builtin_prefetch_test builtin_prefetch_test.c > /dev/null 2> /dev/null )
686
687 krisbash 1.5 if [ "$?" = "0" ]; then
688 have_builtin_prefetch=1
689 echo "yes"
690 else
691 have_builtin_prefetch=0
692 echo "no"
693 fi
694
695 rm -f $tmpdir/builtin_prefetch_test.c
696 rm -f $tmpdir/builtin_prefetch_test
697
698 ##==============================================================================
699 ##
700 ## Check whether sched_getcpu is supported.
701 ##
702 ##==============================================================================
703
704 echo $echon "checking for sched_getcpu... $echoc"
705
706 rm -f $tmpdir/sched_getcpu_test
707
708 krisbash 1.5 cat > $tmpdir/sched_getcpu_test.c <<EOF
709 #include<stdio.h>
710 int main()
711 {
712 printf("%d\n", sched_getcpu());
713 }
714 EOF
715
716 ( cd $tmpdir ; $cc $cprogflags $clfags -o sched_getcpu_test sched_getcpu_test.c > /dev/null 2> /dev/null )
717
718 if [ "$?" = "0" ]; then
719 have_sched_getcpu=1
720 echo "yes"
721 else
722 have_sched_getcpu=0
723 echo "no"
724 fi
725
726 rm -f $tmpdir/sched_getcpu_test.c
727 rm -f $tmpdir/sched_getcpu_test
728
729 krisbash 1.5 ##==============================================================================
730 ##
731 ## Check whether wcstoll is supported.
732 ##
733 ##==============================================================================
734
735 echo $echon "checking for wcstoll... $echoc"
736
737 rm -f $tmpdir/wcstoll_test
738
739 cat > $tmpdir/wcstoll_test.c <<EOF
740 #include <stdio.h>
741 #include <wchar.h>
742 extern long long wcstoll(const wchar_t* s, wchar_t** e, int b);
743 int main()
744 {
745 printf("converted value %lld\n", wcstoll(L"123", NULL, 0));
746 }
747 EOF
748
749 ( cd $tmpdir ; $cc $cprogflags $cflags -o wcstoll_test wcstoll_test.c > /dev/null 2> /dev/null )
750 krisbash 1.5
751 if [ "$?" = "0" ]; then
752 have_wcstoll=1
753 echo "yes"
754 else
755 have_wcstoll=0
756 echo "no"
757 fi
758
759 rm -f $tmpdir/wcstoll_test.c
760 rm -f $tmpdir/wcstoll_test
761
762 ##==============================================================================
763 ##
764 ## Check whether wcsdup is supported.
765 ##
766 ##==============================================================================
767
768 echo $echon "checking for wcsdup... $echoc"
769
770 rm -f $tmpdir/wcsdup_test
771 krisbash 1.5
772 cat > $tmpdir/wcsdup_test.c <<EOF
773 #include <stdio.h>
774 #include <wchar.h>
775 extern wchar_t* wcsdup(const wchar_t*);
776 int main()
777 {
778 const wchar_t *str = L"My string";
779 printf("%S \n", wcsdup(str));
780 }
781 EOF
782
783 ( cd $tmpdir ; $cc $cprogflags $cflags -o wcsdup_test wcsdup_test.c > /dev/null 2> /dev/null )
784
785 if [ "$?" = "0" ]; then
786 have_wcsdup=1
787 echo "yes"
788 else
789 have_wcsdup=0
790 echo "no"
791 fi
792 krisbash 1.5
793 rm -f $tmpdir/wcsdup_test.c
794 rm -f $tmpdir/wcsdup_test
795
796 ##==============================================================================
797 ##
798 ## Check whether wcscasecmp, wcsncasecmp is supported.
799 ##
800 ##==============================================================================
801
802 echo $echon "checking for wcscasecmp, wcsncasecmp... $echoc"
803
804 rm -f $tmpdir/wcscasecmp_test
805
806 cat > $tmpdir/wcscasecmp_test.c <<EOF
807 #include <stdio.h>
808 #include <wchar.h>
809 extern int wcscasecmp(const wchar_t*, const wchar_t*);
810 extern int wcsncasecmp(const wchar_t*, const wchar_t*, size_t n);
811 int main()
812 {
813 krisbash 1.5 const wchar_t *str1 = L"ABC";
814 const wchar_t *str2 = L"aB";
815 printf("casecmp = %d case2cmp = %d\n", wcscasecmp(str1, str2), wcsncasecmp(str1, str2, 2));
816 }
817 EOF
818
819 ( cd $tmpdir ; $cc $cprogflags $cflags -o wcscasecmp_test wcscasecmp_test.c > /dev/null 2> /dev/null )
820
821 if [ "$?" = "0" ]; then
822 have_wcscasecmp=1
823 echo "yes"
824 else
825 have_wcscasecmp=0
826 echo "no"
827 fi
828
829 rm -f $tmpdir/wcscasecmp_test.c
830 rm -f $tmpdir/wcscasecmp_test
831
832 ##==============================================================================
833 ##
834 krisbash 1.5 ## Check whether vswscanf is supported.
835 ##
836 ##==============================================================================
837
838 echo $echon "checking for vswscanf... $echoc"
839
840 rm -f $tmpdir/vswscanf_test
841
842 cat > $tmpdir/vswscanf_test.c <<EOF
843 #include <stdio.h>
844 #include <stdarg.h>
845 #include <wchar.h>
846 extern int vswscanf(const wchar_t*, const wchar_t*, va_list);
847 static void scan(const wchar_t* str, const wchar_t* fmt, ...)
848 {
849 va_list args;
850 va_start(args, fmt);
851 vswscanf(str, fmt, args);
852 va_end(args);
853 }
854 int main()
855 krisbash 1.5 {
856 const wchar_t *str = L"37";
857 const wchar_t *fmt = L"%d";
858 int n;
859 scan(str, fmt, &n);
860 return 0;
861 }
862 EOF
863
864 ( cd $tmpdir ; $cc $cprogflags $cflags -o vswscanf_test vswscanf_test.c > /dev/null 2> /dev/null )
865
866 if [ "$?" = "0" ]; then
867 have_vswscanf=1
868 echo "yes"
869 else
870 have_vswscanf=0
871 echo "no"
872 fi
873
874 rm -f $tmpdir/vswscanf.c
875 rm -f $tmpdir/vswscanf_test
876 krisbash 1.5
877 ##==============================================================================
878 ##
879 ## Check whether va_copy from the C99 standard is supported.
880 ##
881 ##==============================================================================
882
883 echo $echon "checking for va_copy... $echoc"
884
885 rm -f $tmpdir/va_copy_test
886
887 cat > $tmpdir/va_copy_test.c <<EOF
888 #include <stdio.h>
889 #include <stdarg.h>
890 static void cpy(const char* str, const char* fmt, ...)
891 {
892 va_list args;
893 va_list dest;
894 va_start(args, fmt);
895 va_copy(dest, args);
896 va_end(dest);
897 krisbash 1.5 }
898 int main()
899 {
900 const char *str = "-61";
901 const char *fmt = L"%d";
902 int n;
903 cpy(str, fmt, &n);
904 return 0;
905 }
906 EOF
907
908 ( cd $tmpdir ; $cc $cprogflags $cflags -o va_copy_test va_copy_test.c > /dev/null 2> /dev/null )
909
910 if [ "$?" = "0" ]; then
911 have_va_copy=1
912 echo "yes"
913 else
914 have_va_copy=0
915 echo "no"
916 fi
917
918 krisbash 1.5 rm -f $tmpdir/va_copy_test.c
919 rm -f $tmpdir/va_copy_test
920
921 ##==============================================================================
922 ##
923 ## Check whether backtrace is supported.
924 ##
925 ##==============================================================================
926
927 echo $echon "checking for backtrace... $echoc"
928
929 rm -f $tmpdir/backtrace_test
930
931 cat > $tmpdir/backtrace_test.c <<EOF
932 #include <execinfo.h>
933 #include <stdio.h>
934 int main()
935 {
936 void *StackFrames[3];
937 int count = backtrace(StackFrames, 3);
938 printf("%d\n", count);
939 krisbash 1.5 }
940 EOF
941
942 ( cd $tmpdir ; $cc $cprogflags $cflags -o backtrace_test backtrace_test.c > /dev/null 2> /dev/null )
943
944 if [ "$?" = "0" ]; then
945 have_backtrace=1
946 echo "yes"
947 else
948 have_backtrace=0
949 echo "no"
950 fi
951
952 rm -f $tmpdir/backtrace_test.c
953 rm -f $tmpdir/backtrace_test
|
954 mike 1.1
955 ##==============================================================================
956 ##
|
957 krisbash 1.5 ## Check whether __sync_synchronize is supported.
|
958 mike 1.1 ##
959 ##==============================================================================
960
|
961 krisbash 1.5 echo $echon "checking for __sync_synchronize... $echoc"
|
962 mike 1.1
|
963 krisbash 1.5 rm -f $tmpdir/sync_synchronize_test
|
964 mike 1.1
|
965 krisbash 1.5 cat > $tmpdir/sync_synchronize_test.c <<EOF
966 int main()
967 {
968 __sync_synchronize();
969 return 0;
970 }
971 EOF
|
972 mike 1.1
|
973 krisbash 1.5 ( cd $tmpdir ; $cc $cprogflags $cflags -o sync_synchronize_test sync_synchronize_test.c > /dev/null 2> /dev/null )
|
974 mike 1.1
|
975 krisbash 1.5 if [ "$?" = "0" ]; then
976 have_sync_synchronize=1
|
977 mike 1.1 echo "yes"
978 else
|
979 krisbash 1.5 have_sync_synchronize=0
|
980 mike 1.1 echo "no"
981 fi
982
|
983 krisbash 1.5 rm -f $tmpdir/sync_synchronize_test.c
984 rm -f $tmpdir/sync_synchronize_test
985
|
986 mike 1.1 ##==============================================================================
987 ##
|
988 krisbash 1.5 ## Check whether Atomic Intrinsic Functions are supported.
|
989 mike 1.1 ##
990 ##==============================================================================
991
|
992 krisbash 1.5 echo $echon "checking for Atomic Intrinsic Functions... $echoc"
993
994 rm -f $tmpdir/atomic_intrinsic
995
996 cat > $tmpdir/atomic_intrinsic.c <<EOF
997 #include <stdio.h>
|
998 mike 1.1
999 int main()
1000 {
|
1001 krisbash 1.5 volatile long x = 1;
1002 printf("Result value = %d\n", x, __sync_add_and_fetch(&x, 1));
1003 printf("Result value = %d\n", x, __sync_val_compare_and_swap(&x, 2, 3));
1004 printf("Result value = %d\n", x, __sync_lock_test_and_set(&x, 4));
1005 printf("Result value = %d\n", x, __sync_and_and_fetch(&x, 15));
1006 printf("Result value = %d\n", x, __sync_sub_and_fetch(&x, 1));
1007 return 0;
|
1008 mike 1.1 }
1009 EOF
1010
|
1011 krisbash 1.5 ( cd $tmpdir ; $cc $cprogflags $cflags -o atomic_intrinsic atomic_intrinsic.c > /dev/null 2> /dev/null )
|
1012 mike 1.1
1013 if [ "$?" = "0" ]; then
|
1014 krisbash 1.5 have_atomic_intrinsics=1
|
1015 mike 1.1 echo "yes"
1016 else
|
1017 krisbash 1.5 have_atomic_intrinsics=0
|
1018 mike 1.1 echo "no"
1019 fi
1020
|
1021 krisbash 1.5 rm -f $tmpdir/atomic_intrinsic.c
1022 rm -f $tmpdir/atomic_intrinsic
1023
1024 if [ "$disable_atomics" = "1" ]; then
1025 have_atomic_intrinsics=0
1026 fi
1027
1028 ##==============================================================================
1029 ##
1030 ## Check whether sem_timedwait is supported.
1031 ##
1032 ##==============================================================================
1033
1034 echo $echon "checking for sem_timedwait... $echoc"
|
1035 mike 1.1
|
1036 krisbash 1.5 rm -f $tmpdir/sem_timedwait_func
|
1037 mike 1.1
|
1038 krisbash 1.5 cat > $tmpdir/sem_timedwait_func.c <<EOF
1039 # include <semaphore.h>
1040 # include <time.h>
|
1041 mike 1.1
|
1042 krisbash 1.5 int main()
1043 {
1044 sem_t sem;
1045 if(sem_init(&sem, 0, 1) == 0)
1046 {
1047 struct timespec temp = {0};
1048 sem_timedwait(&sem, &temp);
1049 }
1050 return 0;
1051 }
1052 EOF
|
1053 mike 1.1
|
1054 krisbash 1.5 ( cd $tmpdir ; $cc $cprogflags $cflags -o sem_timedwait_func sem_timedwait_func.c > /dev/null 2> /dev/null )
|
1055 mike 1.1
|
1056 krisbash 1.5 if [ "$?" = "0" ]; then
1057 have_sem_timedwait_func=1
1058 echo "yes"
1059 else
1060 have_sem_timedwait_func=0
1061 echo "no"
|
1062 mike 1.1 fi
1063
|
1064 krisbash 1.5 rm -f $tmpdir/sem_timedwait_func.c
1065 rm -f $tmpdir/sem_timedwait_func
|
1066 mike 1.1
1067 ##==============================================================================
1068 ##
|
1069 krisbash 1.5 ## Check whether strerror_r is supported.
|
1070 mike 1.1 ##
1071 ##==============================================================================
1072
|
1073 krisbash 1.5 echo $echon "checking for strerror_r... $echoc"
|
1074 mike 1.1
|
1075 krisbash 1.5 rm -f $tmpdir/strerror_r
|
1076 mike 1.1
|
1077 krisbash 1.5 cat > $tmpdir/strerror_r.c <<EOF
1078 #include <errno.h>
1079 #include <string.h>
|
1080 mike 1.1 int main()
1081 {
|
1082 krisbash 1.5 char buf[128];
1083 strerror_r(EAGAIN, buf, sizeof(buf));
|
1084 mike 1.1 return 0;
1085 }
1086 EOF
1087
|
1088 krisbash 1.5 ( cd $tmpdir ; $cc -c -o strerror_r -Werror -Wall strerror_r.c > /dev/null 2> /dev/null )
|
1089 mike 1.1
1090 if [ "$?" = "0" ]; then
|
1091 krisbash 1.5 have_strerror_r=1
|
1092 mike 1.1 echo "yes"
1093 else
|
1094 krisbash 1.5 have_strerror_r=0
|
1095 mike 1.1 echo "no"
1096 fi
1097
|
1098 krisbash 1.5 rm -f $tmpdir/strerror_r.c
1099 rm -f $tmpdir/strerror_r
|
1100 mike 1.1
1101 ##==============================================================================
1102 ##
|
1103 krisbash 1.5 ## Check whether pthread_rwlock_t is supported.
|
1104 mike 1.1 ##
1105 ##==============================================================================
1106
|
1107 krisbash 1.5 echo $echon "checking for pthread_rwlock_t... $echoc"
1108
1109 rm -f $tmpdir/pthread_rwlock_t_func
1110
1111 cat > $tmpdir/pthread_rwlock_t_func.c <<EOF
1112 #include <pthread.h>
1113 int main()
1114 {
1115 pthread_rwlock_t lock = PTHREAD_RWLOCK_INITIALIZER;
1116 (void)lock;
1117 return 0;
1118 }
1119 EOF
|
1120 mike 1.1
|
1121 krisbash 1.5 ( cd $tmpdir ; $cc $cprogflags $cflags -o pthread_rwlock_t_func pthread_rwlock_t_func.c > /dev/null 2> /dev/null )
|
1122 mike 1.1
|
1123 krisbash 1.5 if [ "$?" = "0" ]; then
|
1124 mike 1.1 echo "yes"
1125 else
1126 echo "no"
1127 exit 1
1128 fi
1129
|
1130 krisbash 1.5 rm -f $tmpdir/pthread_rwlock_t_func.c
1131 rm -f $tmpdir/pthread_rwlock_t_func
1132
|
1133 mike 1.1 ##==============================================================================
1134 ##
1135 ## Check for 'pkg-config' command.
1136 ##
1137 ##==============================================================================
1138
1139 echo $echon "checking whether pkg-config command is on the path... $echoc"
1140
1141 pkgconfig=`which pkg-config`
1142
1143 if [ -x "$pkgconfig" ]; then
1144 echo "yes"
1145 else
1146 echo "no"
1147 exit 1
1148 fi
1149
1150 ##==============================================================================
1151 ##
|
1152 krisbash 1.5 ## Resolve OpenSSL options:
1153 ##
1154 ##==============================================================================
1155
1156 if [ -z "$openssl" ]; then
1157
1158 echo $echon "checking whether openssl command is on the path... $echoc"
1159
1160 openssl=`which openssl`
1161
1162 if [ -x "$openssl" ]; then
1163 echo "yes"
1164 else
1165 echo "no"
1166 exit 1
1167 fi
1168
1169 fi
1170
1171 if [ "$opensslcflags_found" != "1" ]; then
1172 opensslcflags=`$pkgconfig --cflags openssl`
1173 krisbash 1.5 fi
1174
1175 if [ -z "$openssllibs_found" ]; then
1176 openssllibs=`$pkgconfig --libs openssl`
1177 fi
1178
1179 if [ -z "$openssllibdir_found" ]; then
1180 openssllibdir=`$pkgconfig --variable=libdir openssl`
1181 fi
1182
1183 ##==============================================================================
1184 ##
1185 ## Check for 'pkg-config' command.
1186 ##
1187 ##==============================================================================
1188
1189 echo $echon "checking whether fault injection is supported... $echoc"
1190
1191 faultinjection=`$buildtool faultinjection`
1192
1193 if [ "$faultinjection" = "1" ]; then
1194 krisbash 1.5 echo "yes"
1195 enable_faultinjection=1
1196 else
1197 echo "no"
1198 fi
1199
1200 ##==============================================================================
1201 ##
1202 ## Check for 'vsnprintf' behavior on NULL buffer
1203 ##
1204 ##==============================================================================
1205
1206 echo $echon "checking whether vsnprintf return -1 on NULL buffer... $echoc"
1207
1208 vsnprintfreturnminusone=`$buildtool vsnprintf`
1209
1210 if [ "$vsnprintfreturnminusone" = "1" ]; then
1211 echo "yes"
1212 vsnprintf_returnminusoneonnullbuffer=1
1213 else
1214 echo "no"
1215 krisbash 1.5 fi
1216
1217 ##==============================================================================
1218 ##
1219 ## Grap the timestamp:
1220 ##
1221 ##==============================================================================
1222
1223 timestamp=`cat $root/TIMESTAMP`
1224
1225 ##==============================================================================
1226 ##
|
1227 mike 1.1 ## Create config.mak file
1228 ##
1229 ##==============================================================================
1230
1231 fn=$outputdir/config.mak
1232
1233 cat > $fn <<EOF
1234 # CAUTION: This file was generated by 'configure' script.
1235
|
1236 krisbash 1.5 BUILDTOOL=$buildtool
1237 BUILDTOOLOPTS=$buildtoolopts
1238
|
1239 mike 1.1 CONFIG_PRODUCT=$product
1240 CONFIG_FULLPRODUCT=$fullproduct
1241 CONFIG_VERSION=$version
|
1242 mike 1.2 CONFIG_MAJOR=$major
|
1243 mike 1.1 CONFIG_MINOR=$minor
1244 CONFIG_REVISION=$revision
1245 CONFIG_DATE=$date
1246
1247 CONFIG_MAK=1
1248 $platform=1
1249 PLATFORM=$platform
1250 OS=$os
1251 ARCH=$arch
1252 COMPILER=$compiler
|
1253 krisbash 1.5
|
1254 mike 1.1 ROOT=$root
|
1255 krisbash 1.5 SRCDIR=$root
|
1256 mike 1.1 OUTPUTDIR=$outputdir
|
1257 krisbash 1.5 OUTPUTDIRNAME=$outputdirname
|
1258 mike 1.1 LIBDIR=$outputdir/lib
1259 BINDIR=$outputdir/bin
1260 OBJDIR=$outputdir/obj
1261 INCDIR=$outputdir/include
1262 TMPDIR=$tmpdir
1263 PKGCONFIG=$pkgconfig
|
1264 krisbash 1.5 CONFIGUREDIR=$configuredir
|
1265 mike 1.1
|
1266 krisbash 1.5 CONFIG_SRCDIR=$root
|
1267 mike 1.1 CONFIG_TARGET=$target
|
1268 krisbash 1.5
1269 OPENSSL=$openssl
1270 OPENSSLCFLAGS=$opensslcflags
1271 OPENSSLLIBS=$openssllibs
1272 OPENSSLLIBDIR=$openssllibdir
1273
1274 WITH_CC=$with_cc
1275 WITH_CXX=$with_cxx
1276 WITH_AR=$with_ar
1277
|
1278 mike 1.1 CONFIG_PREFIX=$prefix
1279 CONFIG_BINDIR=$bindir
1280 CONFIG_LIBDIR=$libdir
1281 CONFIG_INCLUDEDIR=$includedir
1282 CONFIG_DATADIR=$datadir
1283 CONFIG_LOCALSTATEDIR=$localstatedir
1284 CONFIG_SYSCONFDIR=$sysconfdir
1285 CONFIG_PROVIDERDIR=$providerdir
1286 CONFIG_CERTSDIR=$certsdir
1287 CONFIG_AUTHDIR=$authdir
1288 CONFIG_NAMESPACE=$namespace
1289 CONFIG_HTTPPORT=$httpport
1290 CONFIG_HTTPSPORT=$httpsport
1291
1292 ENABLE_DEBUG=$enable_debug
1293 ENABLE_GCOV=$enable_gcov
1294 ENABLE_WERROR=$enable_werror
1295 ENABLE_WCHAR=$enable_wchar
|
1296 krisbash 1.5 ENABLE_32BIT=$enable_32bit
|
1297 mike 1.1 DISABLE_RTTI=$disable_rtti
1298 DISABLE_LIBPATH=$disable_libpath
1299 DISABLE_TEMPLATES=$disable_templates
|
1300 krisbash 1.5 DISABLE_LOCALSESSION=$disable_localsession
1301 DISABLE_INDICATION=$disable_indication
|
1302 mike 1.1 CONFIG_CIMSCHEMA=$cimschema
|
1303 mike 1.2 CONFIG_FAVORSIZE=$favorsize
|
1304 krisbash 1.5 CONFIG_SINGLEIMAGE=$singleimage
1305 CONFIG_TIMESTAMP=$timestamp
1306 ENABLE_HTTPHEADERS=$enable_httpheaders
1307 ENABLE_PREEXEC=$enable_preexec
1308 ENABLE_SECTIONS=$enable_sections
1309 ENABLE_FAULTINJECTION=$enable_faultinjection
|
1310 mike 1.1 EOF
1311
1312 echo "created $fn"
1313
|
1314 krisbash 1.5
1315 ##==============================================================================
1316 ##
1317 ## Create nitsargs.txt file for unit test
1318 ##
1319 ##==============================================================================
1320
1321 shlibext=`$buildtool shlibext $buildtoolopts`
1322 fnnitsargs=$tmpdir/nitsargs.txt
1323
1324 rm -f $fnnitsargs
1325
1326 if [ "$enable_faultinjection" = "1" ]; then
1327 echo "-install" >> $fnnitsargs
1328 fi
1329
1330 if [ $shlibext = "so" ]; then
1331 cat $root/ut/nonWin/nitsargs.txt >> $fnnitsargs
1332 else
1333 sed -e "s/\.so/\.$shlibext/" < $root/ut/nonWin/nitsargs.txt >> $fnnitsargs
1334 fi
1335 krisbash 1.5
1336 chmod +w $fnnitsargs
1337
1338 echo "created $fnnitsargs"
1339
|
1340 mike 1.1 ##==============================================================================
1341 ##
1342 ## Create config.h file
1343 ##
1344 ##==============================================================================
1345
1346
1347 fn=$outputdir/include/config.h
1348
1349 cat > $fn <<EOF
1350 /* CAUTION: This file was generated by 'configure' script. */
1351 #ifndef _config_h
1352 #define _config_h
1353
1354 #define CONFIG_PRODUCT "$product"
1355 #define CONFIG_FULLPRODUCT "$fullproduct"
|
1356 krisbash 1.5 #define CONFIG_VERSION "$version_with_release"
|
1357 mike 1.2 #define CONFIG_MAJOR $major
|
1358 mike 1.1 #define CONFIG_MINOR $minor
1359 #define CONFIG_REVISION $revision
1360 #define CONFIG_DATE "$date"
1361 #define CONFIG_PLATFORM "$platform"
1362 #define CONFIG_OS "$os"
1363 #define CONFIG_ARCH "$arch"
1364 #define CONFIG_COMPILER "$compiler"
1365 #define CONFIG_PLATFORM_$platform
1366 #define CONFIG_OS_$os
1367 #define CONFIG_ARCH_$arch
1368 #define CONFIG_COMPILER_$compiler
1369 #define CONFIG_POSIX
1370 #define CONFIG_TARGET "$target"
|
1371 krisbash 1.5 #define CONFIG_SRCDIR "$root"
|
1372 mike 1.1 #define CONFIG_PREFIX "$prefix"
1373 #define CONFIG_LIBDIR "$libdir"
1374 #define CONFIG_INCLUDEDIR "$includedir"
1375 #define CONFIG_DATADIR "$datadir"
1376 #define CONFIG_BINDIR "$bindir"
1377 #define CONFIG_LOCALSTATEDIR "$localstatedir"
1378 #define CONFIG_SYSCONFDIR "$sysconfdir"
1379 #define CONFIG_PROVIDERDIR "$providerdir"
1380 #define CONFIG_CERTSDIR "$certsdir"
1381 #define CONFIG_AUTHDIR "$authdir"
1382 #define CONFIG_NAMESPACE "$namespace"
1383 #define CONFIG_HTTPPORT $httpport
1384 #define CONFIG_HTTPSPORT $httpsport
1385 #define CONFIG_TMPDIR "$tmpdir"
1386 #define CONFIG_CIMSCHEMA "$cimschema"
|
1387 krisbash 1.5 #define CONFIG_UUID "$configuuid"
|
1388 mike 1.1 EOF
1389
1390 if [ "$enable_debug" = "1" ]; then
1391 echo "#define CONFIG_ENABLE_DEBUG" >> $fn
1392 else
1393 echo "/* #define CONFIG_ENABLE_DEBUG */" >> $fn
1394 fi
1395
1396 if [ "$enable_gcov" = "1" ]; then
1397 echo "#define CONFIG_ENABLE_GCOV" >> $fn
1398 else
1399 echo "/* #define CONFIG_ENABLE_GCOV */" >> $fn
1400 fi
1401
1402 if [ "$enable_werror" = "1" ]; then
1403 echo "#define CONFIG_ENABLE_WERROR" >> $fn
1404 else
1405 echo "/* #define CONFIG_ENABLE_WERROR */" >> $fn
1406 fi
1407
1408 if [ "$enable_wchar" = "1" ]; then
1409 mike 1.1 echo "#define CONFIG_ENABLE_WCHAR" >> $fn
1410 else
1411 echo "/* #define CONFIG_ENABLE_WCHAR */" >> $fn
1412 fi
1413
1414 if [ "$disable_rtti" = "1" ]; then
1415 echo "#define CONFIG_DISABLE_RTTI" >> $fn
1416 else
1417 echo "/* #define CONFIG_DISABLE_RTTI */" >> $fn
1418 fi
1419
1420 if [ "$disable_libpath" = "1" ]; then
1421 echo "#define CONFIG_DISABLE_LIBPATH" >> $fn
1422 else
1423 echo "/* #define CONFIG_DISABLE_LIBPATH */" >> $fn
1424 fi
1425
1426 if [ "$disable_templates" = "1" ]; then
1427 echo "#define CONFIG_DISABLE_TEMPLATES" >> $fn
1428 else
1429 echo "/* #define CONFIG_DISABLE_TEMPLATES */" >> $fn
1430 mike 1.1 fi
1431
|
1432 mike 1.2 if [ "$favorsize" = "1" ]; then
1433 echo "#define CONFIG_FAVORSIZE" >> $fn
1434 else
1435 echo "/* #define CONFIG_FAVORSIZE */" >> $fn
1436 fi
1437
|
1438 krisbash 1.5 if [ "$disable_localsession" = "1" ]; then
1439 echo "#define DISABLE_LOCALSESSION" >> $fn
1440 else
1441 echo "/* #define DISABLE_LOCALSESSION */" >> $fn
1442 fi
1443
1444 if [ "$disable_indication" = "1" ]; then
1445 echo "#define DISABLE_INDICATION" >> $fn
1446 else
1447 echo "/* #define DISABLE_INDICATION */" >> $fn
1448 echo $echon "libtest_indication."$shlibext >> $fnnitsargs
1449 fi
1450
1451 if [ "$singleimage" = "1" ]; then
1452 echo "#define CONFIG_SINGLEIMAGE" >> $fn
1453 else
1454 echo "/* #define CONFIG_SINGLEIMAGE */" >> $fn
1455 fi
1456
|
1457 mike 1.1 if [ "$have_function_macro" = "1" ]; then
1458 echo "#define CONFIG_HAVE_FUNCTION_MACRO" >> $fn
1459 else
1460 echo "/* #define CONFIG_HAVE_FUNCTION_MACRO */" >> $fn
1461 fi
1462
|
1463 krisbash 1.5 if [ "$have_builtin_ctz" = "1" ]; then
1464 echo "#define CONFIG_HAVE_BUILTIN_CTZ" >> $fn
1465 else
1466 echo "/* #define CONFIG_HAVE_BUILTIN_CTZ */" >> $fn
1467 fi
1468
1469 if [ "$have_builtin_prefetch" = "1" ]; then
1470 echo "#define CONFIG_HAVE_BUILTIN_PREFETCH" >> $fn
1471 else
1472 echo "/* #define CONFIG_HAVE_BUILTIN_PREFETCH */" >> $fn
1473 fi
1474
1475 if [ "$have_sched_getcpu" = "1" ]; then
1476 echo "#define CONFIG_HAVE_SCHED_GETCPU" >> $fn
1477 else
1478 echo "/* #define CONFIG_HAVE_SCHED_GETCPU */" >> $fn
1479 fi
1480
1481 if [ "$have_wcstoll" = "1" ]; then
1482 echo "#define CONFIG_HAVE_WCSTOLL" >> $fn
1483 else
1484 krisbash 1.5 echo "/* #define CONFIG_HAVE_WCSTOLL */" >> $fn
1485 fi
1486
1487 if [ "$have_wcsdup" = "1" ]; then
1488 echo "#define CONFIG_HAVE_WCSDUP" >> $fn
1489 else
1490 echo "/* #define CONFIG_HAVE_WCSDUP */" >> $fn
1491 fi
1492
1493 if [ "$have_wcscasecmp" = "1" ]; then
1494 echo "#define CONFIG_HAVE_WCSCASECMP" >> $fn
1495 else
1496 echo "/* #define CONFIG_HAVE_WCSCASECMP */" >> $fn
1497 fi
1498
1499 if [ "$have_vswscanf" = "1" ]; then
1500 echo "#define CONFIG_HAVE_VSWSCANF" >> $fn
1501 else
1502 echo "/* #define CONFIG_HAVE_VSWSCANF */" >> $fn
1503 fi
1504
1505 krisbash 1.5 if [ "$have_va_copy" = "1" ]; then
1506 echo "#define CONFIG_HAVE_VA_COPY" >> $fn
1507 else
1508 echo "/* #define CONFIG_HAVE_VA_COPY */" >> $fn
1509 fi
1510
1511 if [ "$have_backtrace" = "1" ]; then
1512 echo "#define CONFIG_HAVE_BACKTRACE" >> $fn
1513 else
1514 echo "/* #define CONFIG_HAVE_BACKTRACE */" >> $fn
1515 fi
1516
1517 if [ "$have_sync_synchronize" = "1" ]; then
1518 echo "#define CONFIG_HAVE_SYNC_SYNCHRONIZE" >> $fn
1519 else
1520 echo "/* #define CONFIG_HAVE_SYNC_SYNCHRONIZE */" >> $fn
1521 fi
1522
1523 if [ "$have_atomic_intrinsics" = "1" ]; then
1524 echo "#define CONFIG_HAVE_ATOMIC_INTRINSICS" >> $fn
1525 else
1526 krisbash 1.5 echo "/* #define CONFIG_HAVE_ATOMIC_INTRINSICS */" >> $fn
1527 fi
1528
1529 if [ "$have_sem_timedwait_func" = "1" ]; then
1530 echo "#define CONFIG_HAVE_SEM_TIMEDWAIT" >> $fn
1531 else
1532 echo "/* #define CONFIG_HAVE_SEM_TIMEDWAIT */" >> $fn
1533 fi
1534
1535 if [ "$have_strerror_r" = "1" ]; then
1536 echo "#define CONFIG_HAVE_STRERROR_R" >> $fn
1537 else
1538 echo "/* #define CONFIG_HAVE_STRERROR_R */" >> $fn
1539 fi
1540
1541 echo "#define CONFIG_SHLIBEXT \"$shlibext\" " >> $fn
1542
1543 echo "#define CONFIG_TIMESTAMP \"$timestamp\" " >> $fn
1544
1545 if [ "$enable_httpheaders" = "1" ]; then
1546 echo "#define CONFIG_ENABLE_HTTPHEADERS" >> $fn
1547 krisbash 1.5 else
1548 echo "/* #define CONFIG_ENABLE_HTTPHEADERS */" >> $fn
1549 fi
1550
1551 echo "#define CONFIG_SEMNAMELOCALPREFIX \"`$buildtool semnamelocalprefix`\"" CONFIG_UUID >> $fn
1552 echo "#define CONFIG_SEMNAMEGLOBALPREFIX \"`$buildtool semnamelocalprefix`\"" CONFIG_UUID>> $fn
1553
1554 echo "#define CONFIG_SHMNAMELOCALPREFIX \"`$buildtool shmnamelocalprefix`\"" CONFIG_UUID >> $fn
1555 echo "#define CONFIG_SHMNAMEGLOBALPREFIX \"`$buildtool shmnamelocalprefix`\"" CONFIG_UUID >> $fn
1556
1557 if [ "$enable_preexec" = "1" ]; then
1558 echo "#define CONFIG_ENABLE_PREEXEC" >> $fn
1559 else
1560 echo "/* #define CONFIG_ENABLE_PREEXEC */" >> $fn
1561 fi
1562
1563 if [ "$enable_sections" = "1" ]; then
1564 echo "#define CONFIG_ENABLE_SECTIONS" >> $fn
1565 else
1566 echo "/* #define CONFIG_ENABLE_SECTIONS */" >> $fn
1567 fi
1568 krisbash 1.5
1569 if [ "$enable_faultinjection" = "1" ]; then
1570 echo "#define CONFIG_ENABLE_FAULTINJECTION" >> $fn
1571 else
1572 echo "/* #define CONFIG_ENABLE_FAULTINJECTION */" >> $fn
1573 fi
1574
1575 if [ "$vsnprintf_returnminusoneonnullbuffer" = "1" ]; then
1576 echo "#define CONFIG_VSNPRINTF_RETURN_MINUSONE_WITH_NULLBUFFER" >> $fn
1577 else
1578 echo "/* #define CONFIG_VSNPRINTF_RETURN_MINUSONE_WITH_NULLBUFFER */" >> $fn
1579 fi
|
1580 mike 1.1
1581 echo "" >> $fn
1582 echo "#endif /* _config_h */" >> $fn
1583
1584 echo "created $fn"
1585 fn=""
1586
1587 ##==============================================================================
1588 ##
1589 ## Setup symbolic links for 'include' directory.
1590 ##
1591 ##==============================================================================
1592
|
1593 krisbash 1.5 fn=$outputdir/include/MI.h
1594
1595 rm -rf $fn
1596
1597 echo "#define MI_MAJOR $major" >> $fn
1598 echo "#define MI_MINOR $minor" >> $fn
1599 echo "#define MI_REVISION $revision" >> $fn
1600
1601 if [ "$enable_wchar" = "1" ]; then
1602 cat $root/common/MI_wchar.h.in >> $fn
1603 fi
1604
1605 cat $root/common/MI.h >> $fn
1606
1607 echo "Created $fn"
1608
1609 fn=""
|
1610 mike 1.1
1611 rm -rf $outputdir/include/micxx
1612 ln -f -s $root/micxx $outputdir/include/micxx
1613
1614 rm -rf $outputdir/include/omiclient
1615 ln -f -s $root/omiclient $outputdir/include/omiclient
1616
1617 ##==============================================================================
1618 ##
1619 ## Generate omi.mak (end-user makefile).
1620 ##
1621 ##==============================================================================
1622
1623 fn=$outputdir/omi.mak
1624
1625 cat > $fn <<EOF
1626 CONFIG_PREFIX=$prefix
1627 LIBDIR=\$(OMI_ROOT)/$libdir
1628 BINDIR=\$(OMI_ROOT)/$bindir
1629 INCLUDEDIR=\$(OMI_ROOT)/$includedir
1630 SYSCONFDIR=\$(OMI_ROOT)/$sysconfdir
1631 mike 1.1 CXXLIBS = -L\$(LIBDIR) -lmicxx
1632
1633 __OBJECTS = \$(SOURCES:.c=.o)
1634 OBJECTS = \$(__OBJECTS:.cpp=.o)
1635 INCLUDES += -I\$(INCLUDEDIR)
1636
|
1637 krisbash 1.5 CC=$with_cc
1638 CXX=$with_cxx
|
1639 mike 1.1
1640 ifndef DEBUG
|
1641 krisbash 1.5 CFLAGS=`$buildtool cflags --debug --pic $buildtoolopts`
1642 CXXFLAGS=`$buildtool cxxflags --debug --pic $buildtoolopts`
|
1643 mike 1.1 else
|
1644 krisbash 1.5 CFLAGS=`$buildtool cflags --optim --pic $buildtoolopts`
1645 CXXFLAGS=`$buildtool cxxflags --optim --pic $buildtoolopts`
|
1646 mike 1.1 endif
1647
|
1648 krisbash 1.5 CSHLIBFLAGS=`$buildtool cshlibflags --libpath=$libdir $buildtoolopts`
1649 CXXSHLIBFLAGS=`$buildtool cxxshlibflags --libpath=$libdir $buildtoolopts`
1650 LIBRARY = lib\$(PROVIDER).`$buildtool shlibext $buildtoolopts`
|
1651 mike 1.1
1652 EOF
1653
1654 echo "created $fn"
1655
1656 ##==============================================================================
1657 ##
1658 ## Generate ssl.cnf (certification configuration file).
1659 ##
1660 ##==============================================================================
1661
1662 fn=$outputdir/ssl.cnf
|
1663 krisbash 1.5 longhostname=`$buildtool longhostname $buildtoolopts`
|
1664 mike 1.1
1665 cat > $fn <<EOF
1666 [ req ]
1667 distinguished_name = req_distinguished_name
1668 prompt = no
1669 [ req_distinguished_name ]
1670 CN = $hostname
1671 CN = $longhostname
1672 EOF
1673
1674 echo "created $fn"
1675
1676 ##==============================================================================
1677 ##
1678 ## Create 'install' script.
1679 ##
1680 ##==============================================================================
1681
|
1682 krisbash 1.5 shlibext=`$buildtool shlibext $buildtoolopts`
1683 ldlibrarypath=`$buildtool ldlibrarypath $buildtoolopts`
|
1684 mike 1.1 fn=$outputdir/install
|
1685 krisbash 1.5 outputdirrelative=./$outputdirname
|
1686 mike 1.1
1687 cat > $fn <<EOF
1688 #!/bin/sh
1689 ##==============================================================================
1690 ##
1691 ## This file was generated by ./configure
1692 ##
1693 ##==============================================================================
1694
1695 ##
1696 ## Check options
1697 ##
1698
1699 for opt
1700 do
1701
1702 arg=\`expr "x\$opt" : 'x[^=]*=\(.*\)'\`
1703
1704 case \$opt in
1705
1706 -h | --help)
1707 mike 1.1 help=1
1708 ;;
1709
1710 --destdir=*)
1711 destdir=\$arg
1712 ;;
1713
1714 --openssllibdir=*)
1715 openssllibdir=\$arg
1716 if [ ! -d "$openssllibdir" ]; then
1717 echo "\$0: directory given by --openssllibdir option does not exist: $option"
1718 exit 1
1719 fi
1720 ;;
1721
1722 *)
1723 echo "\$0: unknown option: \$opt"
1724 exit 1
1725 ;;
1726
1727 esac
1728 mike 1.1 done
1729
1730 if [ -z "\$destdir" ]; then
1731 destdir=/
1732 fi
1733
1734 ##
1735 ## Print help message
1736 ##
1737
1738 if [ "\$help" = "1" ]; then
1739 cat<<ENDHELP
1740
1741 Usage: ./install [OPTIONS]
1742
1743 OVERVIEW:
1744
1745 This script installs OMI.
1746
1747 \$ ./install --destdir /opt
1748
1749 mike 1.1 OPTIONS:
1750 -h, --help Print this help message.
1751 --destdir=PATH Install under PATH (default=/)
1752
1753 ENDHELP
1754 exit 0
1755 fi
1756
1757 ##
1758 ## Find openssl program.
1759 ##
1760
1761 if [ ! -x "\`which openssl\`" ]; then
1762 echo "\$0: 'openssl' program not found on path. Please add to path an try again".
1763 exit 1
1764 fi
1765
1766 ##
1767 ## Attempt to resolve OpenSSL libdir.
1768 ##
1769
|
1770 krisbash 1.5 openssllibdir=\`$buildtool openssllibdir $buildtoolopts\`
|
1771 mike 1.1
1772 if [ -n "\$openssllibdir" ]; then
1773 $ldlibrarypath=\$openssllibdir
1774 export $ldlibrarypath
1775 fi
1776
1777 openssl -h > /dev/null 2> /dev/null
1778
1779 if [ "\$?" != "0" ]; then
1780 echo "\$0: openssl program is not executable."
1781 exit 1
1782 fi
1783
1784 ##
1785 ## Create directories.
1786 ##
1787
1788 mkdir -p \$destdir/$prefix
1789 mkdir -p \$destdir/$bindir
1790 mkdir -p \$destdir/$libdir
1791 mkdir -p \$destdir/$localstatedir
1792 mike 1.1 mkdir -p \$destdir/$localstatedir/log
1793 mkdir -p \$destdir/$localstatedir/run
1794 mkdir -p \$destdir/$sysconfdir
1795 mkdir -p \$destdir/$providerdir
1796 mkdir -p \$destdir/$certsdir
1797 mkdir -p \$destdir/$authdir
1798 mkdir -p \$destdir/$includedir
1799 mkdir -p \$destdir/$includedir/micxx
1800 mkdir -p \$destdir/$includedir/omiclient
1801 mkdir -p \$destdir/$datadir
1802 mkdir -p \$destdir/$datadir/omischema
1803 mkdir -p \$destdir/$sysconfdir/omiregister
1804 mkdir -p \$destdir/$sysconfdir/omiregister/interop
|
1805 krisbash 1.5 mkdir -p "\$destdir/$sysconfdir/omiregister/root-cimv2"
1806 mkdir -p "\$destdir/$sysconfdir/omiregister/root-omi"
1807 mkdir -p "\$destdir/$sysconfdir/omiregister/root-check"
|
1808 mike 1.1 mkdir -p \$destdir/$sysconfdir/omiregister/$namespacedir
1809
1810 ##
1811 ## Install executables.
1812 ##
1813
|
1814 krisbash 1.5 if test -f "$outputdirrelative/bin/omiimage"; then
1815 cp -f $outputdirrelative/bin/omiimage \$destdir/$bindir/omiimage
1816 rm -r \$destdir/bin/omiserver
1817 ln -s \$destdir/$bindir/omiimage \$destdir/$bindir/omiserver
1818 rm -r \$destdir/bin/omiagent
1819 ln -s \$destdir/$bindir/omiimage \$destdir/$bindir/omiagent
1820 else
1821 cp -f $outputdirrelative/bin/omiserver \$destdir/$bindir/omiserver
1822 cp -f $outputdirrelative/bin/omiagent \$destdir/$bindir/omiagent
1823 fi
|
1824 mike 1.1
|
1825 krisbash 1.5 cp -f $outputdirrelative/bin/omicli \$destdir/$bindir/omicli
1826 cp -f $outputdirrelative/bin/omigen \$destdir/$bindir/omigen
1827 cp -f $outputdirrelative/bin/omireg \$destdir/$bindir/omireg
1828 cp -f $outputdirrelative/bin/omicheck \$destdir/$bindir/omicheck
|
1829 mike 1.1
1830 ##
1831 ## Install libraries.
1832 ##
1833
|
1834 krisbash 1.5 cp -f $outputdirrelative/lib/libmicxx.$shlibext \$destdir/$libdir/
1835 cp -f $outputdirrelative/lib/libomiclient.$shlibext \$destdir/$libdir/
1836 cp -f $outputdirrelative/lib/libmi.$shlibext \$destdir/$libdir/
1837
1838 if test -f "$outputdirrelative/lib/libbase.$shlibext"
1839 then
1840 cp -f $outputdirrelative/lib/libbase.$shlibext \$destdir/$libdir/
1841 fi
|
1842 mike 1.1
|
1843 krisbash 1.5 if test -f "$outputdirrelative/lib/libpal.$shlibext"
|
1844 mike 1.1 then
|
1845 krisbash 1.5 cp -f $outputdirrelative/lib/libpal.$shlibext \$destdir/$libdir/
|
1846 mike 1.1 fi
1847
|
1848 krisbash 1.5
|
1849 mike 1.1 ##
1850 ## Install configuration files.
1851 ##
1852
1853 if test ! -f "\$destdir/$sysconfdir/omiserver.conf"
1854 then
|
1855 krisbash 1.5 cp $rootrelative/etc/omiserver.conf \$destdir/$sysconfdir/omiserver.conf
|
1856 mike 1.1 fi
1857
1858 if test ! -f "\$destdir/$sysconfdir/omicli.conf"
1859 then
|
1860 krisbash 1.5 cp $rootrelative/etc/omicli.conf \$destdir/$sysconfdir/omicli.conf
|
1861 mike 1.1 fi
1862
1863 if test ! -f "\$destdir/$sysconfdir/omigen.conf"
1864 then
|
1865 krisbash 1.5 cp $rootrelative/etc/omigen.conf \$destdir/$sysconfdir/omigen.conf
|
1866 mike 1.1 fi
1867
1868 ##
1869 ## Install header files.
1870 ##
1871
|
1872 krisbash 1.5 cp -f $outputdirrelative/include/MI.h \$destdir/$includedir/
1873 cp -f $rootrelative/micxx/array.h \$destdir/$includedir/micxx/
1874 cp -f $rootrelative/micxx/context.h \$destdir/$includedir/micxx/
1875 cp -f $rootrelative/micxx/field.h \$destdir/$includedir/micxx/
1876 cp -f $rootrelative/micxx/micxx.h \$destdir/$includedir/micxx/
1877 cp -f $rootrelative/micxx/types.h \$destdir/$includedir/micxx/
1878 cp -f $rootrelative/micxx/arraytraits.h \$destdir/$includedir/micxx/
1879 cp -f $rootrelative/micxx/datetime.h \$destdir/$includedir/micxx/
1880 cp -f $rootrelative/micxx/instance.h \$destdir/$includedir/micxx/
1881 cp -f $rootrelative/micxx/propertyset.h \$destdir/$includedir/micxx/
1882 cp -f $rootrelative/micxx/atomic.h \$destdir/$includedir/micxx/
1883 cp -f $rootrelative/micxx/dinstance.h \$destdir/$includedir/micxx/
1884 cp -f $rootrelative/micxx/linkage.h \$destdir/$includedir/micxx/
1885 cp -f $rootrelative/micxx/micxx_string.h \$destdir/$includedir/micxx/
1886 cp -f $rootrelative/micxx/atomic.h \$destdir/$includedir/micxx/
1887 cp -f $rootrelative/omiclient/linkage.h \$destdir/$includedir/omiclient/
1888 cp -f $rootrelative/omiclient/client.h \$destdir/$includedir/omiclient/
1889 cp -f $rootrelative/omiclient/handler.h \$destdir/$includedir/omiclient/
|
1890 mike 1.1
1891 ##
1892 ## Install schema files (MOF files).
1893 ##
1894
|
1895 krisbash 1.5 cp -f $rootrelative/share/omischema/CIM_Schema.mof \$destdir/$datadir/omischema/
|
1896 mike 1.1 rm -rf \$destdir/$datadir/omischema/$cimschema
|
1897 krisbash 1.5 cp -r $rootrelative/share/omischema/$cimschema \$destdir/$datadir/omischema/
|
1898 mike 1.1
1899 ##
1900 ## Install providers.
1901 ##
1902
|
1903 krisbash 1.5 cp -f "$rootrelative/etc/omiregister/root-omi/omiidentify.reg" "\$destdir/$sysconfdir/omiregister/root-omi"
1904 cp -f "$rootrelative/etc/omiregister/root-check/omiidentify.reg" "\$destdir/$sysconfdir/omiregister/root-check"
1905 cp -f $outputdirrelative/lib/libomiidentify.$shlibext \$destdir/$providerdir/
|
1906 mike 1.1
1907 ##
1908 ## Install omi.mak.
1909 ##
1910
1911 echo "OMI_ROOT=/" > \$destdir/$datadir/omi.mak
|
1912 krisbash 1.5 cat $outputdirrelative/omi.mak >> \$destdir/$datadir/omi.mak
|
1913 mike 1.1
1914 ##
1915 ## Install certificates.
1916 ##
1917
|
1918 krisbash 1.5 hostname=`$buildtool hostname $buildtoolopts`
1919 cnffile=$outputdirrelative/ssl.cnf
|
1920 mike 1.1 keyfile=\$destdir/$certsdir/omikey.pem
1921 certfile=\$destdir/$certsdir/omi.pem
1922
1923 if [ -f "\$keyfile" -a -f "\$certfile" ]; then
1924 echo
1925 echo "************************************************************"
1926 echo "* Warning: The certificate and keyfile were not generated *"
1927 echo "* since they already exist. *"
1928 echo "************************************************************"
1929 else
1930 openssl req -x509 -sha1 -newkey rsa:2048 -days 3650 -nodes -config \$cnffile -keyout \$keyfile -out \$certfile
1931 chmod 600 \$keyfile
1932 chmod 644 \$certfile
1933 fi
1934
1935 ##
1936 ## Configure PAM.
1937 ##
1938
|
1939 krisbash 1.5 $outputdirrelative/installpam
|
1940 mike 1.1
1941 ##
1942 ## Install 'uninstall' script.
1943 ##
1944
|
1945 krisbash 1.5 cp $outputdirrelative/uninstall \$destdir/$bindir/omiuninstall
|
1946 mike 1.1 chmod 755 \$destdir/$bindir/omiuninstall
1947
1948 ##
1949 ## Print success message!
1950 ##
1951
1952 echo "Successfully installed under under: \$destdir/$prefix"
1953
1954 EOF
1955
1956 chmod +x $fn
1957 echo "created $fn"
1958
1959 ##==============================================================================
1960 ##
1961 ## Create 'uninstall' script.
1962 ##
1963 ##==============================================================================
1964
|
1965 krisbash 1.5 shlibext=`$buildtool shlibext $buildtoolopts`
|
1966 mike 1.1 fn=$outputdir/uninstall
1967
1968 cat > $fn <<EOF
1969 #!/bin/sh
1970 ##==============================================================================
1971 ##
1972 ## This file was generated by ./configure
1973 ##
1974 ##==============================================================================
1975
|
1976 krisbash 1.5 rm -rf $bindir/omiimage
1977 rm -rf $bindir/omiserver
1978 rm -rf $bindir/omiagent
1979 rm -rf $bindir/omiagent
1980 rm -rf $bindir/omicli
1981 rm -rf $bindir/omigen
1982 rm -rf $bindir/omireg
1983 rm -rf $bindir/omicheck
1984 rm -rf $libdir/libmicxx.$shlibext
1985 rm -rf $libdir/libomiclient.$shlibext
1986 rm -rf $libdir/libomiidentify.$shlibext
1987 rm -rf $localstatedir/log/omiserver.log
1988 rm -rf $localstatedir/log/omiserver-send.trc
1989 rm -rf $localstatedir/log/omiserver-recv.trc
1990 rm -rf $localstatedir/log/omiagent.*.*.log
1991 rm -rf $localstatedir/run/omiserver.pid
1992 rm -rf $localstatedir/run/omiserver.sock
1993 rm -rf $localstatedir/omiauth
1994 rm -rf $sysconfdir/omiregister
1995 rm -rf $includedir/micxx
1996 rm -rf $includedir/omiclient
1997 krisbash 1.5 rm -rf $includedir/MI.h
1998 rm -rf $datadir/omischema
1999 rm -rf $datadir/omi.mak
2000 rm -rf $bindir/omiuninstall
2001
2002 EOF
2003
2004 chmod +x $fn
2005 echo "created $fn"
2006
2007 ##==============================================================================
2008 ##
2009 ## Create GNUmakefile
2010 ##
2011 ##==============================================================================
2012
2013 fn=$configuredir/GNUmakefile
|
2014 mike 1.1
|
2015 krisbash 1.5 cat > $fn <<EOF
2016 .PHONY: check
2017 .PHONY: tests
2018
2019 __ROOT=$root
2020 export OUTPUTDIR=$outputdir
2021 export SYSCONFDIR=$sysconfdir
2022 export DATADIR=$datadir
2023 export ROOT=$root
2024
2025 all:
2026 @echo '========================= Performing Building OMI'
2027 ( cd \$(__ROOT); \$(MAKE) -f build.mak )
2028
2029 tests:
2030 @echo '========================= Performing OMI unit tests'
2031 ( cd \$(__ROOT); \$(MAKE) -f build.mak tests )
2032
2033 check:
2034 @echo '========================= Performing OMI check'
2035 ( cd \$(__ROOT); \$(MAKE) -f build.mak check )
2036 krisbash 1.5
2037 %:
2038 ( cd \$(__ROOT); \$(MAKE) -f build.mak \$(MAKECMDGOALS) )
|
2039 mike 1.1 EOF
2040
2041 chmod +x $fn
2042 echo "created $fn"
2043
2044 ##==============================================================================
2045 ##
2046 ## Take suitable 'installpam' script.
2047 ##
2048 ##==============================================================================
2049
2050 os=`uname -s`
2051 fn=$outputdir/installpam
|
2052 krisbash 1.5 rm -f $fn.tmp
|
2053 mike 1.1 rm -f $fn
2054
2055 case $os in
2056 Linux)
2057 if [ -f /etc/S[uU]SE-release ]; then
|
2058 krisbash 1.5 cp $root/scripts/installpam-sles $fn.tmp
|
2059 mike 1.1 else
|
2060 krisbash 1.5 cp $root/scripts/installpam-rhel $fn.tmp
|
2061 mike 1.1 fi
2062 ;;
|
2063 krisbash 1.5 HP-UX | HPUX)
2064 cp $root/scripts/installpam-hp $fn.tmp
|
2065 mike 1.1 ;;
2066 AIX)
|
2067 krisbash 1.5 cp $root/scripts/installpam-aix $fn.tmp
|
2068 mike 1.1 ;;
2069 SunOS)
2070 VERSION=`uname -r | sed 's/[0-9]\.//'`
2071 if [ "$VERSION" = "10" ]; then
|
2072 krisbash 1.5 cp $root/scripts/installpam-sun10 $fn.tmp
|
2073 mike 1.1 else
|
2074 krisbash 1.5 cp $root/scripts/installpam-sun9 $fn.tmp
|
2075 mike 1.1 fi
2076 ;;
2077 Darwin)
2078 echo "pam script is not supported on Mac-OS yet"
|
2079 krisbash 1.5 touch $fn.tmp
|
2080 mike 1.1 ;;
2081 *)
2082 echo "Unknown"
2083 exit 1
2084 ;;
2085 esac
2086
|
2087 krisbash 1.5 sed "s~__BUILDTOOL__~$rootrelative/buildtool~g" $fn.tmp > $fn
2088 rm -f $fn.tmp
2089
2090 test -f $fn && chmod +x $fn && echo "created $fn"
|
2091 mike 1.1
2092 ##==============================================================================
2093 ##
2094 ## Put platform configuration message.
2095 ##
2096 ##==============================================================================
2097
2098 echo "Configured for $platform"
|