(file) Return to configure CVS log (file) (dir) Up to [OMI] / omi

   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"

ViewCVS 0.9.2