(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 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"

ViewCVS 0.9.2