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