diff -r e4d67989cc36 -r 47c74d1534e1 genericopenlibs/liboil/src/build_prototypes_04.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericopenlibs/liboil/src/build_prototypes_04.c Fri Apr 16 16:46:38 2010 +0300 @@ -0,0 +1,151 @@ +/* + * LIBOIL - Library of Optimized Inner Loops + * Copyright (c) 2004 David A. Schleef + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include +#include + +#include + +static char * xstrdup (const char *s); + +void print_header (void); +void print_footer (void); + +int main (int argc, char *argv[]) +{ + OilFunctionClass *klass; + OilPrototype *proto; + int i; + int n; + char *string; + + oil_init_no_optimize (); + + print_header (); + + n = oil_class_get_n_classes (); + for (i=0;iprototype) { + proto = oil_prototype_from_string (klass->prototype); + if (proto) { + string = oil_prototype_to_string (proto); + if (strlen (string) == 0) { + free (string); + string = xstrdup("void"); + } + + printf ("void oil_%s (%s);\n",klass->name,string); + + oil_prototype_free (proto); + free (string); + } else { + printf("/* ERROR: could not parse %s(%s) */\n", klass->name, klass->prototype); + } + } + } + + print_footer (); + + return 0; +} + +void print_header (void) +{ + printf ("/*\n"); + printf (" * LIBOIL - Library of Optimized Inner Loops\n"); + printf (" * Copyright (c) 2004 David A. Schleef \n"); + printf (" * All rights reserved.\n"); + printf (" *\n"); + printf (" * Redistribution and use in source and binary forms, with or without\n"); + printf (" * modification, are permitted provided that the following conditions\n"); + printf (" * are met:\n"); + printf (" * 1. Redistributions of source code must retain the above copyright\n"); + printf (" * notice, this list of conditions and the following disclaimer.\n"); + printf (" * 2. Redistributions in binary form must reproduce the above copyright\n"); + printf (" * notice, this list of conditions and the following disclaimer in the\n"); + printf (" * documentation and/or other materials provided with the distribution.\n"); + printf (" * \n"); + printf (" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\n"); + printf (" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n"); + printf (" * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"); + printf (" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,\n"); + printf (" * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n"); + printf (" * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n"); + printf (" * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"); + printf (" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n"); + printf (" * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n"); + printf (" * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n"); + printf (" * POSSIBILITY OF SUCH DAMAGE.\n"); + printf (" */\n"); + printf ("\n"); + printf ("/* This file is automatically generated. Do not edit. */\n"); + printf ("\n"); + printf ("#ifndef _LIBOIL_FUNCS_H_\n"); + printf ("#define _LIBOIL_FUNCS_H_\n"); + printf ("\n"); + printf ("#include \n"); + printf ("\n"); + printf ("#ifdef __cplusplus\n"); + printf ("extern \"C\" {\n"); + printf ("#endif\n"); + printf ("\n"); +} + +void print_footer (void) +{ + printf ("\n"); + printf ("#ifdef __cplusplus\n"); + printf ("}\n"); + printf ("#endif\n"); + printf ("\n"); + printf ("#endif\n"); + printf ("\n"); +} + +static char * +xstrdup (const char *s) +{ + int n = strlen(s); + char *t; + + n = strlen(s); + t = malloc(n + 1); + memcpy (t, s, n); + t[n] = 0; + + return t; +} +