mirror of
https://github.com/RTimothyEdwards/netgen.git
synced 2026-08-22 14:07:07 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
723a950fd3 | ||
|
|
f04c72b984 | ||
|
|
e3368cb22a | ||
|
|
f06e6548bb | ||
|
|
d38bd77825 | ||
|
|
ea4083893c | ||
|
|
72ed19ff36 | ||
|
|
39b8e3d14a | ||
|
|
3dc70148d1 | ||
|
|
b63dfa8638 | ||
|
|
f918f33c51 | ||
|
|
a8576d26a9 | ||
|
|
63b2e48ea1 | ||
|
|
6e63f49d53 | ||
|
|
a31390f152 | ||
|
|
419b6de29a | ||
|
|
205cf2aa58 | ||
|
|
44ec952872 | ||
|
|
52b6766fc8 | ||
|
|
7b0bdd29e8 | ||
|
|
3892529873 | ||
|
|
e3b51c6004 | ||
|
|
3200b1bf95 | ||
|
|
814652e552 | ||
|
|
433cbd090a | ||
|
|
3087bd3337 | ||
|
|
4d138b64ca | ||
|
|
b79a29d662 | ||
|
|
bf9c61e412 | ||
|
|
9a2902abbb | ||
|
|
8d34bd372d | ||
|
|
229c2931a8 | ||
|
|
840f997133 | ||
|
|
b8da97deb1 | ||
|
|
b7187d5899 | ||
|
|
cb3cf592e8 | ||
|
|
b1d40e6d12 | ||
|
|
edbefbd1c4 | ||
|
|
d27d441c58 | ||
|
|
48c9e6b292 | ||
|
|
527cdb3dab | ||
|
|
ced5846da3 | ||
|
|
b99d33064f | ||
|
|
ee66c00121 | ||
|
|
f40a50d3b8 | ||
|
|
399472e940 | ||
|
|
8e0371e09b | ||
|
|
395f857a82 | ||
|
|
9e59048731 | ||
|
|
7889e2ae73 |
+3
-1
@@ -1,12 +1,14 @@
|
||||
netgen
|
||||
netgenexec
|
||||
defs.mak
|
||||
scripts/defs.mak
|
||||
config.cache
|
||||
config.log
|
||||
scripts/config.log
|
||||
config.status
|
||||
scripts/config.status
|
||||
*.o
|
||||
*.so
|
||||
*~
|
||||
*.log
|
||||
UPDATE_ME
|
||||
VERSION
|
||||
|
||||
@@ -85,6 +85,8 @@ and IRSIM version 9.7:
|
||||
make
|
||||
make install
|
||||
|
||||
Note: For FreeBSD, use 'gmake' instead.
|
||||
|
||||
IN CASE OF FAILURE
|
||||
-------------------
|
||||
Please contact me ([email protected]) to report compile-time and
|
||||
|
||||
+1
-1
@@ -1919,7 +1919,7 @@ PrematchLists(char *name1, int file1, char *name2, int file2)
|
||||
char *dstr = NULL;
|
||||
tc2 = LookupCellFile(ob2->model.class, ecomp0X->cell2->file);
|
||||
if (tc2->flags & CELL_DUPLICATE) {
|
||||
dstr = strstr(ob1->model.class, "[[");
|
||||
dstr = strstr(ob2->model.class, "[[");
|
||||
if (dstr) *dstr = '\0';
|
||||
}
|
||||
ncomp = (ECompare *)HashInt2Lookup(ob2->model.class,
|
||||
|
||||
+78
-120
@@ -3704,27 +3704,6 @@ int series_optimize(struct objlist *ob1, struct nlist *tp1, int idx1,
|
||||
return PropertyOptimize(obn, tp1, run1, TRUE, comb);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
/* Combine properties of ob1 starting at property idx1 up to */
|
||||
/* property (idx1 + run1) to match the properties of ob2 at */
|
||||
/* idx2 to (idx2 + run2). run1 is always larger than run2. */
|
||||
/*--------------------------------------------------------------*/
|
||||
|
||||
int series_combine(struct objlist *ob1, struct nlist *tp1, int idx1, int run1,
|
||||
struct objlist *ob2, struct nlist *tp2, int idx2, int run2)
|
||||
{
|
||||
struct objlist *obn, *obp;
|
||||
int i, j;
|
||||
int changed = 0;
|
||||
|
||||
obn = ob1;
|
||||
for (i = 0; i < idx1; i++) obn = obn->next;
|
||||
obp = ob2;
|
||||
for (i = 0; i < idx2; i++) obp = obp->next;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
||||
typedef struct _propsort {
|
||||
double value;
|
||||
int idx;
|
||||
@@ -3782,7 +3761,7 @@ void series_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run)
|
||||
vl = &(obp->instance.props[p]);
|
||||
if (vl->type == PROP_ENDLIST) break;
|
||||
if (vl->key == NULL) continue;
|
||||
if (!strcmp(vl->key, "S")) {
|
||||
if ((*matchfunc)(vl->key, "S")) {
|
||||
sval = vl->value.ival;
|
||||
sl = vl;
|
||||
}
|
||||
@@ -3842,27 +3821,6 @@ int parallel_optimize(struct objlist *ob1, struct nlist *tp1, int idx1,
|
||||
return PropertyOptimize(obn, tp1, run1, FALSE, comb);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
/* Combine properties of ob1 starting at property idx1 up to */
|
||||
/* property (idx1 + run1) to match the properties of ob2 at */
|
||||
/* idx2 to (idx2 + run2). run1 is always larger than run2. */
|
||||
/*--------------------------------------------------------------*/
|
||||
|
||||
int parallel_combine(struct objlist *ob1, struct nlist *tp1, int idx1, int run1,
|
||||
struct objlist *ob2, struct nlist *tp2, int idx2, int run2)
|
||||
{
|
||||
struct objlist *obn, *obp;
|
||||
int i, j;
|
||||
int changed = 0;
|
||||
|
||||
obn = ob1;
|
||||
for (i = 0; i < idx1; i++) obn = obn->next;
|
||||
obp = ob2;
|
||||
for (i = 0; i < idx2; i++) obp = obp->next;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
/* Sort properties of ob1 starting at property idx1 up to */
|
||||
/* property (idx1 + run). Use parallel critical property for */
|
||||
@@ -3906,7 +3864,7 @@ void parallel_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run)
|
||||
vl = &(obp->instance.props[p]);
|
||||
if (vl->type == PROP_ENDLIST) break;
|
||||
if (vl->key == NULL) continue;
|
||||
if (!strcmp(vl->key, "M")) {
|
||||
if ((*matchfunc)(vl->key, "M")) {
|
||||
mval = vl->value.ival;
|
||||
ml = vl;
|
||||
}
|
||||
@@ -3952,7 +3910,7 @@ void parallel_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run)
|
||||
vl = &(obp->instance.props[p]);
|
||||
if (vl->type == PROP_ENDLIST) break;
|
||||
if (vl->key == NULL) continue;
|
||||
if (!strcmp(vl->key, "M")) {
|
||||
if ((*matchfunc)(vl->key, "M")) {
|
||||
mval = vl->value.ival;
|
||||
ml = vl;
|
||||
}
|
||||
@@ -3960,7 +3918,7 @@ void parallel_sort(struct objlist *ob1, struct nlist *tp1, int idx1, int run)
|
||||
if (kl == NULL) continue; /* Ignored property */
|
||||
if (subs_crit == NULL)
|
||||
subs_crit = vl->key;
|
||||
if ((subs_crit != NULL) && !strcmp(vl->key, subs_crit)) {
|
||||
if ((subs_crit != NULL) && (*matchfunc)(vl->key, subs_crit)) {
|
||||
if ((vl->type == PROP_STRING || vl->type == PROP_EXPRESSION) &&
|
||||
(kl->type != vl->type))
|
||||
PromoteProperty(kl, vl);
|
||||
@@ -4198,20 +4156,6 @@ void PropertySortAndCombine(struct objlist *pre1, struct nlist *tp1,
|
||||
ob2 = pre2->next;
|
||||
}
|
||||
|
||||
/* Do not run parallel_combine until all other changes have been resolved */
|
||||
if (changed == 0) {
|
||||
if (max2 > max1)
|
||||
changed += parallel_combine(ob2, tp2, idx2, max2, ob1, tp1, idx1, max1);
|
||||
else if (max1 > max2)
|
||||
changed += parallel_combine(ob1, tp1, idx1, max1, ob2, tp2, idx2, max2);
|
||||
|
||||
if (changed > 0) {
|
||||
FREE(netwk1);
|
||||
FREE(netwk2);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/* Case 2: Series devices with more elements in one circuit */
|
||||
|
||||
/* Find the largest group of series devices in circuit1 */
|
||||
@@ -4297,14 +4241,6 @@ void PropertySortAndCombine(struct objlist *pre1, struct nlist *tp1,
|
||||
ob2 = pre2->next;
|
||||
}
|
||||
|
||||
/* Do not run series_combine until all other changes have been resolved */
|
||||
if (changed == 0) {
|
||||
if (max2 > max1)
|
||||
changed += series_combine(ob2, tp2, idx2, max2, ob1, tp1, idx1, max1);
|
||||
else if (max1 > max2)
|
||||
changed += series_combine(ob1, tp1, idx1, max1, ob2, tp2, idx2, max2);
|
||||
}
|
||||
|
||||
FREE(netwk1);
|
||||
FREE(netwk2);
|
||||
|
||||
@@ -4338,9 +4274,10 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
{
|
||||
struct objlist *ob2, *obt;
|
||||
struct property *kl, *m_rec, **plist;
|
||||
unsigned char **clist;
|
||||
struct valuelist ***vlist, *vl, *vl2, *newvlist;
|
||||
proplinkptr plink, ptop;
|
||||
int pcount, p, i, j, k, pmatch, ival, crit, ctype;
|
||||
int pcount, p, i, j, k, pmatch, ival, ctype;
|
||||
double dval;
|
||||
static struct valuelist nullvl, dfltvl;
|
||||
char multiple[2], other[2];
|
||||
@@ -4362,8 +4299,6 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
m_rec = NULL;
|
||||
ptop = NULL;
|
||||
pcount = 1;
|
||||
crit = -1;
|
||||
ctype = -1;
|
||||
kl = (struct property *)HashFirst(&(tp->propdict));
|
||||
while (kl != NULL) {
|
||||
// Make a linked list so we don't have to iterate through the hash again
|
||||
@@ -4378,31 +4313,22 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
else
|
||||
kl->idx = pcount++;
|
||||
|
||||
// Set critical property index, if there is one.
|
||||
|
||||
if (series == FALSE) {
|
||||
if (kl->merge & MERGE_P_CRIT) crit = kl->idx;
|
||||
if (kl->merge & (MERGE_P_ADD | MERGE_P_PAR))
|
||||
ctype = kl->merge & (MERGE_P_ADD | MERGE_P_PAR);
|
||||
}
|
||||
else if (series == TRUE) {
|
||||
if (kl->merge & MERGE_S_CRIT) crit = kl->idx;
|
||||
if (kl->merge & (MERGE_S_ADD | MERGE_S_PAR))
|
||||
ctype = kl->merge & (MERGE_S_ADD | MERGE_S_PAR);
|
||||
}
|
||||
|
||||
kl = (struct property *)HashNext(&(tp->propdict));
|
||||
}
|
||||
// Recast the linked list as an array
|
||||
plist = (struct property **)CALLOC(pcount, sizeof(struct property *));
|
||||
vlist = (struct valuelist ***)CALLOC(pcount, sizeof(struct valuelist **));
|
||||
if (m_rec == NULL)
|
||||
clist = (unsigned char **)CALLOC(pcount, sizeof(unsigned char *));
|
||||
if (m_rec == NULL) {
|
||||
vlist[0] = (struct valuelist **)CALLOC(run, sizeof(struct valuelist *));
|
||||
clist[0] = (unsigned char *)CALLOC(run, sizeof(unsigned char));
|
||||
}
|
||||
|
||||
while (ptop != NULL) {
|
||||
plist[ptop->prop->idx] = ptop->prop;
|
||||
vlist[ptop->prop->idx] = (struct valuelist **)CALLOC(run,
|
||||
sizeof(struct valuelist *));
|
||||
clist[ptop->prop->idx] = (unsigned char *)CALLOC(run, sizeof(unsigned char));
|
||||
plink = ptop;
|
||||
FREE(ptop);
|
||||
ptop = plink->next;
|
||||
@@ -4436,6 +4362,16 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
}
|
||||
else if (kl != NULL) {
|
||||
vlist[kl->idx][i] = vl;
|
||||
if (series == FALSE) {
|
||||
if (kl->merge & (MERGE_P_ADD | MERGE_P_PAR))
|
||||
clist[kl->idx][i] = kl->merge &
|
||||
(MERGE_P_ADD | MERGE_P_PAR | MERGE_P_CRIT);
|
||||
}
|
||||
else if (series == TRUE) {
|
||||
if (kl->merge & (MERGE_S_ADD | MERGE_S_PAR))
|
||||
clist[kl->idx][i] = kl->merge &
|
||||
(MERGE_S_ADD | MERGE_S_PAR | MERGE_S_CRIT);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (++i == run) break;
|
||||
@@ -4497,11 +4433,20 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
}
|
||||
}
|
||||
|
||||
// Critical properties can be multiplied up by M (S) and do not
|
||||
// need to match. May want a more nuanced comparison, though.
|
||||
if (p == crit) {
|
||||
pmatch++;
|
||||
continue;
|
||||
// Additive properties do not need to be matched, since
|
||||
// they can be combined. Critical paroperties must be
|
||||
// matched. Properties with no merge behavior must match.
|
||||
|
||||
ctype = clist[p][i];
|
||||
if (!(ctype & MERGE_S_CRIT)) {
|
||||
if ((series == TRUE) && (ctype & (MERGE_S_ADD | MERGE_S_PAR))) {
|
||||
pmatch++;
|
||||
continue;
|
||||
}
|
||||
if ((series == FALSE) && (ctype & (MERGE_P_ADD | MERGE_P_PAR))) {
|
||||
pmatch++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
switch(vl->type) {
|
||||
@@ -4590,42 +4535,53 @@ int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run, int series,
|
||||
}
|
||||
}
|
||||
|
||||
// If comb == TRUE, reduce M (or S) to 1 by merging the critical
|
||||
// property (if any)
|
||||
// If comb == TRUE, reduce M (or S) to 1 by merging additive properties
|
||||
// (if any)
|
||||
|
||||
if ((comb == TRUE) && (crit != -1)) {
|
||||
if (comb == TRUE) {
|
||||
int mult;
|
||||
for (i = 0; i < run; i++) {
|
||||
if (vlist[0][i] == NULL) continue;
|
||||
mult = vlist[0][i]->value.ival;
|
||||
if (mult > 1) {
|
||||
changed = 0;
|
||||
vl = vlist[crit][i];
|
||||
|
||||
if ((ctype == MERGE_S_ADD) || (ctype == MERGE_P_ADD)) {
|
||||
if (vl->type == PROP_INTEGER)
|
||||
vl->value.ival *= mult;
|
||||
else if (vl->type == PROP_DOUBLE)
|
||||
vl->value.dval *= (double)mult;
|
||||
vlist[0][i]->value.ival = 1;
|
||||
changed += mult;
|
||||
}
|
||||
else if ((ctype == MERGE_S_PAR) || (ctype == MERGE_P_PAR)) {
|
||||
/* Technically one should check if divide-by-mult */
|
||||
/* reduces the value to < 1 and promote to double */
|
||||
/* if so, but that's a very unlikely case. */
|
||||
if (vl->type == PROP_INTEGER)
|
||||
vl->value.ival /= mult;
|
||||
else if (vl->type == PROP_DOUBLE)
|
||||
vl->value.dval /= (double)mult;
|
||||
vlist[0][i]->value.ival = 1;
|
||||
changed += mult;
|
||||
}
|
||||
if (changed > 0) {
|
||||
if (series)
|
||||
Printf("Combined %d series devices.\n", changed);
|
||||
else
|
||||
Printf("Combined %d parallel devices.\n", changed);
|
||||
/* For all properties that are not M, S, or crit, */
|
||||
/* combine as specified by the merge type of the property. */
|
||||
|
||||
for (p = 1; p < pcount; p++) {
|
||||
vl = vlist[p][i];
|
||||
ctype = clist[p][i];
|
||||
|
||||
/* critical properties never combine */
|
||||
if ((series == TRUE) && (ctype & MERGE_S_CRIT)) continue;
|
||||
if ((series == FALSE) && (ctype & MERGE_P_CRIT)) continue;
|
||||
|
||||
if (ctype & (MERGE_S_ADD | MERGE_P_ADD)) {
|
||||
if (vl->type == PROP_INTEGER)
|
||||
vl->value.ival *= mult;
|
||||
else if (vl->type == PROP_DOUBLE)
|
||||
vl->value.dval *= (double)mult;
|
||||
vlist[0][i]->value.ival = 1;
|
||||
changed += mult;
|
||||
}
|
||||
else if (ctype & (MERGE_S_PAR | MERGE_P_PAR)) {
|
||||
/* Technically one should check if divide-by-mult */
|
||||
/* reduces the value to < 1 and promote to double */
|
||||
/* if so, but that's a very unlikely case. */
|
||||
if (vl->type == PROP_INTEGER)
|
||||
vl->value.ival /= mult;
|
||||
else if (vl->type == PROP_DOUBLE)
|
||||
vl->value.dval /= (double)mult;
|
||||
vlist[0][i]->value.ival = 1;
|
||||
changed += mult;
|
||||
}
|
||||
if (changed > 0) {
|
||||
if (series)
|
||||
Printf("Combined %d series devices.\n", changed);
|
||||
else
|
||||
Printf("Combined %d parallel devices.\n", changed);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4652,9 +4608,11 @@ cleanup:
|
||||
kl = (struct property *)plist[p];
|
||||
if (kl) kl->idx = 0;
|
||||
FREE(vlist[p]);
|
||||
FREE(clist[p]);
|
||||
}
|
||||
FREE(plist);
|
||||
FREE(vlist);
|
||||
FREE(clist);
|
||||
|
||||
return changed;
|
||||
}
|
||||
@@ -4913,9 +4871,9 @@ PropertyCheckMismatch(struct objlist *tp1, struct nlist *tc1,
|
||||
kl2 = &klm;
|
||||
else if (vl2 == &svl)
|
||||
kl2 = &kls;
|
||||
else if (vl1 == &mvl)
|
||||
else if ((*matchfunc)(vl2->key, mvl.key))
|
||||
kl2 = &klm;
|
||||
else if (vl1 == &svl)
|
||||
else if ((*matchfunc)(vl2->key, svl.key))
|
||||
kl2 = &kls;
|
||||
else
|
||||
continue;
|
||||
|
||||
+234
-31
@@ -47,6 +47,18 @@ static FILE *outfile;
|
||||
static int Graph = 0;
|
||||
int File;
|
||||
|
||||
/*------------------------------------------------------*/
|
||||
/* Structure for stacking nested `if[n]def in verilog */
|
||||
/*------------------------------------------------------*/
|
||||
|
||||
struct ifstack {
|
||||
int invert;
|
||||
struct property *kl;
|
||||
struct ifstack *next;
|
||||
};
|
||||
|
||||
struct ifstack *condstack = NULL;
|
||||
|
||||
extern char *SetExtension(char *buffer, char *path, char *extension)
|
||||
/* add 'extension' to 'path' (overwriting previous extension, if any),
|
||||
write it into buffer (if buffer is null, malloc a buffer).
|
||||
@@ -191,6 +203,8 @@ struct filestack {
|
||||
|
||||
static struct filestack *OpenFiles = NULL;
|
||||
|
||||
struct hashdict *definitions = (struct hashdict *)NULL;
|
||||
|
||||
#define WHITESPACE_DELIMITER " \t\n\r"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -251,7 +265,6 @@ void TrimQuoted(char *line)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -265,39 +278,202 @@ void TrimQuoted(char *line)
|
||||
|
||||
int GetNextLineNoNewline(char *delimiter)
|
||||
{
|
||||
char *newbuf;
|
||||
int testc;
|
||||
char *newbuf;
|
||||
int testc;
|
||||
int nested = 0;
|
||||
|
||||
if (feof(infile)) return -1;
|
||||
if (feof(infile)) return -1;
|
||||
|
||||
// This is more reliable than feof() ...
|
||||
testc = getc(infile);
|
||||
if (testc == -1) return -1;
|
||||
ungetc(testc, infile);
|
||||
while (1) { /* May loop indefinitely in an `if[n]def conditional */
|
||||
|
||||
if (linesize == 0) {
|
||||
/* Allocate memory for line */
|
||||
linesize = 500;
|
||||
line = (char *)MALLOC(linesize);
|
||||
linetok = (char *)MALLOC(linesize);
|
||||
}
|
||||
fgets(line, linesize, infile);
|
||||
while (strlen(line) == linesize - 1) {
|
||||
newbuf = (char *)MALLOC(linesize + 500);
|
||||
strcpy(newbuf, line);
|
||||
FREE(line);
|
||||
line = newbuf;
|
||||
fgets(line + linesize - 1, 501, infile);
|
||||
linesize += 500;
|
||||
FREE(linetok);
|
||||
linetok = (char *)MALLOC(linesize);
|
||||
}
|
||||
linenum++;
|
||||
strcpy(linetok, line);
|
||||
TrimQuoted(linetok);
|
||||
// This is more reliable than feof() ...
|
||||
testc = getc(infile);
|
||||
if (testc == -1) return -1;
|
||||
ungetc(testc, infile);
|
||||
|
||||
nexttok = strdtok(linetok, WHITESPACE_DELIMITER, delimiter);
|
||||
return 0;
|
||||
if (linesize == 0) {
|
||||
/* Allocate memory for line */
|
||||
linesize = 500;
|
||||
line = (char *)MALLOC(linesize);
|
||||
linetok = (char *)MALLOC(linesize);
|
||||
}
|
||||
fgets(line, linesize, infile);
|
||||
while (strlen(line) == linesize - 1) {
|
||||
newbuf = (char *)MALLOC(linesize + 500);
|
||||
strcpy(newbuf, line);
|
||||
FREE(line);
|
||||
line = newbuf;
|
||||
fgets(line + linesize - 1, 501, infile);
|
||||
linesize += 500;
|
||||
FREE(linetok);
|
||||
linetok = (char *)MALLOC(linesize);
|
||||
}
|
||||
|
||||
/* Check for substitutions (verilog only). Make sure linetok is */
|
||||
/* large enough to hold the entire line after substitutions. */
|
||||
|
||||
if (definitions != NULL) {
|
||||
char *s, *w, e;
|
||||
struct property *kl;
|
||||
int len, dlen, vlen, addin = 0;
|
||||
unsigned char found = FALSE;
|
||||
|
||||
for (s = line; *s != '\0'; s++) {
|
||||
if (*s == '`') {
|
||||
w = s + 1;
|
||||
while (isalnum(*w)) w++;
|
||||
e = *w;
|
||||
*w = '\0';
|
||||
kl = (struct property *)HashLookup(s + 1, definitions);
|
||||
if (kl != NULL) {
|
||||
dlen = strlen(s);
|
||||
if (kl->type == PROP_STRING) {
|
||||
vlen = strlen(kl->pdefault.string);
|
||||
}
|
||||
else vlen = 12; /* Leave room for numeric conversion */
|
||||
addin += vlen - dlen + 1;
|
||||
found = TRUE;
|
||||
}
|
||||
*w = e;
|
||||
}
|
||||
}
|
||||
if (found) {
|
||||
len = strlen(line);
|
||||
if (len + addin > linesize) {
|
||||
while (len + addin > linesize) linesize += 500;
|
||||
FREE(linetok);
|
||||
linetok = (char *)MALLOC(linesize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Make definition substitutions (verilog only) */
|
||||
|
||||
if (definitions != NULL) {
|
||||
char *s, *t, *w, e;
|
||||
struct property *kl;
|
||||
|
||||
t = linetok;
|
||||
for (s = line; *s != '\0'; s++) {
|
||||
if (*s == '`') {
|
||||
w = s + 1;
|
||||
while (isalnum(*w)) w++;
|
||||
e = *w;
|
||||
*w = '\0';
|
||||
kl = (struct property *)HashLookup(s + 1, definitions);
|
||||
if (kl != NULL) {
|
||||
if (kl->type == PROP_STRING)
|
||||
strcpy(t, kl->pdefault.string);
|
||||
else if (kl->type == PROP_INTEGER)
|
||||
sprintf(t, "%d", kl->pdefault.ival);
|
||||
else if (kl->type == PROP_DOUBLE)
|
||||
sprintf(t, "%g", kl->pdefault.dval);
|
||||
t += strlen(t);
|
||||
s = w - 1;
|
||||
}
|
||||
else *t++ = *s;
|
||||
*w = e;
|
||||
}
|
||||
else *t++ = *s;
|
||||
}
|
||||
*t = '\0';
|
||||
}
|
||||
else
|
||||
strcpy(linetok, line);
|
||||
|
||||
TrimQuoted(linetok);
|
||||
linenum++;
|
||||
|
||||
nexttok = strdtok(linetok, WHITESPACE_DELIMITER, delimiter);
|
||||
if (nexttok == NULL) return 0;
|
||||
|
||||
/* Handle `ifdef, `ifndef, `elsif, `else, and `endif (verilog */
|
||||
/* only, where indicated by a non-NULL "definitions") */
|
||||
|
||||
if (definitions == NULL) return 0;
|
||||
|
||||
/* If currently skipping through a section, handle conditionals differently */
|
||||
|
||||
if (condstack) {
|
||||
if (((condstack->invert == 0) && (condstack->kl == NULL))
|
||||
|| ((condstack->invert == 1) && (condstack->kl != NULL))) {
|
||||
if (match(nexttok, "`ifdef") || match(nexttok, "`ifndef")) {
|
||||
nested++;
|
||||
continue;
|
||||
}
|
||||
else if (nested > 0) {
|
||||
if (match(nexttok, "`endif")) nested--;
|
||||
continue;
|
||||
}
|
||||
else if (nexttok[0] != '`') continue;
|
||||
}
|
||||
}
|
||||
|
||||
/* Handle conditionals (that is not being skipped over) */
|
||||
|
||||
if (match(nexttok, "`endif")) {
|
||||
if (condstack == NULL) {
|
||||
fprintf(stderr, "Error: `endif without corresponding `if[n]def\n");
|
||||
}
|
||||
else {
|
||||
struct ifstack *iftop = condstack;
|
||||
condstack = condstack->next;
|
||||
FREE(iftop);
|
||||
}
|
||||
}
|
||||
|
||||
/* Note that `if[n]def may be nested. */
|
||||
|
||||
else if (match(nexttok, "`ifdef") || match(nexttok, "`ifndef") ||
|
||||
match(nexttok, "`elsif") || match(nexttok, "`else")) {
|
||||
|
||||
/* Every `ifdef or `ifndef increases condstack by 1 */
|
||||
if (nexttok[1] == 'i') {
|
||||
struct ifstack *newif = (struct ifstack *)MALLOC(sizeof(struct ifstack));
|
||||
newif->next = condstack;
|
||||
condstack = newif;
|
||||
}
|
||||
if (condstack == NULL) {
|
||||
fprintf(stderr, "Error: %s without `if[n]def\n", nexttok);
|
||||
break;
|
||||
}
|
||||
else {
|
||||
if (match(nexttok, "`else")) {
|
||||
/* Invert the sense of the if[n]def scope */
|
||||
condstack->invert = (condstack->invert == 1) ? 0 : 1;
|
||||
}
|
||||
else if (match(nexttok, "`elsif")) {
|
||||
nexttok = strdtok(NULL, WHITESPACE_DELIMITER, delimiter);
|
||||
if (nexttok == NULL) {
|
||||
fprintf(stderr, "Error: `elsif with no conditional.\n");
|
||||
return 0;
|
||||
}
|
||||
/* Keep the same scope but redefine the parameter */
|
||||
condstack->invert = 0;
|
||||
condstack->kl = (struct property *)HashLookup(nexttok, definitions);
|
||||
}
|
||||
else {
|
||||
condstack->invert = (nexttok[3] == 'n') ? 1 : 0;
|
||||
nexttok = strdtok(NULL, WHITESPACE_DELIMITER, delimiter);
|
||||
if (nexttok == NULL) {
|
||||
fprintf(stderr, "Error: %s with no conditional.\n", nexttok);
|
||||
return 0;
|
||||
}
|
||||
condstack->kl = (struct property *)HashLookup(nexttok, definitions);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (condstack) {
|
||||
if (((condstack->invert == 0) && (condstack->kl == NULL))
|
||||
|| ((condstack->invert == 1) && (condstack->kl != NULL)))
|
||||
continue;
|
||||
else
|
||||
break;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
@@ -471,6 +647,33 @@ char *strdtok(char *pstring, char *delim1, char *delim2)
|
||||
|
||||
/* "stoken" is now set. Now find the end of the current token */
|
||||
|
||||
s = stoken;
|
||||
|
||||
/* Special verilog rule: If a name begins with '\', then all characters */
|
||||
/* are a valid part of the name until a space character is reached. The */
|
||||
/* space character becomes part of the verilog name. The remainder of the */
|
||||
/* name is parsed according to the rules of "delim2". */
|
||||
|
||||
/* Special verilog rule exception: To handle the problems caused by */
|
||||
/* translating verilog backslash-escaped names into other netlist formats */
|
||||
/* like SPICE where the convention is strictly prohibited, I have used the */
|
||||
/* convention in qflow scripts to replace the trailing space with another */
|
||||
/* backslash, so the name is effectively delimited by a pair of back- */
|
||||
/* slashes. Therefore check for a space or another backslash, whichever */
|
||||
/* comes first. That will satisfy both methods. Technically this routine */
|
||||
/* should know whether it is parsing SPICE or verilog and handle the syntax */
|
||||
/* accordingly (needs to be done). */
|
||||
|
||||
if (*s == '\\') {
|
||||
while (*s != '\0') {
|
||||
if ((*s == ' ') || (*s == '\\')) {
|
||||
s++;
|
||||
break;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check string from position stoken. If a character in "delim2" is found, */
|
||||
/* save the character in "lastdelim", null the byte at that position, and */
|
||||
/* return the token. If a character in "delim1" is found, do the same but */
|
||||
@@ -479,7 +682,7 @@ char *strdtok(char *pstring, char *delim1, char *delim2)
|
||||
/* as for "delim2" above. If not, then set "lastdelim" to a null byte and */
|
||||
/* return the token. */
|
||||
|
||||
for (s = stoken; *s; s++) {
|
||||
for (; *s; s++) {
|
||||
twofer = (delim2 && (*delim2 == 'X')) ? TRUE : FALSE;
|
||||
for (s2 = ((twofer == TRUE) ? delim2 + 1 : delim2); s2 && *s2; s2++) {
|
||||
if (*s2 == 'X') {
|
||||
|
||||
@@ -24,6 +24,7 @@ extern void FlushString (char *format, ...);
|
||||
extern char *SetExtension(char *buffer, char *path, char *extension);
|
||||
|
||||
extern int File;
|
||||
extern struct hashdict *definitions;
|
||||
|
||||
/* input routines */
|
||||
|
||||
@@ -32,6 +33,7 @@ extern char *nexttok;
|
||||
extern char *strdtok(char *pstring, char *delim1, char *delim2);
|
||||
extern void SkipTok(char *delimiter);
|
||||
extern void SkipTokNoNewline(char *delimiter);
|
||||
extern void SkipTokComments(char *delimiter);
|
||||
extern void SkipNewLine(char *delimiter);
|
||||
extern void SpiceTokNoNewline(void); /* handles SPICE "+" continuation line */
|
||||
extern void SpiceSkipNewLine(void); /* handles SPICE "+" continuation line */
|
||||
|
||||
@@ -598,7 +598,11 @@ static int PrintCellHashTableElement(struct hashlist *p)
|
||||
if (Debug == 1) Printf("Cell: %s (instanced %d times); Primitive\n",
|
||||
ptr->name, ptr->number);
|
||||
else if (Debug == 3) { /* list */
|
||||
#ifdef TCL_NETGEN
|
||||
Tcl_AppendElement(netgeninterp, ptr->name);
|
||||
#else
|
||||
Printf("%s ", ptr->name);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if ((Debug == 2) || (Debug == 3)) { /* list only */
|
||||
|
||||
+370
-189
@@ -59,8 +59,9 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
// See netfile.c for explanation of delimiters. 'X'
|
||||
// separates single-character delimiters from two-character delimiters.
|
||||
#define VLOG_DELIMITERS "X///**/#((**)X,::(){}[]="
|
||||
#define VLOG_DELIMITERS "X///**/#((**)X,;:(){}[]="
|
||||
#define VLOG_PIN_NAME_DELIMITERS "X///**/(**)X()"
|
||||
#define VLOG_PIN_CHECK_DELIMITERS "X///**/(**)X,;(){}"
|
||||
|
||||
// Global storage for verilog parameters
|
||||
struct hashdict verilogparams;
|
||||
@@ -120,19 +121,22 @@ int GetBusTok(struct bus *wb)
|
||||
if (match(nexttok, "[")) {
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
|
||||
// Check for parameter names and substitute values if found.
|
||||
if (nexttok[0] == '`') {
|
||||
kl = (struct property *)HashLookup(nexttok + 1, &verilogdefs);
|
||||
result = sscanf(nexttok, "%d", &start);
|
||||
if (result != 1) {
|
||||
// Is name in the parameter list?
|
||||
kl = (struct property *)HashLookup(nexttok, &verilogparams);
|
||||
if (kl == NULL) {
|
||||
Printf("Unknown definition %s found in array notation.\n", nexttok);
|
||||
Printf("Array value %s is not a number or a parameter.\n",
|
||||
nexttok);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
if (kl->type == PROP_STRING) {
|
||||
result = sscanf(kl->pdefault.string, "%d", &start);
|
||||
if (result != 1) {
|
||||
Printf("Cannot parse first digit from parameter %s value %s\n",
|
||||
nexttok, kl->pdefault.string);
|
||||
return 1;
|
||||
Printf("Parameter %s has value %s that cannot be parsed"
|
||||
" as an integer.\n", nexttok, kl->pdefault.string);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (kl->type == PROP_INTEGER) {
|
||||
@@ -141,53 +145,15 @@ int GetBusTok(struct bus *wb)
|
||||
else if (kl->type == PROP_DOUBLE) {
|
||||
start = (int)kl->pdefault.dval;
|
||||
if ((double)start != kl->pdefault.dval) {
|
||||
Printf("Cannot parse first digit from parameter %s value %g\n",
|
||||
nexttok, kl->pdefault.dval);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
Printf("Parameter %s has unknown type; don't know how to parse.\n",
|
||||
nexttok);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
result = sscanf(nexttok, "%d", &start);
|
||||
if (result != 1) {
|
||||
// Is name in the parameter list?
|
||||
kl = (struct property *)HashLookup(nexttok, &verilogparams);
|
||||
if (kl == NULL) {
|
||||
Printf("Array value %s is not a number or a parameter.\n",
|
||||
nexttok);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
if (kl->type == PROP_STRING) {
|
||||
result = sscanf(kl->pdefault.string, "%d", &start);
|
||||
if (result != 1) {
|
||||
Printf("Parameter %s has value %s that cannot be parsed"
|
||||
" as an integer.\n", nexttok, kl->pdefault.string);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (kl->type == PROP_INTEGER) {
|
||||
start = kl->pdefault.ival;
|
||||
}
|
||||
else if (kl->type == PROP_DOUBLE) {
|
||||
start = (int)kl->pdefault.dval;
|
||||
if ((double)start != kl->pdefault.dval) {
|
||||
Printf("Parameter %s has value %g that cannot be parsed"
|
||||
Printf("Parameter %s has value %g that cannot be parsed"
|
||||
" as an integer.\n", nexttok, kl->pdefault.dval);
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
Printf("Parameter %s has unknown type; don't know how"
|
||||
}
|
||||
else {
|
||||
Printf("Parameter %s has unknown type; don't know how"
|
||||
" to parse.\n", nexttok);
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -203,18 +169,22 @@ int GetBusTok(struct bus *wb)
|
||||
else {
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
|
||||
// Check for parameter names and substitute values if found.
|
||||
if (nexttok[0] == '`') {
|
||||
kl = (struct property *)HashLookup(nexttok + 1, &verilogdefs);
|
||||
result = sscanf(nexttok, "%d", &end);
|
||||
if (result != 1) {
|
||||
// Is name in the parameter list?
|
||||
kl = (struct property *)HashLookup(nexttok, &verilogparams);
|
||||
if (kl == NULL) {
|
||||
Printf("Unknown definition %s found in array notation.\n", nexttok);
|
||||
Printf("Array value %s is not a number or a parameter.\n",
|
||||
nexttok);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
if (kl->type == PROP_STRING) {
|
||||
result = sscanf(kl->pdefault.string, "%d", &end);
|
||||
if (result != 1) {
|
||||
Printf("Cannot parse second digit from parameter "
|
||||
"%s value %s\n", nexttok, kl->pdefault.string);
|
||||
if (result != 1) {
|
||||
Printf("Parameter %s has value %s that cannot be parsed"
|
||||
" as an integer.\n", nexttok,
|
||||
kl->pdefault.string);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -231,47 +201,8 @@ int GetBusTok(struct bus *wb)
|
||||
}
|
||||
else {
|
||||
Printf("Parameter %s has unknown type; don't know how"
|
||||
" to parse.\n", nexttok);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
result = sscanf(nexttok, "%d", &end);
|
||||
if (result != 1) {
|
||||
// Is name in the parameter list?
|
||||
kl = (struct property *)HashLookup(nexttok, &verilogparams);
|
||||
if (kl == NULL) {
|
||||
Printf("Array value %s is not a number or a parameter.\n",
|
||||
nexttok);
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
if (kl->type == PROP_STRING) {
|
||||
result = sscanf(kl->pdefault.string, "%d", &end);
|
||||
if (result != 1) {
|
||||
Printf("Parameter %s has value %s that cannot be parsed"
|
||||
" as an integer.\n", nexttok,
|
||||
kl->pdefault.string);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (kl->type == PROP_INTEGER) {
|
||||
end = kl->pdefault.ival;
|
||||
}
|
||||
else if (kl->type == PROP_DOUBLE) {
|
||||
end = (int)kl->pdefault.dval;
|
||||
if ((double)end != kl->pdefault.dval) {
|
||||
Printf("Cannot parse second digit from parameter "
|
||||
"%s value %g\n", nexttok, kl->pdefault.dval);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
Printf("Parameter %s has unknown type; don't know how"
|
||||
" to parse.\n", nexttok);
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -312,7 +243,7 @@ int GetBusTok(struct bus *wb)
|
||||
|
||||
int GetBus(char *astr, struct bus *wb)
|
||||
{
|
||||
char *colonptr, *brackstart, *brackend;
|
||||
char *colonptr, *brackstart, *brackend, *sigend, sdelim;
|
||||
int result, start, end;
|
||||
|
||||
if (wb == NULL) return 0;
|
||||
@@ -320,6 +251,40 @@ int GetBus(char *astr, struct bus *wb)
|
||||
wb->start = -1;
|
||||
wb->end = -1;
|
||||
}
|
||||
|
||||
/* Check for wire bundles. If there are bundles, process each */
|
||||
/* section separately and concatenate the sizes. */
|
||||
/* To be done: Handle nested bundles, including N-times concatenation */
|
||||
|
||||
if (*astr == '{') {
|
||||
struct bus wbb;
|
||||
|
||||
astr++;
|
||||
wb->end = 0;
|
||||
while((*astr != '\0') && (*astr != '}')) {
|
||||
sigend = strchr(astr, ',');
|
||||
if (sigend == NULL) sigend = strchr(astr, '}');
|
||||
if (sigend == NULL) {
|
||||
Printf("Badly formed wire bundle \"%s\"\n", astr - 1);
|
||||
return 1;
|
||||
}
|
||||
sdelim = *sigend;
|
||||
*sigend = '\0';
|
||||
if (GetBus(astr, &wbb) == 0) {
|
||||
if (wbb.start > wbb.end)
|
||||
wb->start += (wbb.start - wbb.end + 1);
|
||||
else
|
||||
wb->start += (wbb.end - wbb.start + 1);
|
||||
}
|
||||
else {
|
||||
wb->start++;
|
||||
}
|
||||
*sigend = sdelim;
|
||||
astr = sigend + 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
brackstart = strchr(astr, '[');
|
||||
if (brackstart != NULL) {
|
||||
brackend = strchr(astr, ']');
|
||||
@@ -595,7 +560,7 @@ void ReadVerilogFile(char *fname, int filenum, struct cellstack **CellStackPtr,
|
||||
instname[255] = '\0';
|
||||
in_module = (char)0;
|
||||
in_param = (char)0;
|
||||
|
||||
|
||||
while (!EndParseFile()) {
|
||||
|
||||
SkipTokComments(VLOG_DELIMITERS); /* get the next token */
|
||||
@@ -696,7 +661,7 @@ void ReadVerilogFile(char *fname, int filenum, struct cellstack **CellStackPtr,
|
||||
inlined_decls = (char)0;
|
||||
|
||||
if (tp != NULL) {
|
||||
struct bus wb;
|
||||
struct bus wb, *nb;
|
||||
|
||||
PushStack(tp->name, CellStackPtr);
|
||||
|
||||
@@ -760,7 +725,8 @@ void ReadVerilogFile(char *fname, int filenum, struct cellstack **CellStackPtr,
|
||||
else {
|
||||
if (!match(nexttok, "input") && !match(nexttok, "output") &&
|
||||
!match(nexttok, "inout") && !match(nexttok, "real") &&
|
||||
!match(nexttok, "logic") && !match(nexttok, "integer")) {
|
||||
!match(nexttok, "wire") && !match(nexttok, "logic") &&
|
||||
!match(nexttok, "integer")) {
|
||||
if (match(nexttok, "[")) {
|
||||
if (GetBusTok(&wb) != 0) {
|
||||
// Didn't parse as a bus, so wing it
|
||||
@@ -782,6 +748,12 @@ void ReadVerilogFile(char *fname, int filenum, struct cellstack **CellStackPtr,
|
||||
Port(portname);
|
||||
}
|
||||
}
|
||||
/* Also register this port as a bus */
|
||||
nb = NewBus();
|
||||
nb->start = wb.start;
|
||||
nb->end = wb.end;
|
||||
HashPtrInstall(nexttok, nb, &buses);
|
||||
|
||||
wb.start = wb.end = -1;
|
||||
}
|
||||
else {
|
||||
@@ -991,6 +963,22 @@ skip_endmodule:
|
||||
}
|
||||
HashPtrInstall(kl->key, kl, &verilogdefs);
|
||||
}
|
||||
else if (match(nexttok, "`undef")) {
|
||||
struct property *kl = NULL;
|
||||
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
if ((nexttok == NULL) || (nexttok[0] == '\0')) break;
|
||||
|
||||
kl = HashLookup(nexttok, &verilogdefs);
|
||||
if (kl != NULL) {
|
||||
HashDelete(nexttok, &verilogdefs);
|
||||
if (kl->type == PROP_STRING)
|
||||
if (kl->pdefault.string != NULL)
|
||||
FREE(kl->pdefault.string);
|
||||
FREE(kl->key);
|
||||
}
|
||||
/* Presumably it is not an error to undefine an undefined keyword */
|
||||
}
|
||||
else if (match(nexttok, "localparam")) {
|
||||
// Pick up key = value pairs and store in current cell
|
||||
while (nexttok != NULL)
|
||||
@@ -1029,87 +1017,194 @@ skip_endmodule:
|
||||
}
|
||||
}
|
||||
|
||||
/* Note: This is just the most basic processing of conditionals, */
|
||||
/* although it does handle nested conditionals. */
|
||||
|
||||
else if (match(nexttok, "`ifdef") || match(nexttok, "`ifndef")) {
|
||||
struct property *kl;
|
||||
int nested = 0;
|
||||
int invert = (nexttok[3] == 'n') ? 1 : 0;
|
||||
else if (match(nexttok, "wire") || match(nexttok, "assign")) { /* wire = node */
|
||||
struct bus wb, wb2, *nb;
|
||||
char nodename[128], noderoot[100];
|
||||
int is_wire = match(nexttok, "wire");
|
||||
int j;
|
||||
struct objlist *lhs, *rhs;
|
||||
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
/* Get left-hand side expression. If this is a wire statement, */
|
||||
/* then define the wire. If is_wire is false, then the wire */
|
||||
/* should already be defined. */
|
||||
|
||||
/* To be done: Handle boolean arithmetic on conditionals */
|
||||
if (is_wire) {
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
if (match(nexttok, "real"))
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
else if (match(nexttok, "logic"))
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
|
||||
kl = (struct property *)HashLookup(nexttok, &verilogdefs);
|
||||
if (((invert == 0) && (kl == NULL))
|
||||
|| ((invert == 1) && (kl != NULL))) {
|
||||
/* Skip to matching `endif */
|
||||
while (1) {
|
||||
SkipNewLine(VLOG_DELIMITERS);
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
if (EndParseFile()) break;
|
||||
if (match(nexttok, "`ifdef") || match(nexttok, "`ifndef")) {
|
||||
nested++;
|
||||
}
|
||||
else if (match(nexttok, "`endif")) {
|
||||
if (nested == 0)
|
||||
break;
|
||||
else
|
||||
nested--;
|
||||
}
|
||||
}
|
||||
if (GetBusTok(&wb) == 0) {
|
||||
/* Handle bus notation */
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
strcpy(noderoot, nexttok);
|
||||
if (wb.start > wb.end) {
|
||||
for (i = wb.end; i <= wb.start; i++) {
|
||||
sprintf(nodename, "%s[%d]", nexttok, i);
|
||||
if (LookupObject(nodename, CurrentCell) == NULL)
|
||||
Node(nodename);
|
||||
if (i == wb.start) lhs = LookupObject(nodename, CurrentCell);
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = wb.start; i <= wb.end; i++) {
|
||||
sprintf(nodename, "%s[%d]", nexttok, i);
|
||||
if (LookupObject(nodename, CurrentCell) == NULL)
|
||||
Node(nodename);
|
||||
if (i == wb.start) lhs = LookupObject(nodename, CurrentCell);
|
||||
}
|
||||
}
|
||||
nb = NewBus();
|
||||
nb->start = wb.start;
|
||||
nb->end = wb.end;
|
||||
HashPtrInstall(nexttok, nb, &buses);
|
||||
}
|
||||
else {
|
||||
if (LookupObject(nexttok, CurrentCell) == NULL) {
|
||||
Node(nexttok);
|
||||
lhs = LookupObject(nexttok, CurrentCell);
|
||||
}
|
||||
}
|
||||
while (1) {
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
if (match(nexttok, ",")) {
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
if (LookupObject(nexttok, CurrentCell) == NULL) {
|
||||
Node(nexttok);
|
||||
lhs = LookupObject(nexttok, CurrentCell);
|
||||
}
|
||||
}
|
||||
else break;
|
||||
}
|
||||
}
|
||||
else { /* "assign" */
|
||||
SkipTokComments(VLOG_PIN_CHECK_DELIMITERS);
|
||||
if (GetBus(nexttok, &wb) == 0) {
|
||||
char *aptr = strchr(nexttok, '[');
|
||||
if (aptr != NULL) {
|
||||
*aptr = '\0';
|
||||
/* Find object of first net in bus */
|
||||
strcpy(noderoot, nexttok);
|
||||
sprintf(nodename, "%s[%d]", nexttok, wb.start);
|
||||
lhs = LookupObject(nodename, CurrentCell);
|
||||
*aptr = '[';
|
||||
}
|
||||
}
|
||||
else {
|
||||
lhs = LookupObject(nexttok, CurrentCell);
|
||||
}
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
if (lhs && ((!nexttok) || (!match(nexttok, "=")))) {
|
||||
fprintf(stderr, "Empty assignment for net %s\n", lhs->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if (match(nexttok, "wire")) { /* wire = node */
|
||||
struct bus wb, *nb;
|
||||
char nodename[128];
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
if (match(nexttok, "real")) SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
while (nexttok != NULL) {
|
||||
/* Handle bus notation */
|
||||
if (GetBusTok(&wb) == 0) {
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
if (wb.start > wb.end) {
|
||||
for (i = wb.end; i <= wb.start; i++) {
|
||||
sprintf(nodename, "%s[%d]", nexttok, i);
|
||||
if (LookupObject(nodename, CurrentCell) == NULL)
|
||||
Node(nodename);
|
||||
/* Check for assignment statement, and handle any allowed uses. */
|
||||
/* Any uses other than those mentioned below will cause the entire */
|
||||
/* module to be treated as a black box. */
|
||||
|
||||
// Allowed uses of "assign" for netlists:
|
||||
// "assign a = b" joins two nets.
|
||||
// "assign a = {b, c, ...}" creates a bus from components.
|
||||
// "assign" using any boolean arithmetic is not structural verilog.
|
||||
|
||||
if (nexttok && match(nexttok, "=")) {
|
||||
char assignname[128], assignroot[100];
|
||||
|
||||
i = wb.start;
|
||||
while (1) {
|
||||
SkipTokComments(VLOG_PIN_CHECK_DELIMITERS);
|
||||
if (!nexttok) break;
|
||||
|
||||
if (match(nexttok, "{")) {
|
||||
/* RHS is a bundle */
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = wb.start; i <= wb.end; i++) {
|
||||
sprintf(nodename, "%s[%d]", nexttok, i);
|
||||
if (LookupObject(nodename, CurrentCell) == NULL)
|
||||
Node(nodename);
|
||||
else if (match(nexttok, "}")) {
|
||||
/* End of bundle */
|
||||
continue;
|
||||
}
|
||||
}
|
||||
nb = NewBus();
|
||||
nb->start = wb.start;
|
||||
nb->end = wb.end;
|
||||
HashPtrInstall(nexttok, nb, &buses);
|
||||
}
|
||||
else {
|
||||
if (LookupObject(nexttok, CurrentCell) == NULL)
|
||||
Node(nexttok);
|
||||
}
|
||||
do {
|
||||
SkipTokNoNewline(VLOG_DELIMITERS);
|
||||
} while (nexttok && match(nexttok, ";"));
|
||||
}
|
||||
else if (match(nexttok, ",")) {
|
||||
/* Additional signals in bundle */
|
||||
continue;
|
||||
}
|
||||
else if (match(nexttok, ";")) {
|
||||
/* End of assignment */
|
||||
break;
|
||||
}
|
||||
else {
|
||||
if (GetBus(nexttok, &wb2) == 0) {
|
||||
char *aptr = strchr(nexttok, '[');
|
||||
j = wb2.start;
|
||||
if (aptr != NULL) {
|
||||
*aptr = '\0';
|
||||
strcpy(assignroot, nexttok);
|
||||
sprintf(assignname, "%s[%d]", nexttok, j);
|
||||
rhs = LookupObject(assignname, CurrentCell);
|
||||
*aptr = '[';
|
||||
}
|
||||
}
|
||||
else {
|
||||
j = -1;
|
||||
rhs = LookupObject(nexttok, CurrentCell);
|
||||
}
|
||||
if ((lhs == NULL) || (rhs == NULL)) {
|
||||
if (rhs != NULL) {
|
||||
Printf("Improper assignment; left-hand side cannot "
|
||||
"be parsed.\n");
|
||||
Printf("Right-hand side is \"%s\".\n", rhs->name);
|
||||
break;
|
||||
}
|
||||
if (lhs != NULL) {
|
||||
Printf("Improper assignment; right-hand side cannot "
|
||||
"be parsed.\n");
|
||||
Printf("Left-hand side is \"%s\".\n", lhs->name);
|
||||
/* Not parsable, probably behavioral verilog? */
|
||||
Printf("Module '%s' is not structural verilog, "
|
||||
"making black-box.\n", model);
|
||||
SetClass(CLASS_MODULE);
|
||||
goto skip_endmodule;
|
||||
}
|
||||
}
|
||||
while (1) {
|
||||
/* Assign bits in turn from bundle in RHS to bits of LHS */
|
||||
/* until bits in signal are exhausted or LHS is full. */
|
||||
|
||||
if (i != -1)
|
||||
sprintf(nodename, "%s[%d]", noderoot, i);
|
||||
else
|
||||
sprintf(nodename, lhs->name);
|
||||
if (j != -1)
|
||||
sprintf(assignname, "%s[%d]", assignroot, j);
|
||||
else
|
||||
sprintf(assignname, rhs->name);
|
||||
|
||||
join(nodename, assignname);
|
||||
|
||||
if (i == wb.end) break;
|
||||
i += (wb.end > wb.start) ? 1 : -1;
|
||||
|
||||
if (j == wb2.end) break;
|
||||
j += (wb2.end > wb2.start) ? 1 : -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
while (nexttok && !match(nexttok, ";"))
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
}
|
||||
else if (match(nexttok, "endmodule")) {
|
||||
// No action---new module is started with next 'module' statement,
|
||||
// if any.
|
||||
SkipNewLine(VLOG_DELIMITERS);
|
||||
in_module = (char)0; /* Should have been done already */
|
||||
}
|
||||
else if (nexttok[0] == '`') {
|
||||
// Ignore any other directive starting with a backtick
|
||||
// Ignore any other directive starting with a backtick (e.g., `timescale)
|
||||
SkipNewLine(VLOG_DELIMITERS);
|
||||
}
|
||||
else if (match(nexttok, "reg") || match(nexttok, "assign")
|
||||
|| match(nexttok, "always")) {
|
||||
else if (match(nexttok, "reg") || match(nexttok, "always")) {
|
||||
Printf("Module '%s' is not structural verilog, making black-box.\n", model);
|
||||
// To be done: Remove any contents (but may not be necessary)
|
||||
// Recast as module
|
||||
@@ -1235,31 +1330,61 @@ skip_endmodule:
|
||||
Printf("Badly formed subcircuit pin line at \"%s\"\n", nexttok);
|
||||
SkipNewLine(VLOG_DELIMITERS);
|
||||
}
|
||||
SkipTokComments(VLOG_PIN_NAME_DELIMITERS);
|
||||
SkipTokComments(VLOG_PIN_CHECK_DELIMITERS);
|
||||
if (match(nexttok, ")")) {
|
||||
char localnet[100];
|
||||
// Empty parens, so create a new local node
|
||||
savetok = (char)1;
|
||||
sprintf(localnet, "_noconnect_%d_", localcount++);
|
||||
if (arraystart != -1) {
|
||||
/* No-connect on an instance array must also be an array */
|
||||
sprintf(localnet, "_noconnect_%d_[%d:%d]", localcount++,
|
||||
arraystart, arrayend);
|
||||
}
|
||||
else
|
||||
sprintf(localnet, "_noconnect_%d_", localcount++);
|
||||
new_port->net = strsave(localnet);
|
||||
}
|
||||
else {
|
||||
new_port->net = strsave(nexttok);
|
||||
if (!strcmp(nexttok, "{")) {
|
||||
char *in_line_net = (char *)MALLOC(1);
|
||||
char *new_in_line_net = NULL;
|
||||
*in_line_net = '\0';
|
||||
/* In-line array---read to "}" */
|
||||
while (nexttok) {
|
||||
new_in_line_net = (char *)MALLOC(strlen(in_line_net) +
|
||||
strlen(nexttok) + 1);
|
||||
/* Roundabout way to do realloc() becase there is no REALLOC() */
|
||||
strcpy(new_in_line_net, in_line_net);
|
||||
strcat(new_in_line_net, nexttok);
|
||||
FREE(in_line_net);
|
||||
in_line_net = new_in_line_net;
|
||||
if (!strcmp(nexttok, "}")) break;
|
||||
SkipTokComments(VLOG_PIN_CHECK_DELIMITERS);
|
||||
}
|
||||
if (!nexttok) {
|
||||
Printf("Unterminated net in pin %s\n", in_line_net);
|
||||
}
|
||||
new_port->net = in_line_net;
|
||||
}
|
||||
else
|
||||
new_port->net = strsave(nexttok);
|
||||
|
||||
/* Read array information along with name; will be parsed later */
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
if (match(nexttok, "[")) {
|
||||
SkipTokComments(VLOG_PIN_CHECK_DELIMITERS);
|
||||
if (match(nexttok, "[")) {
|
||||
/* Check for space between name and array identifier */
|
||||
SkipTokComments(VLOG_PIN_NAME_DELIMITERS);
|
||||
if (!match(nexttok, ")")) {
|
||||
char *expnet;
|
||||
expnet = (char *)MALLOC(strlen(new_port->net)
|
||||
+ strlen(nexttok) + 2);
|
||||
sprintf(expnet, "%s[%s", new_port->net, nexttok);
|
||||
FREE(new_port->net);
|
||||
new_port->net = expnet;
|
||||
SkipTokComments(VLOG_PIN_NAME_DELIMITERS);
|
||||
if (!match(nexttok, ")")) {
|
||||
char *expnet;
|
||||
expnet = (char *)MALLOC(strlen(new_port->net)
|
||||
+ strlen(nexttok) + 2);
|
||||
sprintf(expnet, "%s[%s", new_port->net, nexttok);
|
||||
FREE(new_port->net);
|
||||
new_port->net = expnet;
|
||||
}
|
||||
SkipTokComments(VLOG_DELIMITERS);
|
||||
}
|
||||
}
|
||||
|
||||
if (!match(nexttok, ")")) {
|
||||
Printf("Badly formed subcircuit pin line at \"%s\"\n", nexttok);
|
||||
SkipNewLine(VLOG_DELIMITERS);
|
||||
@@ -1456,14 +1581,44 @@ skip_endmodule:
|
||||
// Otherwise, net is bit-sliced across array of instances.
|
||||
}
|
||||
else if (wb.start > wb.end) {
|
||||
char *bptr, *cptr, cchar, *netname;
|
||||
unsigned char is_bundle = 0;
|
||||
struct bus wbb;
|
||||
|
||||
i = wb.start;
|
||||
j = portstart;
|
||||
|
||||
netname = scan->net;
|
||||
if (*netname == '{') {
|
||||
is_bundle = 1;
|
||||
netname++;
|
||||
cptr = strchr(netname, ',');
|
||||
if (cptr == NULL) cptr = strchr(netname, '}');
|
||||
if (cptr == NULL) cptr = netname + strlen(netname) - 1;
|
||||
cchar = *cptr;
|
||||
*cptr = '\0';
|
||||
}
|
||||
|
||||
// Remove indexed part of scan->net
|
||||
if (GetBus(netname, &wbb) == 0) {
|
||||
i = wbb.start;
|
||||
if ((bptr = strchr(netname, '[')) != NULL)
|
||||
*bptr = '\0';
|
||||
}
|
||||
else
|
||||
i = -1;
|
||||
|
||||
if (is_bundle) *cptr = cchar; /* Restore bundle delimiter */
|
||||
|
||||
while (1) {
|
||||
new_port = (struct portelement *)CALLOC(1,
|
||||
sizeof(struct portelement));
|
||||
sprintf(vname, "%s[%d]", scan->name, j);
|
||||
new_port->name = strsave(vname);
|
||||
sprintf(vname, "%s[%d]", scan->net, i);
|
||||
if (i == -1)
|
||||
sprintf(vname, "%s", netname);
|
||||
else
|
||||
sprintf(vname, "%s[%d]", netname, i);
|
||||
new_port->net = strsave(vname);
|
||||
|
||||
if (last == NULL)
|
||||
@@ -1478,8 +1633,31 @@ skip_endmodule:
|
||||
|
||||
if (portstart > portend) j--;
|
||||
else j++;
|
||||
if (wb.start > wb.end) i--;
|
||||
if (wbb.start > wbb.end) i--;
|
||||
else i++;
|
||||
|
||||
if (is_bundle &&
|
||||
((i == -1) ||
|
||||
((wbb.start > wbb.end) && (i < wbb.end)) ||
|
||||
((wbb.start < wbb.end) && (i > wbb.end)))) {
|
||||
if (bptr) *bptr = '[';
|
||||
|
||||
netname = cptr + 1;
|
||||
cptr = strchr(netname, ',');
|
||||
if (cptr == NULL) cptr = strchr(netname, '}');
|
||||
if (cptr == NULL) cptr = netname + strlen(netname) - 1;
|
||||
cchar = *cptr;
|
||||
*cptr = '\0';
|
||||
|
||||
if (GetBus(netname, &wbb) == 0) {
|
||||
i = wbb.start;
|
||||
if ((bptr = strchr(netname, '[')) != NULL)
|
||||
*bptr = '\0';
|
||||
}
|
||||
else i = -1;
|
||||
|
||||
*cptr = cchar; /* Restore delimiter */
|
||||
}
|
||||
}
|
||||
FREE(scan);
|
||||
scan = last;
|
||||
@@ -1574,7 +1752,7 @@ skip_endmodule:
|
||||
// Instance must be an array
|
||||
char netname[128];
|
||||
int slice;
|
||||
if (wb.start > wb.end && arraystart > arrayend)
|
||||
if (wb.start >= wb.end && arraystart >= arrayend)
|
||||
slice = wb.start - (arraystart - i);
|
||||
else if (wb.start < wb.end && arraystart > arrayend)
|
||||
slice = wb.start + (arraystart - i);
|
||||
@@ -1582,6 +1760,7 @@ skip_endmodule:
|
||||
slice = wb.start - (arraystart + i);
|
||||
else // (wb.start < wb.end && arraystart < arrayend)
|
||||
slice = wb.start + (arraystart + i);
|
||||
|
||||
sprintf(netname, "%s[%d]", scanroot, slice);
|
||||
if (LookupObject(netname, CurrentCell) == NULL) Node(netname);
|
||||
join(netname, obptr->name);
|
||||
@@ -1670,6 +1849,7 @@ char *ReadVerilogTop(char *fname, int *fnum, int blackbox)
|
||||
|
||||
InitializeHashTable(&verilogparams, OBJHASHSIZE);
|
||||
InitializeHashTable(&verilogdefs, OBJHASHSIZE);
|
||||
definitions = &verilogdefs;
|
||||
|
||||
/* Add the pre-defined key "LVS" to verilogdefs */
|
||||
|
||||
@@ -1692,6 +1872,7 @@ char *ReadVerilogTop(char *fname, int *fnum, int blackbox)
|
||||
HashKill(&verilogparams);
|
||||
RecurseHashTable(&verilogdefs, freeprop);
|
||||
HashKill(&verilogdefs);
|
||||
definitions = (struct hashdict *)NULL;
|
||||
|
||||
// Record the top level file.
|
||||
if (LookupCellFile(fname, filenum) == NULL) CellDef(fname, filenum);
|
||||
@@ -1752,10 +1933,10 @@ void IncludeVerilog(char *fname, int parent, struct cellstack **CellStackPtr,
|
||||
if (strchr(fname, '.') == NULL) {
|
||||
SetExtension(name, fname, VERILOG_EXTENSION);
|
||||
filenum = OpenParseFile(name, parent);
|
||||
}
|
||||
if (filenum < 0) {
|
||||
Fprintf(stderr,"Error in Verilog file include: No file %s\n",name);
|
||||
return;
|
||||
}
|
||||
if (filenum < 0) {
|
||||
fprintf(stderr,"Error in Verilog file include: No file %s\n", fname);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
# all of its config scripts in a different directory than the configure
|
||||
# script itself.
|
||||
|
||||
( CFLAGS="-g" ; export CFLAGS ; cd scripts ; ./configure $* )
|
||||
( CFLAGS="-g" ; export CFLAGS ; cd scripts ; ./configure "$@" )
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
# defs.mak.in --
|
||||
# source file for autoconf-generated "defs.mak" for netgen
|
||||
|
||||
# defs.mak. Generated from defs.mak.in by configure.
|
||||
# Feel free to change the values in here to suit your needs.
|
||||
# Be aware that running scripts/configure again will overwrite
|
||||
# any changes!
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
prefix = ${BUILDROOT}/usr/local
|
||||
exec_prefix = ${prefix}
|
||||
bindir = ${exec_prefix}/bin
|
||||
libdir = ${exec_prefix}/lib
|
||||
mandir = ${prefix}/share/man
|
||||
|
||||
VERSION =
|
||||
|
||||
SCRIPTS = ${NETGENDIR}/scripts
|
||||
|
||||
INSTALL = /bin/install -c
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
|
||||
# Override standard "make" target when compiling under TCL
|
||||
ALL_TARGET = tcl
|
||||
INSTALL_TARGET = install-tcl
|
||||
|
||||
# Change CADDIR to install in a different place
|
||||
BINDIR = ${bindir}
|
||||
MANDIR = ${mandir}
|
||||
LIBDIR = ${libdir}
|
||||
DOCDIR = ${libdir}/netgen/doc
|
||||
TCLDIR = ${libdir}/netgen/tcl
|
||||
PYDIR = ${libdir}/netgen/python
|
||||
|
||||
MAIN_EXTRA_LIBS = ${NETGENDIR}/tcltk/libtcltk.o
|
||||
LD_EXTRA_LIBS =
|
||||
LD_SHARED =
|
||||
TOP_EXTRA_LIBS =
|
||||
SUB_EXTRA_LIBS =
|
||||
|
||||
MODULES += tcltk
|
||||
UNUSED_MODULES +=
|
||||
PROGRAMS += tcltk
|
||||
INSTALL_CAD_DIRS += tcltk
|
||||
|
||||
RM = rm -f
|
||||
CP = cp
|
||||
AR = @AR@
|
||||
ARFLAGS = crv
|
||||
LINK = /bin/ld -r
|
||||
LD = /bin/ld
|
||||
M4 = /bin/m4
|
||||
RANLIB = ranlib
|
||||
SHDLIB_EXT = .so
|
||||
LDDL_FLAGS = -shared -Wl,-soname,$@ -Wl,--version-script=${NETGENDIR}/netgen/symbol.map
|
||||
LD_RUN_PATH =
|
||||
LIB_SPECS = -L/usr/lib64 -ltkstub8.6 -L/usr/lib64 -ltclstub8.6
|
||||
LIB_SPECS_NOSTUB = -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6
|
||||
WISH_EXE = /usr/bin/wish
|
||||
TCL_LIB_DIR = /usr/lib
|
||||
|
||||
CC = gcc
|
||||
CPP = gcc -E -x c
|
||||
CXX = @CXX@
|
||||
|
||||
CPPFLAGS = -I. -I${NETGENDIR}
|
||||
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DUSE_TCL_STUBS -DUSE_TK_STUBS -DPACKAGE_NAME=\"netgen\" -DPACKAGE_TARNAME=\"netgen\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"netgen\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DNETGEN_VERSION=\"1.5\" -DNETGEN_REVISION=\"112\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DSHDLIB_EXT=\".so\" -DNDEBUG
|
||||
DFLAGS_NOSTUB = -DCAD_DIR=\"${LIBDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"netgen\" -DPACKAGE_TARNAME=\"netgen\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"netgen\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DNETGEN_VERSION=\"1.5\" -DNETGEN_REVISION=\"112\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DSHDLIB_EXT=\".so\" -DNDEBUG
|
||||
CFLAGS = -g -m64 -fPIC -fPIC
|
||||
|
||||
DEPEND_FILE = Depend
|
||||
DEPEND_FLAG = -MM
|
||||
EXEEXT =
|
||||
|
||||
GR_CFLAGS =
|
||||
GR_DFLAGS = -DX11 -DXLIB -DNDEBUG
|
||||
GR_LIBS = -lX11
|
||||
GR_SRCS = ${TK_SRCS}
|
||||
|
||||
OBJS = ${SRCS:.c=.o}
|
||||
LIB_OBJS = ${LIB_SRCS:.c=.o}
|
||||
CLEANS = ${OBJS} ${LIB_OBJS} lib${MODULE}.a lib${MODULE}.o ${MODULE}
|
||||
@@ -1,772 +0,0 @@
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by netgen configure 1.3, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ ./configure
|
||||
|
||||
## --------- ##
|
||||
## Platform. ##
|
||||
## --------- ##
|
||||
|
||||
hostname = stravinsky
|
||||
uname -m = x86_64
|
||||
uname -r = 4.1.13-100.fc21.x86_64
|
||||
uname -s = Linux
|
||||
uname -v = #1 SMP Tue Nov 10 13:13:20 UTC 2015
|
||||
|
||||
/usr/bin/uname -p = x86_64
|
||||
/bin/uname -X = unknown
|
||||
|
||||
/bin/arch = x86_64
|
||||
/usr/bin/arch -k = unknown
|
||||
/usr/convex/getsysinfo = unknown
|
||||
/usr/bin/hostinfo = unknown
|
||||
/bin/machine = unknown
|
||||
/usr/bin/oslevel = unknown
|
||||
/bin/universe = unknown
|
||||
|
||||
PATH: .
|
||||
PATH: /bin
|
||||
PATH: /sbin
|
||||
PATH: /usr/bin
|
||||
PATH: /usr/sbin
|
||||
PATH: /usr/local/bin
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Core tests. ##
|
||||
## ----------- ##
|
||||
|
||||
configure:2398: checking build system type
|
||||
configure:2412: result: x86_64-unknown-linux-gnu
|
||||
configure:2432: checking host system type
|
||||
configure:2445: result: x86_64-unknown-linux-gnu
|
||||
configure:2465: checking target system type
|
||||
configure:2478: result: x86_64-unknown-linux-gnu
|
||||
configure:2569: checking for gcc
|
||||
configure:2585: found /bin/gcc
|
||||
configure:2596: result: gcc
|
||||
configure:2825: checking for C compiler version
|
||||
configure:2834: gcc --version >&5
|
||||
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
|
||||
Copyright (C) 2014 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
configure:2845: $? = 0
|
||||
configure:2834: gcc -v >&5
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=gcc
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/lto-wrapper
|
||||
Target: x86_64-redhat-linux
|
||||
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.9.2-20150212/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
|
||||
Thread model: posix
|
||||
gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
|
||||
configure:2845: $? = 0
|
||||
configure:2834: gcc -V >&5
|
||||
gcc: error: unrecognized command line option '-V'
|
||||
gcc: fatal error: no input files
|
||||
compilation terminated.
|
||||
configure:2845: $? = 4
|
||||
configure:2834: gcc -qversion >&5
|
||||
gcc: error: unrecognized command line option '-qversion'
|
||||
gcc: fatal error: no input files
|
||||
compilation terminated.
|
||||
configure:2845: $? = 4
|
||||
configure:2865: checking whether the C compiler works
|
||||
configure:2887: gcc -g conftest.c >&5
|
||||
configure:2891: $? = 0
|
||||
configure:2939: result: yes
|
||||
configure:2942: checking for C compiler default output file name
|
||||
configure:2944: result: a.out
|
||||
configure:2950: checking for suffix of executables
|
||||
configure:2957: gcc -o conftest -g conftest.c >&5
|
||||
configure:2961: $? = 0
|
||||
configure:2983: result:
|
||||
configure:3005: checking whether we are cross compiling
|
||||
configure:3013: gcc -o conftest -g conftest.c >&5
|
||||
configure:3017: $? = 0
|
||||
configure:3024: ./conftest
|
||||
configure:3028: $? = 0
|
||||
configure:3043: result: no
|
||||
configure:3048: checking for suffix of object files
|
||||
configure:3070: gcc -c -g conftest.c >&5
|
||||
configure:3074: $? = 0
|
||||
configure:3095: result: o
|
||||
configure:3099: checking whether we are using the GNU C compiler
|
||||
configure:3118: gcc -c -g conftest.c >&5
|
||||
configure:3118: $? = 0
|
||||
configure:3127: result: yes
|
||||
configure:3136: checking whether gcc accepts -g
|
||||
configure:3156: gcc -c -g conftest.c >&5
|
||||
configure:3156: $? = 0
|
||||
configure:3197: result: yes
|
||||
configure:3214: checking for gcc option to accept ISO C89
|
||||
configure:3277: gcc -c -g conftest.c >&5
|
||||
configure:3277: $? = 0
|
||||
configure:3290: result: none needed
|
||||
configure:3315: checking how to run the C preprocessor
|
||||
configure:3346: gcc -E conftest.c
|
||||
configure:3346: $? = 0
|
||||
configure:3360: gcc -E conftest.c
|
||||
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
|
||||
#include <ac_nonexistent.h>
|
||||
^
|
||||
compilation terminated.
|
||||
configure:3360: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| /* end confdefs.h. */
|
||||
| #include <ac_nonexistent.h>
|
||||
configure:3385: result: gcc -E
|
||||
configure:3405: gcc -E conftest.c
|
||||
configure:3405: $? = 0
|
||||
configure:3419: gcc -E conftest.c
|
||||
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
|
||||
#include <ac_nonexistent.h>
|
||||
^
|
||||
compilation terminated.
|
||||
configure:3419: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| /* end confdefs.h. */
|
||||
| #include <ac_nonexistent.h>
|
||||
configure:3448: checking for library containing strerror
|
||||
configure:3479: gcc -o conftest -g conftest.c >&5
|
||||
configure:3479: $? = 0
|
||||
configure:3496: result: none required
|
||||
configure:3518: checking for a BSD-compatible install
|
||||
configure:3586: result: /bin/install -c
|
||||
configure:3640: checking for ranlib
|
||||
configure:3656: found /bin/ranlib
|
||||
configure:3667: result: ranlib
|
||||
configure:3694: checking for gm4
|
||||
configure:3727: result: no
|
||||
configure:3694: checking for gnum4
|
||||
configure:3727: result: no
|
||||
configure:3694: checking for m4
|
||||
configure:3712: found /bin/m4
|
||||
configure:3724: result: /bin/m4
|
||||
configure:3765: checking for ld used by GCC
|
||||
configure:3828: result: /bin/ld
|
||||
configure:3835: checking if the linker (/bin/ld) is GNU ld
|
||||
GNU ld version 2.24
|
||||
configure:3847: result: yes
|
||||
configure:3854: checking for grep that handles long lines and -e
|
||||
configure:3912: result: /bin/grep
|
||||
configure:3917: checking for egrep
|
||||
configure:3979: result: /bin/grep -E
|
||||
configure:3984: checking for ANSI C header files
|
||||
configure:4004: gcc -c -g conftest.c >&5
|
||||
configure:4004: $? = 0
|
||||
configure:4077: gcc -o conftest -g conftest.c >&5
|
||||
configure:4077: $? = 0
|
||||
configure:4077: ./conftest
|
||||
configure:4077: $? = 0
|
||||
configure:4088: result: yes
|
||||
configure:4101: checking for sys/types.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for sys/stat.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for stdlib.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for string.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for memory.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for strings.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for inttypes.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for stdint.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4101: checking for unistd.h
|
||||
configure:4101: gcc -c -g conftest.c >&5
|
||||
configure:4101: $? = 0
|
||||
configure:4101: result: yes
|
||||
configure:4117: checking size of void *
|
||||
configure:4122: gcc -o conftest -g conftest.c >&5
|
||||
configure:4122: $? = 0
|
||||
configure:4122: ./conftest
|
||||
configure:4122: $? = 0
|
||||
configure:4136: result: 8
|
||||
configure:4150: checking size of unsigned int
|
||||
configure:4155: gcc -o conftest -g conftest.c >&5
|
||||
configure:4155: $? = 0
|
||||
configure:4155: ./conftest
|
||||
configure:4155: $? = 0
|
||||
configure:4169: result: 4
|
||||
configure:4183: checking size of unsigned long
|
||||
configure:4188: gcc -o conftest -g conftest.c >&5
|
||||
configure:4188: $? = 0
|
||||
configure:4188: ./conftest
|
||||
configure:4188: $? = 0
|
||||
configure:4202: result: 8
|
||||
configure:4216: checking size of unsigned long long
|
||||
configure:4221: gcc -o conftest -g conftest.c >&5
|
||||
configure:4221: $? = 0
|
||||
configure:4221: ./conftest
|
||||
configure:4221: $? = 0
|
||||
configure:4235: result: 8
|
||||
configure:4246: checking whether byte ordering is bigendian
|
||||
configure:4261: gcc -c -g conftest.c >&5
|
||||
conftest.c:26:9: error: unknown type name 'not'
|
||||
not a universal capable compiler
|
||||
^
|
||||
conftest.c:26:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'universal'
|
||||
not a universal capable compiler
|
||||
^
|
||||
conftest.c:26:15: error: unknown type name 'universal'
|
||||
configure:4261: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SYS_TYPES_H 1
|
||||
| #define HAVE_SYS_STAT_H 1
|
||||
| #define HAVE_STDLIB_H 1
|
||||
| #define HAVE_STRING_H 1
|
||||
| #define HAVE_MEMORY_H 1
|
||||
| #define HAVE_STRINGS_H 1
|
||||
| #define HAVE_INTTYPES_H 1
|
||||
| #define HAVE_STDINT_H 1
|
||||
| #define HAVE_UNISTD_H 1
|
||||
| #define SIZEOF_VOID_P 8
|
||||
| #define SIZEOF_UNSIGNED_INT 4
|
||||
| #define SIZEOF_UNSIGNED_LONG 8
|
||||
| #define SIZEOF_UNSIGNED_LONG_LONG 8
|
||||
| /* end confdefs.h. */
|
||||
| #ifndef __APPLE_CC__
|
||||
| not a universal capable compiler
|
||||
| #endif
|
||||
| typedef int dummy;
|
||||
|
|
||||
configure:4306: gcc -c -g conftest.c >&5
|
||||
configure:4306: $? = 0
|
||||
configure:4324: gcc -c -g conftest.c >&5
|
||||
conftest.c: In function 'main':
|
||||
conftest.c:32:4: error: unknown type name 'not'
|
||||
not big endian
|
||||
^
|
||||
conftest.c:32:12: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'endian'
|
||||
not big endian
|
||||
^
|
||||
configure:4324: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SYS_TYPES_H 1
|
||||
| #define HAVE_SYS_STAT_H 1
|
||||
| #define HAVE_STDLIB_H 1
|
||||
| #define HAVE_STRING_H 1
|
||||
| #define HAVE_MEMORY_H 1
|
||||
| #define HAVE_STRINGS_H 1
|
||||
| #define HAVE_INTTYPES_H 1
|
||||
| #define HAVE_STDINT_H 1
|
||||
| #define HAVE_UNISTD_H 1
|
||||
| #define SIZEOF_VOID_P 8
|
||||
| #define SIZEOF_UNSIGNED_INT 4
|
||||
| #define SIZEOF_UNSIGNED_LONG 8
|
||||
| #define SIZEOF_UNSIGNED_LONG_LONG 8
|
||||
| /* end confdefs.h. */
|
||||
| #include <sys/types.h>
|
||||
| #include <sys/param.h>
|
||||
|
|
||||
| int
|
||||
| main ()
|
||||
| {
|
||||
| #if BYTE_ORDER != BIG_ENDIAN
|
||||
| not big endian
|
||||
| #endif
|
||||
|
|
||||
| ;
|
||||
| return 0;
|
||||
| }
|
||||
configure:4452: result: no
|
||||
configure:4471: checking for ANSI C header files
|
||||
configure:4575: result: yes
|
||||
configure:4587: checking for setenv
|
||||
configure:4587: gcc -o conftest -g conftest.c >&5
|
||||
configure:4587: $? = 0
|
||||
configure:4587: result: yes
|
||||
configure:4587: checking for putenv
|
||||
configure:4587: gcc -o conftest -g conftest.c >&5
|
||||
configure:4587: $? = 0
|
||||
configure:4587: result: yes
|
||||
configure:4597: checking for vfork
|
||||
configure:4597: gcc -o conftest -g conftest.c >&5
|
||||
configure:4597: $? = 0
|
||||
configure:4597: result: yes
|
||||
configure:4605: checking dirent.h usability
|
||||
configure:4605: gcc -c -g conftest.c >&5
|
||||
configure:4605: $? = 0
|
||||
configure:4605: result: yes
|
||||
configure:4605: checking dirent.h presence
|
||||
configure:4605: gcc -E -x c conftest.c
|
||||
configure:4605: $? = 0
|
||||
configure:4605: result: yes
|
||||
configure:4605: checking for dirent.h
|
||||
configure:4605: result: yes
|
||||
configure:4618: checking limits.h usability
|
||||
configure:4618: gcc -c -g conftest.c >&5
|
||||
configure:4618: $? = 0
|
||||
configure:4618: result: yes
|
||||
configure:4618: checking limits.h presence
|
||||
configure:4618: gcc -E -x c conftest.c
|
||||
configure:4618: $? = 0
|
||||
configure:4618: result: yes
|
||||
configure:4618: checking for limits.h
|
||||
configure:4618: result: yes
|
||||
configure:4631: checking param.h usability
|
||||
configure:4631: gcc -c -g conftest.c >&5
|
||||
conftest.c:63:19: fatal error: param.h: No such file or directory
|
||||
#include <param.h>
|
||||
^
|
||||
compilation terminated.
|
||||
configure:4631: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SYS_TYPES_H 1
|
||||
| #define HAVE_SYS_STAT_H 1
|
||||
| #define HAVE_STDLIB_H 1
|
||||
| #define HAVE_STRING_H 1
|
||||
| #define HAVE_MEMORY_H 1
|
||||
| #define HAVE_STRINGS_H 1
|
||||
| #define HAVE_INTTYPES_H 1
|
||||
| #define HAVE_STDINT_H 1
|
||||
| #define HAVE_UNISTD_H 1
|
||||
| #define SIZEOF_VOID_P 8
|
||||
| #define SIZEOF_UNSIGNED_INT 4
|
||||
| #define SIZEOF_UNSIGNED_LONG 8
|
||||
| #define SIZEOF_UNSIGNED_LONG_LONG 8
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SETENV 1
|
||||
| #define HAVE_PUTENV 1
|
||||
| #define HAVE_DIRENT_H 1
|
||||
| #define HAVE_LIMITS_H 1
|
||||
| /* end confdefs.h. */
|
||||
| #include <stdio.h>
|
||||
| #ifdef HAVE_SYS_TYPES_H
|
||||
| # include <sys/types.h>
|
||||
| #endif
|
||||
| #ifdef HAVE_SYS_STAT_H
|
||||
| # include <sys/stat.h>
|
||||
| #endif
|
||||
| #ifdef STDC_HEADERS
|
||||
| # include <stdlib.h>
|
||||
| # include <stddef.h>
|
||||
| #else
|
||||
| # ifdef HAVE_STDLIB_H
|
||||
| # include <stdlib.h>
|
||||
| # endif
|
||||
| #endif
|
||||
| #ifdef HAVE_STRING_H
|
||||
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
|
||||
| # include <memory.h>
|
||||
| # endif
|
||||
| # include <string.h>
|
||||
| #endif
|
||||
| #ifdef HAVE_STRINGS_H
|
||||
| # include <strings.h>
|
||||
| #endif
|
||||
| #ifdef HAVE_INTTYPES_H
|
||||
| # include <inttypes.h>
|
||||
| #endif
|
||||
| #ifdef HAVE_STDINT_H
|
||||
| # include <stdint.h>
|
||||
| #endif
|
||||
| #ifdef HAVE_UNISTD_H
|
||||
| # include <unistd.h>
|
||||
| #endif
|
||||
| #include <param.h>
|
||||
configure:4631: result: no
|
||||
configure:4631: checking param.h presence
|
||||
configure:4631: gcc -E -x c conftest.c
|
||||
conftest.c:30:19: fatal error: param.h: No such file or directory
|
||||
#include <param.h>
|
||||
^
|
||||
compilation terminated.
|
||||
configure:4631: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "netgen"
|
||||
| #define PACKAGE_TARNAME "netgen"
|
||||
| #define PACKAGE_VERSION "1.3"
|
||||
| #define PACKAGE_STRING "netgen 1.3"
|
||||
| #define PACKAGE_BUGREPORT "[email protected]"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define NETGEN_VERSION "1.5"
|
||||
| #define NETGEN_REVISION "112"
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SYS_TYPES_H 1
|
||||
| #define HAVE_SYS_STAT_H 1
|
||||
| #define HAVE_STDLIB_H 1
|
||||
| #define HAVE_STRING_H 1
|
||||
| #define HAVE_MEMORY_H 1
|
||||
| #define HAVE_STRINGS_H 1
|
||||
| #define HAVE_INTTYPES_H 1
|
||||
| #define HAVE_STDINT_H 1
|
||||
| #define HAVE_UNISTD_H 1
|
||||
| #define SIZEOF_VOID_P 8
|
||||
| #define SIZEOF_UNSIGNED_INT 4
|
||||
| #define SIZEOF_UNSIGNED_LONG 8
|
||||
| #define SIZEOF_UNSIGNED_LONG_LONG 8
|
||||
| #define STDC_HEADERS 1
|
||||
| #define HAVE_SETENV 1
|
||||
| #define HAVE_PUTENV 1
|
||||
| #define HAVE_DIRENT_H 1
|
||||
| #define HAVE_LIMITS_H 1
|
||||
| /* end confdefs.h. */
|
||||
| #include <param.h>
|
||||
configure:4631: result: no
|
||||
configure:4631: checking for param.h
|
||||
configure:4631: result: no
|
||||
configure:4644: checking for python3
|
||||
configure:4660: found /bin/python3
|
||||
configure:4672: result: yes
|
||||
configure:4681: checking for va_copy
|
||||
configure:4699: gcc -o conftest -g conftest.c >&5
|
||||
configure:4699: $? = 0
|
||||
configure:4708: result: yes
|
||||
configure:4716: checking for __va_copy
|
||||
configure:4734: gcc -o conftest -g conftest.c >&5
|
||||
configure:4734: $? = 0
|
||||
configure:4743: result: yes
|
||||
configure:4874: checking for tclConfig.sh
|
||||
configure:4946: result: /usr/lib64/tclConfig.sh
|
||||
configure:4962: checking for tkConfig.sh
|
||||
configure:5035: result: /usr/lib64/tkConfig.sh
|
||||
configure:5168: checking for wish executable
|
||||
configure:5195: result: /usr/bin/wish
|
||||
configure:5201: checking for tclsh executable
|
||||
configure:5227: result: /usr/bin/tclsh
|
||||
configure:5350: checking for X
|
||||
configure:5489: gcc -o conftest -g conftest.c -lX11 >&5
|
||||
configure:5489: $? = 0
|
||||
configure:5539: result: libraries , headers
|
||||
configure:5638: gcc -o conftest -g conftest.c -lX11 >&5
|
||||
configure:5638: $? = 0
|
||||
configure:5736: checking for gethostbyname
|
||||
configure:5736: gcc -o conftest -g conftest.c >&5
|
||||
configure:5736: $? = 0
|
||||
configure:5736: result: yes
|
||||
configure:5833: checking for connect
|
||||
configure:5833: gcc -o conftest -g conftest.c >&5
|
||||
configure:5833: $? = 0
|
||||
configure:5833: result: yes
|
||||
configure:5882: checking for remove
|
||||
configure:5882: gcc -o conftest -g conftest.c >&5
|
||||
configure:5882: $? = 0
|
||||
configure:5882: result: yes
|
||||
configure:5931: checking for shmat
|
||||
configure:5931: gcc -o conftest -g conftest.c >&5
|
||||
configure:5931: $? = 0
|
||||
configure:5931: result: yes
|
||||
configure:5989: checking for IceConnectionNumber in -lICE
|
||||
configure:6014: gcc -o conftest -g conftest.c -lICE >&5
|
||||
configure:6014: $? = 0
|
||||
configure:6023: result: yes
|
||||
configure:6745: creating ./config.status
|
||||
|
||||
## ---------------------- ##
|
||||
## Running config.status. ##
|
||||
## ---------------------- ##
|
||||
|
||||
This file was extended by netgen config.status 1.3, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES =
|
||||
CONFIG_HEADERS =
|
||||
CONFIG_LINKS =
|
||||
CONFIG_COMMANDS =
|
||||
$ ./config.status
|
||||
|
||||
on stravinsky
|
||||
|
||||
config.status:784: creating defs.mak
|
||||
config.status:887: WARNING: 'defs.mak.in' seems to ignore the --datarootdir setting
|
||||
|
||||
## ---------------- ##
|
||||
## Cache variables. ##
|
||||
## ---------------- ##
|
||||
|
||||
ac_cv_build=x86_64-unknown-linux-gnu
|
||||
ac_cv_c___va_copy=yes
|
||||
ac_cv_c_bigendian=no
|
||||
ac_cv_c_compiler_gnu=yes
|
||||
ac_cv_c_va_copy=yes
|
||||
ac_cv_env_CC_set=
|
||||
ac_cv_env_CC_value=
|
||||
ac_cv_env_CFLAGS_set=set
|
||||
ac_cv_env_CFLAGS_value=-g
|
||||
ac_cv_env_CPPFLAGS_set=
|
||||
ac_cv_env_CPPFLAGS_value=
|
||||
ac_cv_env_CPP_set=
|
||||
ac_cv_env_CPP_value=
|
||||
ac_cv_env_LDFLAGS_set=
|
||||
ac_cv_env_LDFLAGS_value=
|
||||
ac_cv_env_LIBS_set=
|
||||
ac_cv_env_LIBS_value=
|
||||
ac_cv_env_XMKMF_set=
|
||||
ac_cv_env_XMKMF_value=
|
||||
ac_cv_env_build_alias_set=
|
||||
ac_cv_env_build_alias_value=
|
||||
ac_cv_env_host_alias_set=
|
||||
ac_cv_env_host_alias_value=
|
||||
ac_cv_env_target_alias_set=
|
||||
ac_cv_env_target_alias_value=
|
||||
ac_cv_func_connect=yes
|
||||
ac_cv_func_gethostbyname=yes
|
||||
ac_cv_func_putenv=yes
|
||||
ac_cv_func_remove=yes
|
||||
ac_cv_func_setenv=yes
|
||||
ac_cv_func_shmat=yes
|
||||
ac_cv_func_vfork=yes
|
||||
ac_cv_have_x='have_x=yes ac_x_includes='\'''\'' ac_x_libraries='\'''\'''
|
||||
ac_cv_header_dirent_h=yes
|
||||
ac_cv_header_inttypes_h=yes
|
||||
ac_cv_header_limits_h=yes
|
||||
ac_cv_header_memory_h=yes
|
||||
ac_cv_header_param_h=no
|
||||
ac_cv_header_stdc=yes
|
||||
ac_cv_header_stdint_h=yes
|
||||
ac_cv_header_stdlib_h=yes
|
||||
ac_cv_header_string_h=yes
|
||||
ac_cv_header_strings_h=yes
|
||||
ac_cv_header_sys_stat_h=yes
|
||||
ac_cv_header_sys_types_h=yes
|
||||
ac_cv_header_unistd_h=yes
|
||||
ac_cv_host=x86_64-unknown-linux-gnu
|
||||
ac_cv_lib_ICE_IceConnectionNumber=yes
|
||||
ac_cv_objext=o
|
||||
ac_cv_path_EGREP='/bin/grep -E'
|
||||
ac_cv_path_GREP=/bin/grep
|
||||
ac_cv_path_LD=/bin/ld
|
||||
ac_cv_path_M4=/bin/m4
|
||||
ac_cv_path_install='/bin/install -c'
|
||||
ac_cv_prog_CPP='gcc -E'
|
||||
ac_cv_prog_HAVE_PYTHON3=yes
|
||||
ac_cv_prog_ac_ct_CC=gcc
|
||||
ac_cv_prog_ac_ct_RANLIB=ranlib
|
||||
ac_cv_prog_cc_c89=
|
||||
ac_cv_prog_cc_g=yes
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
ac_cv_search_strerror='none required'
|
||||
ac_cv_sizeof_unsigned_int=4
|
||||
ac_cv_sizeof_unsigned_long=8
|
||||
ac_cv_sizeof_unsigned_long_long=8
|
||||
ac_cv_sizeof_void_p=8
|
||||
ac_cv_target=x86_64-unknown-linux-gnu
|
||||
|
||||
## ----------------- ##
|
||||
## Output variables. ##
|
||||
## ----------------- ##
|
||||
|
||||
ALL_TARGET='tcl'
|
||||
CC='gcc'
|
||||
CFLAGS='-g -m64 -fPIC'
|
||||
CPP='gcc -E -x c'
|
||||
CPPFLAGS=''
|
||||
DEFS='-DPACKAGE_NAME=\"netgen\" -DPACKAGE_TARNAME=\"netgen\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"netgen\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DNETGEN_VERSION=\"1.5\" -DNETGEN_REVISION=\"112\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1'
|
||||
DEPEND_FLAG='-MM'
|
||||
ECHO_C=''
|
||||
ECHO_N='printf'
|
||||
ECHO_T=''
|
||||
EGREP='/bin/grep -E'
|
||||
EXEEXT=''
|
||||
EXTRA_LIB_SPECS='-ldl'
|
||||
GREP='/bin/grep'
|
||||
HAVE_PYTHON3='yes'
|
||||
INC_SPECS=''
|
||||
INSTALL_DATA='${INSTALL} -m 644'
|
||||
INSTALL_PROGRAM='${INSTALL}'
|
||||
INSTALL_SCRIPT='${INSTALL}'
|
||||
INSTALL_TARGET='install-tcl'
|
||||
LD='/bin/ld'
|
||||
LDDL_FLAGS=' -shared -Wl,-soname,$@ -Wl,--version-script=${NETGENDIR}/netgen/symbol.map'
|
||||
LDFLAGS=''
|
||||
LD_RUN_PATH=''
|
||||
LIBOBJS=''
|
||||
LIBS=''
|
||||
LIB_SPECS=' -L/usr/lib64 -ltkstub8.6 -L/usr/lib64 -ltclstub8.6'
|
||||
LIB_SPECS_NOSTUB=' -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6'
|
||||
LTLIBOBJS=''
|
||||
M4='/bin/m4'
|
||||
OBJEXT='o'
|
||||
PACKAGE='netgen'
|
||||
PACKAGE_BUGREPORT='[email protected]'
|
||||
PACKAGE_NAME='netgen'
|
||||
PACKAGE_STRING='netgen 1.3'
|
||||
PACKAGE_TARNAME='netgen'
|
||||
PACKAGE_URL=''
|
||||
PACKAGE_VERSION='1.3'
|
||||
PATH_SEPARATOR=':'
|
||||
RANLIB='ranlib'
|
||||
SCRIPTS=''
|
||||
SHDLIB_EXT='.so'
|
||||
SHELL='/bin/sh'
|
||||
SHLIB_CFLAGS='-fPIC'
|
||||
SHLIB_LD=''
|
||||
SHLIB_LIB_SPECS=''
|
||||
TCLSH_EXE='/usr/bin/tclsh'
|
||||
TCL_LIB_DIR='/usr/lib'
|
||||
VERSION=''
|
||||
WISH_EXE='/usr/bin/wish'
|
||||
XMKMF=''
|
||||
X_CFLAGS=''
|
||||
X_EXTRA_LIBS=''
|
||||
X_LIBS=''
|
||||
X_PRE_LIBS=' -lSM -lICE'
|
||||
ac_ct_CC='gcc'
|
||||
bindir='${exec_prefix}/bin'
|
||||
build='x86_64-unknown-linux-gnu'
|
||||
build_alias=''
|
||||
build_cpu='x86_64'
|
||||
build_os='linux-gnu'
|
||||
build_vendor='unknown'
|
||||
cadinstall=' tcltk'
|
||||
datadir='${datarootdir}'
|
||||
datarootdir='${prefix}/share'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
dvidir='${docdir}'
|
||||
exec_prefix='${prefix}'
|
||||
extra_defs=' -DCAD_DIR=\"${LIBDIR}\" -DTCL_DIR=\"${TCLDIR}\"'
|
||||
extra_libs=' ${NETGENDIR}/tcltk/libtcltk.o'
|
||||
gr_cflags=''
|
||||
gr_dflags=' -DX11 -DXLIB'
|
||||
gr_libs=' -lX11'
|
||||
gr_srcs=' ${TK_SRCS}'
|
||||
host='x86_64-unknown-linux-gnu'
|
||||
host_alias=''
|
||||
host_cpu='x86_64'
|
||||
host_os='linux-gnu'
|
||||
host_vendor='unknown'
|
||||
htmldir='${docdir}'
|
||||
includedir='${prefix}/include'
|
||||
infodir='${datarootdir}/info'
|
||||
ld_extra_libs=''
|
||||
ld_extra_objs=''
|
||||
libdir='${exec_prefix}/lib'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
localedir='${datarootdir}/locale'
|
||||
localstatedir='${prefix}/var'
|
||||
mandir='${datarootdir}/man'
|
||||
modules=' tcltk'
|
||||
oldincludedir='/usr/include'
|
||||
pdfdir='${docdir}'
|
||||
prefix='/usr/local'
|
||||
program_transform_name='s,x,x,'
|
||||
programs=' tcltk'
|
||||
psdir='${docdir}'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
sharedstatedir='${prefix}/com'
|
||||
stub_defs=' -DUSE_TCL_STUBS -DUSE_TK_STUBS'
|
||||
sub_extra_libs=''
|
||||
sysconfdir='${prefix}/etc'
|
||||
target='x86_64-unknown-linux-gnu'
|
||||
target_alias=''
|
||||
target_cpu='x86_64'
|
||||
target_os='linux-gnu'
|
||||
target_vendor='unknown'
|
||||
top_extra_libs=''
|
||||
unused=''
|
||||
|
||||
## ----------- ##
|
||||
## confdefs.h. ##
|
||||
## ----------- ##
|
||||
|
||||
/* confdefs.h */
|
||||
#define PACKAGE_NAME "netgen"
|
||||
#define PACKAGE_TARNAME "netgen"
|
||||
#define PACKAGE_VERSION "1.3"
|
||||
#define PACKAGE_STRING "netgen 1.3"
|
||||
#define PACKAGE_BUGREPORT "[email protected]"
|
||||
#define PACKAGE_URL ""
|
||||
#define NETGEN_VERSION "1.5"
|
||||
#define NETGEN_REVISION "112"
|
||||
#define STDC_HEADERS 1
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
#define HAVE_STDLIB_H 1
|
||||
#define HAVE_STRING_H 1
|
||||
#define HAVE_MEMORY_H 1
|
||||
#define HAVE_STRINGS_H 1
|
||||
#define HAVE_INTTYPES_H 1
|
||||
#define HAVE_STDINT_H 1
|
||||
#define HAVE_UNISTD_H 1
|
||||
#define SIZEOF_VOID_P 8
|
||||
#define SIZEOF_UNSIGNED_INT 4
|
||||
#define SIZEOF_UNSIGNED_LONG 8
|
||||
#define SIZEOF_UNSIGNED_LONG_LONG 8
|
||||
#define STDC_HEADERS 1
|
||||
#define HAVE_SETENV 1
|
||||
#define HAVE_PUTENV 1
|
||||
#define HAVE_DIRENT_H 1
|
||||
#define HAVE_LIMITS_H 1
|
||||
#define HAVE_VA_COPY 1
|
||||
#define HAVE___VA_COPY 1
|
||||
#define DBUG_OFF 1
|
||||
#define TCL_NETGEN 1
|
||||
#define linux 1
|
||||
#define SYSV 1
|
||||
#define ISC 1
|
||||
|
||||
configure: exit 0
|
||||
@@ -1,941 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Generated by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in config.log if it exists.
|
||||
|
||||
debug=false
|
||||
ac_cs_recheck=false
|
||||
ac_cs_silent=false
|
||||
|
||||
SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
export SHELL
|
||||
## -------------------- ##
|
||||
## M4sh Initialization. ##
|
||||
## -------------------- ##
|
||||
|
||||
# Be more Bourne compatible
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
|
||||
# is contrary to our usage. Disable this feature.
|
||||
alias -g '${1+"$@"}'='"$@"'
|
||||
setopt NO_GLOB_SUBST
|
||||
else
|
||||
case `(set -o) 2>/dev/null` in #(
|
||||
*posix*) :
|
||||
set -o posix ;; #(
|
||||
*) :
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
as_nl='
|
||||
'
|
||||
export as_nl
|
||||
# Printing a long string crashes Solaris 7 /usr/bin/printf.
|
||||
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
|
||||
# Prefer a ksh shell builtin over an external printf program on Solaris,
|
||||
# but without wasting forks for bash or zsh.
|
||||
if test -z "$BASH_VERSION$ZSH_VERSION" \
|
||||
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='print -r --'
|
||||
as_echo_n='print -rn --'
|
||||
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
|
||||
as_echo='printf %s\n'
|
||||
as_echo_n='printf %s'
|
||||
else
|
||||
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
|
||||
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
|
||||
as_echo_n='/usr/ucb/echo -n'
|
||||
else
|
||||
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
|
||||
as_echo_n_body='eval
|
||||
arg=$1;
|
||||
case $arg in #(
|
||||
*"$as_nl"*)
|
||||
expr "X$arg" : "X\\(.*\\)$as_nl";
|
||||
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
|
||||
esac;
|
||||
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
|
||||
'
|
||||
export as_echo_n_body
|
||||
as_echo_n='sh -c $as_echo_n_body as_echo'
|
||||
fi
|
||||
export as_echo_body
|
||||
as_echo='sh -c $as_echo_body as_echo'
|
||||
fi
|
||||
|
||||
# The user is always right.
|
||||
if test "${PATH_SEPARATOR+set}" != set; then
|
||||
PATH_SEPARATOR=:
|
||||
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
|
||||
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
|
||||
PATH_SEPARATOR=';'
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
# IFS
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent editors from complaining about space-tab.
|
||||
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
|
||||
# splitting by setting IFS to empty value.)
|
||||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
case $0 in #((
|
||||
*[\\/]* ) as_myself=$0 ;;
|
||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
# We did not find ourselves, most probably we were run as `sh COMMAND'
|
||||
# in which case we are not to be found in the path.
|
||||
if test "x$as_myself" = x; then
|
||||
as_myself=$0
|
||||
fi
|
||||
if test ! -f "$as_myself"; then
|
||||
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Unset variables that we do not need and which cause bugs (e.g. in
|
||||
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
|
||||
# suppresses any "Segmentation fault" message there. '((' could
|
||||
# trigger a bug in pdksh 5.2.14.
|
||||
for as_var in BASH_ENV ENV MAIL MAILPATH
|
||||
do eval test x\${$as_var+set} = xset \
|
||||
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
|
||||
done
|
||||
PS1='$ '
|
||||
PS2='> '
|
||||
PS4='+ '
|
||||
|
||||
# NLS nuisances.
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
LANGUAGE=C
|
||||
export LANGUAGE
|
||||
|
||||
# CDPATH.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
||||
|
||||
# as_fn_error STATUS ERROR [LINENO LOG_FD]
|
||||
# ----------------------------------------
|
||||
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
|
||||
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
|
||||
# script with STATUS, using 1 if that was 0.
|
||||
as_fn_error ()
|
||||
{
|
||||
as_status=$1; test $as_status -eq 0 && as_status=1
|
||||
if test "$4"; then
|
||||
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
|
||||
fi
|
||||
$as_echo "$as_me: error: $2" >&2
|
||||
as_fn_exit $as_status
|
||||
} # as_fn_error
|
||||
|
||||
|
||||
# as_fn_set_status STATUS
|
||||
# -----------------------
|
||||
# Set $? to STATUS, without forking.
|
||||
as_fn_set_status ()
|
||||
{
|
||||
return $1
|
||||
} # as_fn_set_status
|
||||
|
||||
# as_fn_exit STATUS
|
||||
# -----------------
|
||||
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
|
||||
as_fn_exit ()
|
||||
{
|
||||
set +e
|
||||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
|
||||
# as_fn_unset VAR
|
||||
# ---------------
|
||||
# Portably unset VAR.
|
||||
as_fn_unset ()
|
||||
{
|
||||
{ eval $1=; unset $1;}
|
||||
}
|
||||
as_unset=as_fn_unset
|
||||
# as_fn_append VAR VALUE
|
||||
# ----------------------
|
||||
# Append the text in VALUE to the end of the definition contained in VAR. Take
|
||||
# advantage of any shell optimizations that allow amortized linear growth over
|
||||
# repeated appends, instead of the typical quadratic growth present in naive
|
||||
# implementations.
|
||||
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
|
||||
eval 'as_fn_append ()
|
||||
{
|
||||
eval $1+=\$2
|
||||
}'
|
||||
else
|
||||
as_fn_append ()
|
||||
{
|
||||
eval $1=\$$1\$2
|
||||
}
|
||||
fi # as_fn_append
|
||||
|
||||
# as_fn_arith ARG...
|
||||
# ------------------
|
||||
# Perform arithmetic evaluation on the ARGs, and store the result in the
|
||||
# global $as_val. Take advantage of shells that can avoid forks. The arguments
|
||||
# must be portable across $(()) and expr.
|
||||
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
|
||||
eval 'as_fn_arith ()
|
||||
{
|
||||
as_val=$(( $* ))
|
||||
}'
|
||||
else
|
||||
as_fn_arith ()
|
||||
{
|
||||
as_val=`expr "$@" || test $? -eq 1`
|
||||
}
|
||||
fi # as_fn_arith
|
||||
|
||||
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
else
|
||||
as_expr=false
|
||||
fi
|
||||
|
||||
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
||||
as_basename=basename
|
||||
else
|
||||
as_basename=false
|
||||
fi
|
||||
|
||||
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
|
||||
as_dirname=dirname
|
||||
else
|
||||
as_dirname=false
|
||||
fi
|
||||
|
||||
as_me=`$as_basename -- "$0" ||
|
||||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
||||
X"$0" : 'X\(//\)$' \| \
|
||||
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X/"$0" |
|
||||
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\/\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
|
||||
# Avoid depending upon Character Ranges.
|
||||
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
|
||||
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
||||
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
|
||||
as_cr_digits='0123456789'
|
||||
as_cr_alnum=$as_cr_Letters$as_cr_digits
|
||||
|
||||
ECHO_C= ECHO_N= ECHO_T=
|
||||
case `echo -n x` in #(((((
|
||||
-n*)
|
||||
case `echo 'xy\c'` in
|
||||
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
|
||||
xy) ECHO_C='\c';;
|
||||
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
|
||||
ECHO_T=' ';;
|
||||
esac;;
|
||||
*)
|
||||
ECHO_N='-n';;
|
||||
esac
|
||||
|
||||
rm -f conf$$ conf$$.exe conf$$.file
|
||||
if test -d conf$$.dir; then
|
||||
rm -f conf$$.dir/conf$$.file
|
||||
else
|
||||
rm -f conf$$.dir
|
||||
mkdir conf$$.dir 2>/dev/null
|
||||
fi
|
||||
if (echo >conf$$.file) 2>/dev/null; then
|
||||
if ln -s conf$$.file conf$$ 2>/dev/null; then
|
||||
as_ln_s='ln -s'
|
||||
# ... but there are two gotchas:
|
||||
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
|
||||
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
|
||||
# In both cases, we have to default to `cp -pR'.
|
||||
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
|
||||
as_ln_s='cp -pR'
|
||||
elif ln conf$$.file conf$$ 2>/dev/null; then
|
||||
as_ln_s=ln
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
fi
|
||||
else
|
||||
as_ln_s='cp -pR'
|
||||
fi
|
||||
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
|
||||
rmdir conf$$.dir 2>/dev/null
|
||||
|
||||
|
||||
# as_fn_mkdir_p
|
||||
# -------------
|
||||
# Create "$as_dir" as a directory, including parents if necessary.
|
||||
as_fn_mkdir_p ()
|
||||
{
|
||||
|
||||
case $as_dir in #(
|
||||
-*) as_dir=./$as_dir;;
|
||||
esac
|
||||
test -d "$as_dir" || eval $as_mkdir_p || {
|
||||
as_dirs=
|
||||
while :; do
|
||||
case $as_dir in #(
|
||||
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
|
||||
*) as_qdir=$as_dir;;
|
||||
esac
|
||||
as_dirs="'$as_qdir' $as_dirs"
|
||||
as_dir=`$as_dirname -- "$as_dir" ||
|
||||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$as_dir" : 'X\(//\)[^/]' \| \
|
||||
X"$as_dir" : 'X\(//\)$' \| \
|
||||
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X"$as_dir" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
test -d "$as_dir" && break
|
||||
done
|
||||
test -z "$as_dirs" || eval "mkdir $as_dirs"
|
||||
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
|
||||
|
||||
|
||||
} # as_fn_mkdir_p
|
||||
if mkdir -p . 2>/dev/null; then
|
||||
as_mkdir_p='mkdir -p "$as_dir"'
|
||||
else
|
||||
test -d ./-p && rmdir ./-p
|
||||
as_mkdir_p=false
|
||||
fi
|
||||
|
||||
|
||||
# as_fn_executable_p FILE
|
||||
# -----------------------
|
||||
# Test if FILE is an executable regular file.
|
||||
as_fn_executable_p ()
|
||||
{
|
||||
test -f "$1" && test -x "$1"
|
||||
} # as_fn_executable_p
|
||||
as_test_x='test -x'
|
||||
as_executable_p=as_fn_executable_p
|
||||
|
||||
# Sed expression to map a string onto a valid CPP name.
|
||||
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
|
||||
|
||||
# Sed expression to map a string onto a valid variable name.
|
||||
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
|
||||
|
||||
|
||||
exec 6>&1
|
||||
## ----------------------------------- ##
|
||||
## Main body of $CONFIG_STATUS script. ##
|
||||
## ----------------------------------- ##
|
||||
# Save the log message, to keep $0 and so on meaningful, and to
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by netgen $as_me 1.3, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
CONFIG_LINKS = $CONFIG_LINKS
|
||||
CONFIG_COMMANDS = $CONFIG_COMMANDS
|
||||
$ $0 $@
|
||||
|
||||
on `(hostname || uname -n) 2>/dev/null | sed 1q`
|
||||
"
|
||||
|
||||
# Files that config.status was made for.
|
||||
config_files=" defs.mak"
|
||||
|
||||
ac_cs_usage="\
|
||||
\`$as_me' instantiates files and other configuration actions
|
||||
from templates according to the current configuration. Unless the files
|
||||
and actions are specified as TAGs, all are instantiated by default.
|
||||
|
||||
Usage: $0 [OPTION]... [TAG]...
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number and configuration settings, then exit
|
||||
--config print configuration, then exit
|
||||
-q, --quiet, --silent
|
||||
do not print progress messages
|
||||
-d, --debug don't remove temporary files
|
||||
--recheck update $as_me by reconfiguring in the same conditions
|
||||
--file=FILE[:TEMPLATE]
|
||||
instantiate the configuration file FILE
|
||||
|
||||
Configuration files:
|
||||
$config_files
|
||||
|
||||
Report bugs to <[email protected]>."
|
||||
|
||||
ac_cs_config="'CFLAGS=-g'"
|
||||
ac_cs_version="\
|
||||
netgen config.status 1.3
|
||||
configured by ./configure, generated by GNU Autoconf 2.69,
|
||||
with options \"$ac_cs_config\"
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
This config.status script is free software; the Free Software Foundation
|
||||
gives unlimited permission to copy, distribute and modify it."
|
||||
|
||||
ac_pwd='/home/tim/gitsrc/netgen-1.5/scripts'
|
||||
srcdir='..'
|
||||
INSTALL='/bin/install -c'
|
||||
test -n "$AWK" || AWK=awk
|
||||
# The default lists apply if the user does not specify any file.
|
||||
ac_need_defaults=:
|
||||
while test $# != 0
|
||||
do
|
||||
case $1 in
|
||||
--*=?*)
|
||||
ac_option=`expr "X$1" : 'X\([^=]*\)='`
|
||||
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
|
||||
ac_shift=:
|
||||
;;
|
||||
--*=)
|
||||
ac_option=`expr "X$1" : 'X\([^=]*\)='`
|
||||
ac_optarg=
|
||||
ac_shift=:
|
||||
;;
|
||||
*)
|
||||
ac_option=$1
|
||||
ac_optarg=$2
|
||||
ac_shift=shift
|
||||
;;
|
||||
esac
|
||||
|
||||
case $ac_option in
|
||||
# Handling of the options.
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
ac_cs_recheck=: ;;
|
||||
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
|
||||
$as_echo "$ac_cs_version"; exit ;;
|
||||
--config | --confi | --conf | --con | --co | --c )
|
||||
$as_echo "$ac_cs_config"; exit ;;
|
||||
--debug | --debu | --deb | --de | --d | -d )
|
||||
debug=: ;;
|
||||
--file | --fil | --fi | --f )
|
||||
$ac_shift
|
||||
case $ac_optarg in
|
||||
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
||||
'') as_fn_error $? "missing file argument" ;;
|
||||
esac
|
||||
as_fn_append CONFIG_FILES " '$ac_optarg'"
|
||||
ac_need_defaults=false;;
|
||||
--he | --h | --help | --hel | -h )
|
||||
$as_echo "$ac_cs_usage"; exit ;;
|
||||
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
|
||||
| -silent | --silent | --silen | --sile | --sil | --si | --s)
|
||||
ac_cs_silent=: ;;
|
||||
|
||||
# This is an error.
|
||||
-*) as_fn_error $? "unrecognized option: \`$1'
|
||||
Try \`$0 --help' for more information." ;;
|
||||
|
||||
*) as_fn_append ac_config_targets " $1"
|
||||
ac_need_defaults=false ;;
|
||||
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
ac_configure_extra_args=
|
||||
|
||||
if $ac_cs_silent; then
|
||||
exec 6>/dev/null
|
||||
ac_configure_extra_args="$ac_configure_extra_args --silent"
|
||||
fi
|
||||
|
||||
if $ac_cs_recheck; then
|
||||
set X /bin/sh './configure' 'CFLAGS=-g' $ac_configure_extra_args --no-create --no-recursion
|
||||
shift
|
||||
$as_echo "running CONFIG_SHELL=/bin/sh $*" >&6
|
||||
CONFIG_SHELL='/bin/sh'
|
||||
export CONFIG_SHELL
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
exec 5>>config.log
|
||||
{
|
||||
echo
|
||||
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
|
||||
## Running $as_me. ##
|
||||
_ASBOX
|
||||
$as_echo "$ac_log"
|
||||
} >&5
|
||||
|
||||
|
||||
# Handling of arguments.
|
||||
for ac_config_target in $ac_config_targets
|
||||
do
|
||||
case $ac_config_target in
|
||||
"defs.mak") CONFIG_FILES="$CONFIG_FILES defs.mak" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
# If the user did not use the arguments to specify the items to instantiate,
|
||||
# then the envvar interface is used. Set only those that are not.
|
||||
# We use the long form for the default assignment because of an extremely
|
||||
# bizarre bug on SunOS 4.1.3.
|
||||
if $ac_need_defaults; then
|
||||
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
|
||||
fi
|
||||
|
||||
# Have a temporary directory for convenience. Make it in the build tree
|
||||
# simply because there is no reason against having it here, and in addition,
|
||||
# creating and moving files from /tmp can sometimes cause problems.
|
||||
# Hook for its removal unless debugging.
|
||||
# Note that there is a small window in which the directory will not be cleaned:
|
||||
# after its creation but before its name has been assigned to `$tmp'.
|
||||
$debug ||
|
||||
{
|
||||
tmp= ac_tmp=
|
||||
trap 'exit_status=$?
|
||||
: "${ac_tmp:=$tmp}"
|
||||
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
|
||||
' 0
|
||||
trap 'as_fn_exit 1' 1 2 13 15
|
||||
}
|
||||
# Create a (secure) tmp directory for tmp files.
|
||||
|
||||
{
|
||||
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
|
||||
test -d "$tmp"
|
||||
} ||
|
||||
{
|
||||
tmp=./conf$$-$RANDOM
|
||||
(umask 077 && mkdir "$tmp")
|
||||
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
||||
ac_tmp=$tmp
|
||||
|
||||
# Set up the scripts for CONFIG_FILES section.
|
||||
# No need to generate them if there are no CONFIG_FILES.
|
||||
# This happens for instance with `./config.status config.h'.
|
||||
if test -n "$CONFIG_FILES"; then
|
||||
|
||||
|
||||
ac_cr=`echo X | tr X '\015'`
|
||||
# On cygwin, bash can eat \r inside `` if the user requested igncr.
|
||||
# But we know of no other shell where ac_cr would be empty at this
|
||||
# point, so we can use a bashism as a fallback.
|
||||
if test "x$ac_cr" = x; then
|
||||
eval ac_cr=\$\'\\r\'
|
||||
fi
|
||||
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
|
||||
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
|
||||
ac_cs_awk_cr='\\r'
|
||||
else
|
||||
ac_cs_awk_cr=$ac_cr
|
||||
fi
|
||||
|
||||
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
|
||||
cat >>"$ac_tmp/subs1.awk" <<\_ACAWK &&
|
||||
S["LTLIBOBJS"]=""
|
||||
S["LIBOBJS"]=""
|
||||
S["INSTALL_TARGET"]="install-tcl"
|
||||
S["ALL_TARGET"]="tcl"
|
||||
S["LD_RUN_PATH"]=""
|
||||
S["SHLIB_CFLAGS"]="-fPIC"
|
||||
S["DEPEND_FLAG"]="-MM"
|
||||
S["gr_srcs"]=" ${TK_SRCS}"
|
||||
S["gr_libs"]=" -lX11"
|
||||
S["gr_dflags"]=" -DX11 -DXLIB"
|
||||
S["gr_cflags"]=""
|
||||
S["cadinstall"]=" tcltk"
|
||||
S["programs"]=" tcltk"
|
||||
S["unused"]=""
|
||||
S["modules"]=" tcltk"
|
||||
S["sub_extra_libs"]=""
|
||||
S["top_extra_libs"]=""
|
||||
S["ld_extra_objs"]=""
|
||||
S["ld_extra_libs"]=""
|
||||
S["stub_defs"]=" -DUSE_TCL_STUBS -DUSE_TK_STUBS"
|
||||
S["extra_defs"]=" -DCAD_DIR=\\\"${LIBDIR}\\\" -DTCL_DIR=\\\"${TCLDIR}\\\""
|
||||
S["extra_libs"]=" ${NETGENDIR}/tcltk/libtcltk.o"
|
||||
S["SCRIPTS"]=""
|
||||
S["PACKAGE"]="netgen"
|
||||
S["VERSION"]=""
|
||||
S["TCL_LIB_DIR"]="/usr/lib"
|
||||
S["TCLSH_EXE"]="/usr/bin/tclsh"
|
||||
S["WISH_EXE"]="/usr/bin/wish"
|
||||
S["LIB_SPECS_NOSTUB"]=" -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6"
|
||||
S["LIB_SPECS"]=" -L/usr/lib64 -ltkstub8.6 -L/usr/lib64 -ltclstub8.6"
|
||||
S["INC_SPECS"]=""
|
||||
S["EXTRA_LIB_SPECS"]="-ldl"
|
||||
S["SHLIB_LIB_SPECS"]=""
|
||||
S["LDDL_FLAGS"]=" -shared -Wl,-soname,$@ -Wl,--version-script=${NETGENDIR}/netgen/symbol.map"
|
||||
S["LD"]="/bin/ld"
|
||||
S["SHLIB_LD"]=""
|
||||
S["SHDLIB_EXT"]=".so"
|
||||
S["X_EXTRA_LIBS"]=""
|
||||
S["X_LIBS"]=""
|
||||
S["X_PRE_LIBS"]=" -lSM -lICE"
|
||||
S["X_CFLAGS"]=""
|
||||
S["XMKMF"]=""
|
||||
S["HAVE_PYTHON3"]="yes"
|
||||
S["EGREP"]="/bin/grep -E"
|
||||
S["GREP"]="/bin/grep"
|
||||
S["M4"]="/bin/m4"
|
||||
S["RANLIB"]="ranlib"
|
||||
S["INSTALL_DATA"]="${INSTALL} -m 644"
|
||||
S["INSTALL_SCRIPT"]="${INSTALL}"
|
||||
S["INSTALL_PROGRAM"]="${INSTALL}"
|
||||
S["CPP"]="gcc -E -x c"
|
||||
S["OBJEXT"]="o"
|
||||
S["EXEEXT"]=""
|
||||
S["ac_ct_CC"]="gcc"
|
||||
S["CPPFLAGS"]=""
|
||||
S["LDFLAGS"]=""
|
||||
S["CFLAGS"]="-g -m64 -fPIC"
|
||||
S["CC"]="gcc"
|
||||
S["target_os"]="linux-gnu"
|
||||
S["target_vendor"]="unknown"
|
||||
S["target_cpu"]="x86_64"
|
||||
S["target"]="x86_64-unknown-linux-gnu"
|
||||
S["host_os"]="linux-gnu"
|
||||
S["host_vendor"]="unknown"
|
||||
S["host_cpu"]="x86_64"
|
||||
S["host"]="x86_64-unknown-linux-gnu"
|
||||
S["build_os"]="linux-gnu"
|
||||
S["build_vendor"]="unknown"
|
||||
S["build_cpu"]="x86_64"
|
||||
S["build"]="x86_64-unknown-linux-gnu"
|
||||
S["target_alias"]=""
|
||||
S["host_alias"]=""
|
||||
S["build_alias"]=""
|
||||
S["LIBS"]=""
|
||||
S["ECHO_T"]=""
|
||||
S["ECHO_N"]="-n"
|
||||
S["ECHO_C"]=""
|
||||
S["DEFS"]="-DPACKAGE_NAME=\\\"netgen\\\" -DPACKAGE_TARNAME=\\\"netgen\\\" -DPACKAGE_VERSION=\\\"1.3\\\" -DPACKAGE_STRING=\\\"netgen\\ 1.3\\\" -DPACKAGE_BUGREPORT=\\\"eda-dev@open"\
|
||||
"circuitdesign.com\\\" -DPACKAGE_URL=\\\"\\\" -DNETGEN_VERSION=\\\"1.5\\\" -DNETGEN_REVISION=\\\"112\\\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 "\
|
||||
"-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -"\
|
||||
"DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DH"\
|
||||
"AVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1"
|
||||
S["mandir"]="${datarootdir}/man"
|
||||
S["localedir"]="${datarootdir}/locale"
|
||||
S["libdir"]="${exec_prefix}/lib"
|
||||
S["psdir"]="${docdir}"
|
||||
S["pdfdir"]="${docdir}"
|
||||
S["dvidir"]="${docdir}"
|
||||
S["htmldir"]="${docdir}"
|
||||
S["infodir"]="${datarootdir}/info"
|
||||
S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}"
|
||||
S["oldincludedir"]="/usr/include"
|
||||
S["includedir"]="${prefix}/include"
|
||||
S["localstatedir"]="${prefix}/var"
|
||||
S["sharedstatedir"]="${prefix}/com"
|
||||
S["sysconfdir"]="${prefix}/etc"
|
||||
S["datadir"]="${datarootdir}"
|
||||
S["datarootdir"]="${prefix}/share"
|
||||
S["libexecdir"]="${exec_prefix}/libexec"
|
||||
S["sbindir"]="${exec_prefix}/sbin"
|
||||
S["bindir"]="${exec_prefix}/bin"
|
||||
S["program_transform_name"]="s,x,x,"
|
||||
S["prefix"]="/usr/local"
|
||||
S["exec_prefix"]="${prefix}"
|
||||
S["PACKAGE_URL"]=""
|
||||
S["PACKAGE_BUGREPORT"]="[email protected]"
|
||||
S["PACKAGE_STRING"]="netgen 1.3"
|
||||
S["PACKAGE_VERSION"]="1.3"
|
||||
S["PACKAGE_TARNAME"]="netgen"
|
||||
S["PACKAGE_NAME"]="netgen"
|
||||
S["PATH_SEPARATOR"]=":"
|
||||
S["SHELL"]="/bin/sh"
|
||||
_ACAWK
|
||||
cat >>"$ac_tmp/subs1.awk" <<_ACAWK &&
|
||||
for (key in S) S_is_set[key] = 1
|
||||
FS = ""
|
||||
|
||||
}
|
||||
{
|
||||
line = $ 0
|
||||
nfields = split(line, field, "@")
|
||||
substed = 0
|
||||
len = length(field[1])
|
||||
for (i = 2; i < nfields; i++) {
|
||||
key = field[i]
|
||||
keylen = length(key)
|
||||
if (S_is_set[key]) {
|
||||
value = S[key]
|
||||
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
|
||||
len += length(value) + length(field[++i])
|
||||
substed = 1
|
||||
} else
|
||||
len += 1 + keylen
|
||||
}
|
||||
|
||||
print line
|
||||
}
|
||||
|
||||
_ACAWK
|
||||
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
|
||||
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
|
||||
else
|
||||
cat
|
||||
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|
||||
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
||||
fi # test -n "$CONFIG_FILES"
|
||||
|
||||
|
||||
eval set X " :F $CONFIG_FILES "
|
||||
shift
|
||||
for ac_tag
|
||||
do
|
||||
case $ac_tag in
|
||||
:[FHLC]) ac_mode=$ac_tag; continue;;
|
||||
esac
|
||||
case $ac_mode$ac_tag in
|
||||
:[FHL]*:*);;
|
||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
|
||||
:[FH]-) ac_tag=-:-;;
|
||||
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
|
||||
esac
|
||||
ac_save_IFS=$IFS
|
||||
IFS=:
|
||||
set x $ac_tag
|
||||
IFS=$ac_save_IFS
|
||||
shift
|
||||
ac_file=$1
|
||||
shift
|
||||
|
||||
case $ac_mode in
|
||||
:L) ac_source=$1;;
|
||||
:[FH])
|
||||
ac_file_inputs=
|
||||
for ac_f
|
||||
do
|
||||
case $ac_f in
|
||||
-) ac_f="$ac_tmp/stdin";;
|
||||
*) # Look for the file first in the build tree, then in the source tree
|
||||
# (if the path is not absolute). The absolute path cannot be DOS-style,
|
||||
# because $ac_f cannot contain `:'.
|
||||
test -f "$ac_f" ||
|
||||
case $ac_f in
|
||||
[\\/$]*) false;;
|
||||
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
|
||||
esac ||
|
||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
|
||||
esac
|
||||
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
|
||||
as_fn_append ac_file_inputs " '$ac_f'"
|
||||
done
|
||||
|
||||
# Let's still pretend it is `configure' which instantiates (i.e., don't
|
||||
# use $as_me), people would be surprised to read:
|
||||
# /* config.h. Generated by config.status. */
|
||||
configure_input='Generated from '`
|
||||
$as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
|
||||
`' by configure.'
|
||||
if test x"$ac_file" != x-; then
|
||||
configure_input="$ac_file. $configure_input"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
|
||||
$as_echo "$as_me: creating $ac_file" >&6;}
|
||||
fi
|
||||
# Neutralize special characters interpreted by sed in replacement strings.
|
||||
case $configure_input in #(
|
||||
*\&* | *\|* | *\\* )
|
||||
ac_sed_conf_input=`$as_echo "$configure_input" |
|
||||
sed 's/[\\\\&|]/\\\\&/g'`;; #(
|
||||
*) ac_sed_conf_input=$configure_input;;
|
||||
esac
|
||||
|
||||
case $ac_tag in
|
||||
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
ac_dir=`$as_dirname -- "$ac_file" ||
|
||||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$ac_file" : 'X\(//\)[^/]' \| \
|
||||
X"$ac_file" : 'X\(//\)$' \| \
|
||||
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
$as_echo X"$ac_file" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'`
|
||||
as_dir="$ac_dir"; as_fn_mkdir_p
|
||||
ac_builddir=.
|
||||
|
||||
case "$ac_dir" in
|
||||
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
|
||||
*)
|
||||
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
|
||||
# A ".." for each directory in $ac_dir_suffix.
|
||||
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
|
||||
case $ac_top_builddir_sub in
|
||||
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
|
||||
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
|
||||
esac ;;
|
||||
esac
|
||||
ac_abs_top_builddir=$ac_pwd
|
||||
ac_abs_builddir=$ac_pwd$ac_dir_suffix
|
||||
# for backward compatibility:
|
||||
ac_top_builddir=$ac_top_build_prefix
|
||||
|
||||
case $srcdir in
|
||||
.) # We are building in place.
|
||||
ac_srcdir=.
|
||||
ac_top_srcdir=$ac_top_builddir_sub
|
||||
ac_abs_top_srcdir=$ac_pwd ;;
|
||||
[\\/]* | ?:[\\/]* ) # Absolute name.
|
||||
ac_srcdir=$srcdir$ac_dir_suffix;
|
||||
ac_top_srcdir=$srcdir
|
||||
ac_abs_top_srcdir=$srcdir ;;
|
||||
*) # Relative name.
|
||||
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
|
||||
ac_top_srcdir=$ac_top_build_prefix$srcdir
|
||||
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
|
||||
esac
|
||||
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
|
||||
|
||||
|
||||
case $ac_mode in
|
||||
:F)
|
||||
#
|
||||
# CONFIG_FILE
|
||||
#
|
||||
|
||||
case $INSTALL in
|
||||
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
|
||||
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
|
||||
esac
|
||||
# If the template does not know about datarootdir, expand it.
|
||||
# FIXME: This hack should be removed a few years after 2.60.
|
||||
ac_datarootdir_hack=; ac_datarootdir_seen=
|
||||
ac_sed_dataroot='
|
||||
/datarootdir/ {
|
||||
p
|
||||
q
|
||||
}
|
||||
/@datadir@/p
|
||||
/@docdir@/p
|
||||
/@infodir@/p
|
||||
/@localedir@/p
|
||||
/@mandir@/p'
|
||||
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
|
||||
*datarootdir*) ac_datarootdir_seen=yes;;
|
||||
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
|
||||
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
|
||||
ac_datarootdir_hack='
|
||||
s&@datadir@&${datarootdir}&g
|
||||
s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g
|
||||
s&@infodir@&${datarootdir}/info&g
|
||||
s&@localedir@&${datarootdir}/locale&g
|
||||
s&@mandir@&${datarootdir}/man&g
|
||||
s&\${datarootdir}&${prefix}/share&g' ;;
|
||||
esac
|
||||
ac_sed_extra="
|
||||
|
||||
:t
|
||||
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
|
||||
s|@configure_input@|$ac_sed_conf_input|;t t
|
||||
s&@top_builddir@&$ac_top_builddir_sub&;t t
|
||||
s&@top_build_prefix@&$ac_top_build_prefix&;t t
|
||||
s&@srcdir@&$ac_srcdir&;t t
|
||||
s&@abs_srcdir@&$ac_abs_srcdir&;t t
|
||||
s&@top_srcdir@&$ac_top_srcdir&;t t
|
||||
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
|
||||
s&@builddir@&$ac_builddir&;t t
|
||||
s&@abs_builddir@&$ac_abs_builddir&;t t
|
||||
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
|
||||
s&@INSTALL@&$ac_INSTALL&;t t
|
||||
$ac_datarootdir_hack
|
||||
"
|
||||
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
|
||||
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
|
||||
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
|
||||
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
|
||||
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
|
||||
"$ac_tmp/out"`; test -z "$ac_out"; } &&
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||
which seems to be undefined. Please make sure it is defined" >&5
|
||||
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||
which seems to be undefined. Please make sure it is defined" >&2;}
|
||||
|
||||
rm -f "$ac_tmp/stdin"
|
||||
case $ac_file in
|
||||
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
|
||||
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
|
||||
esac \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
;;
|
||||
|
||||
|
||||
|
||||
esac
|
||||
|
||||
done # for ac_tag
|
||||
|
||||
|
||||
as_fn_exit 0
|
||||
Vendored
+1
-1
@@ -6413,7 +6413,7 @@ fi
|
||||
# Not available on all versions: check for include file.
|
||||
SHLIB_CFLAGS="-fpic"
|
||||
LDDL_FLAGS="-shared ${LIB_SPECS}"
|
||||
CFLAGS="${CFLAGS} -l/usr/X11R6/include"
|
||||
CFLAGS="${CFLAGS} -L/usr/X11R6/include"
|
||||
;;
|
||||
|
||||
*-netbsd*|*-openbsd*)
|
||||
|
||||
@@ -1120,7 +1120,7 @@ if test $usingTcl ; then
|
||||
# Not available on all versions: check for include file.
|
||||
SHLIB_CFLAGS="-fpic"
|
||||
LDDL_FLAGS="-shared ${LIB_SPECS}"
|
||||
CFLAGS="${CFLAGS} -l/usr/X11R6/include"
|
||||
CFLAGS="${CFLAGS} -L/usr/X11R6/include"
|
||||
;;
|
||||
|
||||
*-netbsd*|*-openbsd*)
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
# defs.mak.in --
|
||||
# source file for autoconf-generated "defs.mak" for netgen
|
||||
|
||||
# defs.mak. Generated from defs.mak.in by configure.
|
||||
# Feel free to change the values in here to suit your needs.
|
||||
# Be aware that running scripts/configure again will overwrite
|
||||
# any changes!
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
prefix = ${BUILDROOT}/usr/local
|
||||
exec_prefix = ${prefix}
|
||||
bindir = ${exec_prefix}/bin
|
||||
libdir = ${exec_prefix}/lib
|
||||
mandir = ${prefix}/share/man
|
||||
|
||||
VERSION =
|
||||
|
||||
SCRIPTS = ${NETGENDIR}/scripts
|
||||
|
||||
INSTALL = /bin/install -c
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
|
||||
# Override standard "make" target when compiling under TCL
|
||||
ALL_TARGET = tcl
|
||||
INSTALL_TARGET = install-tcl
|
||||
|
||||
# Change CADDIR to install in a different place
|
||||
BINDIR = ${bindir}
|
||||
MANDIR = ${mandir}
|
||||
LIBDIR = ${libdir}
|
||||
DOCDIR = ${libdir}/netgen/doc
|
||||
TCLDIR = ${libdir}/netgen/tcl
|
||||
PYDIR = ${libdir}/netgen/python
|
||||
|
||||
MAIN_EXTRA_LIBS = ${NETGENDIR}/tcltk/libtcltk.o
|
||||
LD_EXTRA_LIBS =
|
||||
LD_SHARED =
|
||||
TOP_EXTRA_LIBS =
|
||||
SUB_EXTRA_LIBS =
|
||||
|
||||
MODULES += tcltk
|
||||
UNUSED_MODULES +=
|
||||
PROGRAMS += tcltk
|
||||
INSTALL_CAD_DIRS += tcltk
|
||||
|
||||
RM = rm -f
|
||||
CP = cp
|
||||
AR = @AR@
|
||||
ARFLAGS = crv
|
||||
LINK = /bin/ld -r
|
||||
LD = /bin/ld
|
||||
M4 = /bin/m4
|
||||
RANLIB = ranlib
|
||||
SHDLIB_EXT = .so
|
||||
LDDL_FLAGS = -shared -Wl,-soname,$@ -Wl,--version-script=${NETGENDIR}/netgen/symbol.map
|
||||
LD_RUN_PATH =
|
||||
LIB_SPECS = -L/usr/lib64 -ltkstub8.6 -L/usr/lib64 -ltclstub8.6
|
||||
LIB_SPECS_NOSTUB = -L/usr/lib64 -ltk8.6 -L/usr/lib64 -ltcl8.6
|
||||
WISH_EXE = /usr/bin/wish
|
||||
TCL_LIB_DIR = /usr/lib
|
||||
|
||||
CC = gcc
|
||||
CPP = gcc -E -x c
|
||||
CXX = @CXX@
|
||||
|
||||
CPPFLAGS = -I. -I${NETGENDIR}
|
||||
DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DUSE_TCL_STUBS -DUSE_TK_STUBS -DPACKAGE_NAME=\"netgen\" -DPACKAGE_TARNAME=\"netgen\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"netgen\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DNETGEN_VERSION=\"1.5\" -DNETGEN_REVISION=\"112\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DSHDLIB_EXT=\".so\" -DNDEBUG
|
||||
DFLAGS_NOSTUB = -DCAD_DIR=\"${LIBDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"netgen\" -DPACKAGE_TARNAME=\"netgen\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"netgen\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DNETGEN_VERSION=\"1.5\" -DNETGEN_REVISION=\"112\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=8 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=8 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DDBUG_OFF=1 -DTCL_NETGEN=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DSHDLIB_EXT=\".so\" -DNDEBUG
|
||||
CFLAGS = -g -m64 -fPIC -fPIC
|
||||
|
||||
DEPEND_FILE = Depend
|
||||
DEPEND_FLAG = -MM
|
||||
EXEEXT =
|
||||
|
||||
GR_CFLAGS =
|
||||
GR_DFLAGS = -DX11 -DXLIB -DNDEBUG
|
||||
GR_LIBS = -lX11
|
||||
GR_SRCS = ${TK_SRCS}
|
||||
|
||||
OBJS = ${SRCS:.c=.o}
|
||||
LIB_OBJS = ${LIB_SRCS:.c=.o}
|
||||
CLEANS = ${OBJS} ${LIB_OBJS} lib${MODULE}.a lib${MODULE}.o ${MODULE}
|
||||
-187
@@ -1,187 +0,0 @@
|
||||
#!/bin/csh -f
|
||||
#
|
||||
# makes the "database.h" (1st argument, $1) file from "database.h.in"
|
||||
# (2nd argument, $2), setting various mask operation definitions
|
||||
# according to the number of words implied by the value of TT_MAXTYPES
|
||||
|
||||
# The following mess grabs the value of TT_MAXTYPES from database.h.in
|
||||
#
|
||||
set maxtypes=`sed -n -e '/^#define[[:space:]]*TT_MAXTYPES/s/#define[[:space:]]*TT_MAXTYPES[[:space:]]*//p' < $1 | sed -e 's/\/\*[[:print:]]*\*\/[[:space:]]*//g' `
|
||||
#
|
||||
# Alternative method works with outdated versions of sed/ed.
|
||||
#
|
||||
if ($maxtypes == "") then
|
||||
set maxtypes=`sed -n -e '/^#define[ ]*TT_MAXTYPES/s/#define[ ]*TT_MAXTYPES[ ]*//p' < $1 | sed -e 's/\/\*.*\*\/[ ]*//g' `
|
||||
endif
|
||||
#
|
||||
# If we can't generate database.h correctly, nothing is going to compile.
|
||||
#
|
||||
if ($maxtypes == "") then
|
||||
echo "Bad sed script in scripts/makedbh: Cannot generate database/database.h!"
|
||||
exit
|
||||
endif
|
||||
|
||||
# Find derived values from bits per word
|
||||
# Note that bits-per-word should be determined from the compiler, but
|
||||
# 32 bits per word has always been hardwired into magic.
|
||||
#
|
||||
set bpw = 32
|
||||
|
||||
# @ wordmask=$bpw - 1
|
||||
# set wordshift=`echo "c=l($bpw); d=l(2); scale=0; c/d" | bc -l`
|
||||
# @ maskwords=$maxtypes + $bpw - 1
|
||||
# @ maskwords/=$bpw
|
||||
|
||||
@ maskwords=$maxtypes + $bpw - 1
|
||||
@ maskwords/=$bpw
|
||||
|
||||
|
||||
# Generate the main part of the database.h file from database.h.in
|
||||
cat $1 > $2
|
||||
|
||||
# Generate a list of integers from 0 to the value of "maskwords" - 1
|
||||
set count=""
|
||||
@ maskwords--
|
||||
while (${maskwords} >= 0)
|
||||
set count=`echo ${count} ${maskwords}`
|
||||
@ maskwords--
|
||||
end
|
||||
|
||||
# Definitions
|
||||
|
||||
echo "#define TTMaskZero(m) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " (m)->tt_words[$i] = 0" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskIsZero(m) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " (m)->tt_words[$i] == 0" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo " && \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskEqual(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " (m)->tt_words[$i] == (n)->tt_words[$i]" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo " && \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskIntersect(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] & (n)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo " || \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskCom(m) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] = ~(m)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskCom2(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] = ~(n)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskSetMask(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] |= (n)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskSetMask3(m, n, o) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] |= (n)->tt_words[$i] | (o)->tt_words[$i])" \
|
||||
>> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskAndMask(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] &= (n)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskAndMask3(m, n, o) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] = (n)->tt_words[$i] & (o)->tt_words[$i])" \
|
||||
>> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskClearMask(m, n) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] &= ~(n)->tt_words[$i])" >> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
echo "" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "#define TTMaskClearMask3(m, n, o) ( \" >> $2
|
||||
foreach i (${count})
|
||||
echo -n " ((m)->tt_words[$i] = (n)->tt_words[$i] & ~(o)->tt_words[$i])" \
|
||||
>> $2
|
||||
if ($i == 0) then
|
||||
echo ")" >> $2
|
||||
else
|
||||
echo ", \" >> $2
|
||||
endif
|
||||
end
|
||||
|
||||
echo "" >> $2
|
||||
echo "#endif /* _DATABASE_H */" >> $2
|
||||
+2
-2
@@ -3811,8 +3811,8 @@ _netcmp_permute(ClientData clientData,
|
||||
if (PermuteForget(tp->name, fnum, NULL, NULL))
|
||||
Fprintf(stdout, "No permutations on circuit %s\n", tp->name);
|
||||
else
|
||||
Fprintf(stderr, "Unable to reset model %s pin permutation %s, %s.\n",
|
||||
tp->name, pin1, pin2);
|
||||
Fprintf(stderr, "Unable to reset model %s pin permutations.\n",
|
||||
tp->name);
|
||||
}
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
+10
-10
@@ -741,9 +741,9 @@ proc ::tkcon::EvalCmd {w cmd} {
|
||||
set tag [UniqueTag $w]
|
||||
$w insert output $res [list stderr $tag] \n stderr
|
||||
$w tag bind $tag <Enter> \
|
||||
[list $w tag configure $tag -under 1]
|
||||
[list $w tag configure $tag -underline 1]
|
||||
$w tag bind $tag <Leave> \
|
||||
[list $w tag configure $tag -under 0]
|
||||
[list $w tag configure $tag -underline 0]
|
||||
$w tag bind $tag <ButtonRelease-1> \
|
||||
"if {!\[info exists tkPriv(mouseMoved)\] || !\$tkPriv(mouseMoved)} \
|
||||
{[list edit -attach [Attach] -type error -- $PRIV(errorInfo)]}"
|
||||
@@ -2472,8 +2472,8 @@ proc ::tkcon::ErrorHighlight w {
|
||||
set tag [UniqueTag $w]
|
||||
$w tag add $tag $start+${c0}c $start+1c+${c1}c
|
||||
$w tag configure $tag -foreground $COLOR(stdout)
|
||||
$w tag bind $tag <Enter> [list $w tag configure $tag -under 1]
|
||||
$w tag bind $tag <Leave> [list $w tag configure $tag -under 0]
|
||||
$w tag bind $tag <Enter> [list $w tag configure $tag -underline 1]
|
||||
$w tag bind $tag <Leave> [list $w tag configure $tag -underline 0]
|
||||
$w tag bind $tag <ButtonRelease-1> "if {!\$tkPriv(mouseMoved)} \
|
||||
{[list edit -attach $app -type proc -find $what -- $cmd]}"
|
||||
}
|
||||
@@ -2501,8 +2501,8 @@ proc ::tkcon::ErrorHighlight w {
|
||||
set tag [UniqueTag $w]
|
||||
$w tag add $tag $ix+1c $start
|
||||
$w tag configure $tag -foreground $COLOR(proc)
|
||||
$w tag bind $tag <Enter> [list $w tag configure $tag -under 1]
|
||||
$w tag bind $tag <Leave> [list $w tag configure $tag -under 0]
|
||||
$w tag bind $tag <Enter> [list $w tag configure $tag -underline 1]
|
||||
$w tag bind $tag <Leave> [list $w tag configure $tag -underline 0]
|
||||
$w tag bind $tag <ButtonRelease-1> "if {!\$tkPriv(mouseMoved)} \
|
||||
{[list edit -attach $app -type proc -- $cmd]}"
|
||||
}
|
||||
@@ -2954,14 +2954,14 @@ proc edit {args} {
|
||||
##
|
||||
set text $w.text
|
||||
set m [menu [::tkcon::MenuButton $menu Edit edit]]
|
||||
$m add command -label "Cut" -under 2 \
|
||||
$m add command -label "Cut" -underline 2 \
|
||||
-command [list tk_textCut $text]
|
||||
$m add command -label "Copy" -under 0 \
|
||||
$m add command -label "Copy" -underline 0 \
|
||||
-command [list tk_textCopy $text]
|
||||
$m add command -label "Paste" -under 0 \
|
||||
$m add command -label "Paste" -underline 0 \
|
||||
-command [list tk_textPaste $text]
|
||||
$m add separator
|
||||
$m add command -label "Find" -under 0 \
|
||||
$m add command -label "Find" -underline 0 \
|
||||
-command [list ::tkcon::FindBox $text]
|
||||
|
||||
## Send To Menu
|
||||
|
||||
Reference in New Issue
Block a user