Home | History | Annotate | Download | only in test
      1 /*
      2  * env.c
      3  *
      4  * prints out a brief report on the build environment
      5  *
      6  * David McGrew
      7  * Cisco Systems, Inc.
      8  */
      9 /*
     10  *
     11  * Copyright (c) 2001-2006 Cisco Systems, Inc.
     12  * All rights reserved.
     13  *
     14  * Redistribution and use in source and binary forms, with or without
     15  * modification, are permitted provided that the following conditions
     16  * are met:
     17  *
     18  *   Redistributions of source code must retain the above copyright
     19  *   notice, this list of conditions and the following disclaimer.
     20  *
     21  *   Redistributions in binary form must reproduce the above
     22  *   copyright notice, this list of conditions and the following
     23  *   disclaimer in the documentation and/or other materials provided
     24  *   with the distribution.
     25  *
     26  *   Neither the name of the Cisco Systems, Inc. nor the names of its
     27  *   contributors may be used to endorse or promote products derived
     28  *   from this software without specific prior written permission.
     29  *
     30  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     31  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     32  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     33  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     34  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
     35  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     36  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     37  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     40  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     41  * OF THE POSSIBILITY OF SUCH DAMAGE.
     42  *
     43  */
     44 
     45 #include <stdio.h>
     46 #include <string.h>     /* for srtcmp() */
     47 #include "config.h"
     48 
     49 int
     50 main(void) {
     51   int err_count = 0;
     52   char *str;
     53 
     54 #ifdef WORDS_BIGENDIAN
     55   printf("CPU set to big-endian\t\t\t(WORDS_BIGENDIAN == 1)\n");
     56 #else
     57   printf("CPU set to little-endian\t\t(WORDS_BIGENDIAN == 0)\n");
     58 #endif
     59 
     60 #ifdef CPU_RISC
     61   printf("CPU set to RISC\t\t\t\t(CPU_RISC == 1)\n");
     62 #elif defined(CPU_CISC)
     63   printf("CPU set to CISC\t\t\t\t(CPU_CISC == 1)\n");
     64 #else
     65   printf("CPU set to an unknown type, probably due to a configuration error\n");
     66   err_count++;
     67 #endif
     68 
     69 #ifdef CPU_ALTIVEC
     70   printf("CPU set to ALTIVEC\t\t\t\t(CPU_ALTIVEC == 0)\n");
     71 #endif
     72 
     73 #ifndef NO_64BIT_MATH
     74   printf("using native 64-bit type\t\t(NO_64_BIT_MATH == 0)\n");
     75 #else
     76   printf("using built-in 64-bit math\t\t(NO_64_BIT_MATH == 1)\n");
     77 #endif
     78 
     79 #ifdef ERR_REPORTING_STDOUT
     80   printf("using stdout for error reporting\t(ERR_REPORTING_STDOUT == 1)\n");
     81 #endif
     82 
     83 #ifdef DEV_URANDOM
     84   str = DEV_URANDOM;
     85 #else
     86   str = "";
     87 #endif
     88   printf("using %s as a random source\t(DEV_URANDOM == %s)\n",
     89 	 str, str);
     90   if (strcmp("", str) == 0) {
     91     err_count++;
     92   }
     93 
     94   if (err_count)
     95     printf("warning: configuration is probably in error "
     96 	   "(found %d problems)\n", err_count);
     97 
     98   return err_count;
     99 }
    100