edit
[satlib.git] / lingeling / code / lglbnr.c
1 /*-------------------------------------------------------------------------*/
2 /* Copyright 2010-2014 Armin Biere Johannes Kepler University Linz Austria */
3 /*-------------------------------------------------------------------------*/
4
5 #include "lglib.h"
6 #include "lglcfg.h"
7 #include "lglcflags.h"
8
9 #include <stdio.h>
10 #include <string.h>
11 #include <assert.h>
12
13 void lglbnr (const char * name, const char * prefix, FILE * file) {
14   const char * p = LGL_CFLAGS, * q, * n;
15   int len = 78 - strlen (prefix);
16   fprintf (file, "%s%s\n", prefix, name);
17   fprintf (file, "%s\n", prefix);
18   fprintf (file, "%sVersion %s %s\n", prefix, LGL_VERSION, LGL_ID);
19   fprintf (file, "%s\n", prefix);
20   fprintf (file, 
21      "%sCopyright (C) 2010-2014 Armin Biere JKU Linz Austria.\n",
22       prefix);
23   fprintf (file, "%sAll rights reserved.\n", prefix);
24   fprintf (file, "%s\n", prefix);
25   fprintf (file, "%sreleased %s\n", prefix, LGL_RELEASED);
26   fprintf (file, "%scompiled %s\n", prefix, LGL_COMPILED);
27   fprintf (file, "%s\n", prefix);
28   fprintf (file, "%s%s\n", prefix, LGL_CC);
29   assert (*p);
30   for (;;) {
31     fputs (prefix, file);
32     for (q = p; *q && *q != ' '; q++)
33       ;
34     if (*q && q - p < len) {
35       for (;;) {
36         for (n = q + 1; *n && *n != ' '; n++)
37           ;
38         if (n - p >= len) break;
39         q = n;
40         if (!*n) break;
41       }
42     }
43     while (p < q) fputc (*p++, file);
44     fputc ('\n', file);
45     if (!*p) break;
46     assert(*p == ' ');
47     p++;
48   }
49   fprintf (file, "%s%s\n", prefix, LGL_OS);
50   fprintf (file, "%s\n", prefix);
51   fflush (file);
52 }
53
54 const char * lglversion (void) { return LGL_VERSION " " LGL_ID; }