DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Untracked file

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
#include <stdio.h>
#include "config.h"
#include <stdlib.h>

/**
 * A little utility function to generate header info.
 *
 * Yes, it would be possible to do this using more "native" autoconf
 * features, but I personally find this approach to be cleaner.
 *
 * The output of this program is generally written to art_config.h,
 * which is installed in libart's include dir.
 **/

static void
die (char *why)
{
  fprintf (stderr, "gen_art_config: %s\n", why);
  exit (1);
}

int
main (int argc, char **argv)
{
  printf ("/* Automatically generated by gen_art_config.c */\n"
	  "\n"
	  "#define ART_SIZEOF_CHAR %d\n"
	  "#define ART_SIZEOF_SHORT %d\n"
	  "#define ART_SIZEOF_INT %d\n"
	  "#define ART_SIZEOF_LONG %d\n"
	  "\n",
	  (int)sizeof(char), (int)sizeof(short), (int)sizeof(int), (int)sizeof(long));

  if (sizeof(char) == 1)
    printf ("typedef unsigned char art_u8;\n");
  else
    die ("sizeof(char) != 1");

  if (sizeof(short) == 2)
    printf ("typedef unsigned short art_u16;\n");
  else
    die ("sizeof(short) != 2");

  if (sizeof(int) == 4)
    printf ("typedef unsigned int art_u32;\n");
  else if (sizeof(long) == 4)
    printf ("typedef unsigned long art_u32;\n");
  else
    die ("sizeof(int) != 4 and sizeof(long) != 4");

  return 0;
}