Revision: 75463
          http://sourceforge.net/p/brlcad/code/75463
Author:   starseeker
Date:     2020-04-18 13:21:34 +0000 (Sat, 18 Apr 2020)
Log Message:
-----------
Merge changes from trunk through r75462

Modified Paths:
--------------
    brlcad/branches/dm-fb-merge/CHANGES
    brlcad/branches/dm-fb-merge/TODO
    brlcad/branches/dm-fb-merge/src/conv/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/librt/cache.c
    brlcad/branches/dm-fb-merge/src/libtermio/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libtermio/termcap.c
    brlcad/branches/dm-fb-merge/src/libtermio/tgoto.c
    brlcad/branches/dm-fb-merge/src/other/tcl/CMakeLists.txt

Removed Paths:
-------------
    brlcad/branches/dm-fb-merge/src/conv/proe-g.c

Property Changed:
----------------
    brlcad/branches/dm-fb-merge/
    brlcad/branches/dm-fb-merge/CHANGES
    brlcad/branches/dm-fb-merge/src/other/

Index: brlcad/branches/dm-fb-merge
===================================================================
--- brlcad/branches/dm-fb-merge 2020-04-18 13:15:56 UTC (rev 75462)
+++ brlcad/branches/dm-fb-merge 2020-04-18 13:21:34 UTC (rev 75463)

Property changes on: brlcad/branches/dm-fb-merge
___________________________________________________________________
Modified: svn:mergeinfo
## -6,4 +6,5 ##
 /brlcad/branches/opencl:65867-66137
 /brlcad/branches/osg:62110-62113
 /brlcad/branches/prep-cache:68236-68933
-/brlcad/branches/tcltk86:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86:68300-75257
+/brlcad/trunk:75440-75462
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/CHANGES
===================================================================
--- brlcad/branches/dm-fb-merge/CHANGES 2020-04-18 13:15:56 UTC (rev 75462)
+++ brlcad/branches/dm-fb-merge/CHANGES 2020-04-18 13:21:34 UTC (rev 75463)
@@ -1525,3 +1525,5 @@
 s/wdb_metaballpt/wdb_metaball_pnt/g
 s/wdb_pipept/wdb_pipe_pnt/g
         renamed points from pt to pnt for consistency [7.30]
+s/proe-brl/creo-brl/g
+        replaced by newer creo plugin [7.30]


Property changes on: brlcad/branches/dm-fb-merge/CHANGES
___________________________________________________________________
Modified: svn:mergeinfo
## -1,2 +1,3 ##
 
/brlcad/branches/RELEASE/CHANGES:70323-70333,71915-72242,72525-72534,72826-72858,74376-74454,74964-75140
-/brlcad/branches/brep-debug/CHANGES:69168,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
\ No newline at end of property
+/brlcad/branches/brep-debug/CHANGES:69168,69927,69995-69996,70148-70149,70347-70349,70377,70526-70527,71006-71007,71009-71022,71046-71047,71049,71096-71100
+/brlcad/trunk/CHANGES:75440-75462
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/TODO
===================================================================
--- brlcad/branches/dm-fb-merge/TODO    2020-04-18 13:15:56 UTC (rev 75462)
+++ brlcad/branches/dm-fb-merge/TODO    2020-04-18 13:21:34 UTC (rev 75463)
@@ -18,6 +18,10 @@
 THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
 -------------------------------------------------
 
+* The embedded framebuffer for the X display manager is not working
+  with Tcl/Tk 8.6 - it brings down mged with an Xerror when it tries
+  to XFlush after X24_blit.
+
 THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
 -------------------------------------------------------
 

Modified: brlcad/branches/dm-fb-merge/src/conv/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/CMakeLists.txt 2020-04-18 13:15:56 UTC 
(rev 75462)
+++ brlcad/branches/dm-fb-merge/src/conv/CMakeLists.txt 2020-04-18 13:21:34 UTC 
(rev 75463)
@@ -121,8 +121,6 @@
 
 BRLCAD_ADDEXEC(nastran-g nastran-g.c "libwdb;librt;libnmg;libbu;${M_LIBRARY}")
 
-BRLCAD_ADDEXEC(proe-g proe-g.c "libwdb;librt;libbu;${M_LIBRARY}")
-
 BRLCAD_ADDEXEC(shp-g 
"shp/shp-g.c;shp/shapelib/safileio.c;shp/shapelib/shpopen.c" 
"libwdb;librt;libbu")
 
 BRLCAD_ADDEXEC(g-shell-rect g-shell-rect.c 
"libwdb;librt;libnmg;libbu;${M_LIBRARY}")

Deleted: brlcad/branches/dm-fb-merge/src/conv/proe-g.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/conv/proe-g.c       2020-04-18 13:15:56 UTC 
(rev 75462)
+++ brlcad/branches/dm-fb-merge/src/conv/proe-g.c       2020-04-18 13:21:34 UTC 
(rev 75463)
@@ -1,1160 +0,0 @@
-/*                        P R O E - G . C
- * BRL-CAD
- *
- * Copyright (c) 1994-2020 United States Government as represented by
- * the U.S. Army Research Laboratory.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this file; see the file named COPYING for more
- * information.
- *
- */
-/** @file conv/proe-g.c
- *
- * Code to convert ascii output from Pro/Engineer to BRL-CAD
- * The required output is from the Pro/Develop application proe-brl
- * that must be initiated from the "BRL-CAD" option of Pro/Engineer's
- * "EXPORT" menu.
- *
- */
-
-#include "common.h"
-
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
-#include <ctype.h>
-
-#ifdef __restrict
-#  undef __restrict
-#endif
-#define __restrict /* quell gcc 4.1.2 system regex.h -pedantic-errors */
-#include <regex.h>
-
-#include <errno.h>
-#include "bio.h"
-
-#include "vmath.h"
-#include "bu/app.h"
-#include "bu/getopt.h"
-#include "bu/units.h"
-#include "nmg.h"
-#include "rt/geom.h"
-#include "raytrace.h"
-#include "wdb.h"
-
-
-static struct wmember all_head;
-static char *input_file;       /* name of the input file */
-static char *brlcad_file;      /* name of output file */
-static struct bu_vls ret_name = BU_VLS_INIT_ZERO;      /* unique name built by 
Build_unique_name() */
-static char *forced_name=NULL; /* name specified on command line */
-static int stl_format=0;       /* Flag, non-zero indicates raw 
Stereolithography format input */
-static int solid_count=0;      /* count of solids converted */
-static struct bn_tol tol;      /* Tolerance structure */
-static int id_no=1000;         /* Ident numbers */
-static int const_id=-1;                /* Constant ident number (assigned to 
all regions if non-negative) */
-static int mat_code=1;         /* default material code */
-static int air_no=1;           /* Air numbers */
-static int debug=0;            /* Debug flag */
-static int cut_count=0;                /* count of assembly cut HAF solids 
created */
-static int do_regex=0;         /* flag to indicate if 'u' option is in effect 
*/
-static regex_t reg_cmp;                /* compiled regular expression */
-static FILE *fd_in;            /* input file (from Pro/E) */
-static struct rt_wdb *fd_out;  /* Resulting BRL-CAD file */
-static struct bu_ptbl null_parts; /* Table of NULL solids */
-static float conv_factor=1.0;  /* conversion factor from model units to mm */
-static int top_level=1;                /* flag to catch top level assembly or 
part */
-static mat_t re_orient;                /* rotation matrix to put model in 
BRL-CAD orientation
-                                * (+x towards front +z is up) */
-static int do_air=0;           /* When set, all regions are BRL-CAD "air" 
regions */
-static int do_reorient=1;      /* When set, reorient entire model to BRL-CAD 
style */
-static unsigned int obj_count=0; /* Count of parts converted for "stl-g" 
conversions */
-static int *bot_faces=NULL;     /* array of ints (indices into 
vert_tree_root->the_array array) three per face */
-static int bot_fsize=0;                /* current size of the bot_faces array 
*/
-static int bot_fcurr=0;                /* current bot face */
-static struct bn_vert_tree *vert_tree; /* binary search tree for vertices */
-
-/* Size of blocks of faces to malloc */
-#define BOT_FBLOCK 128
-
-struct render_verts
-{
-    point_t pt;
-    struct vertex *v;
-};
-
-
-struct name_conv_list
-{
-    char *brlcad_name;
-    char *solid_name;
-    char *name;
-    unsigned int obj;
-    int solid_use_no;
-    int comb_use_no;
-    struct name_conv_list *next;
-} *name_root=(struct name_conv_list *)NULL;
-
-struct ptc_plane
-{
-    double e1[3], e2[3], e3[3], origin[3];
-};
-
-
-struct ptc_cylinder
-{
-    double e1[3], e2[3], e3[3], origin[3];
-    double radius;
-};
-
-
-union ptc_surf
-{
-    struct ptc_plane plane;
-    struct ptc_cylinder cylinder;
-};
-
-
-struct ptc_surf_list
-{
-    struct bu_list l;
-    int type;
-    union ptc_surf surf;
-} *surf_root=(struct ptc_surf_list *)NULL;
-
-/* for type in struct ptc_plane and struct ptc_cylinder */
-#define SURF_PLANE 1
-#define SURF_CYLINDER 2
-
-#define MAX_LINE_SIZE 512
-
-#define UNKNOWN_TYPE 0
-#define ASSEMBLY_TYPE 1
-#define PART_TYPE 2
-#define CUT_SOLID_TYPE 3
-
-char *
-Build_unique_name(char *name)
-{
-    struct name_conv_list *ptr;
-    size_t name_len;
-    size_t tries=0;
-
-    name_len = strlen(name);
-    bu_vls_strcpy(&ret_name, name);
-    ptr = name_root;
-    while (ptr) {
-       if (BU_STR_EQUAL(bu_vls_addr(&ret_name), ptr->brlcad_name) ||
-           (ptr->solid_name && BU_STR_EQUAL(bu_vls_addr(&ret_name), 
ptr->solid_name))) {
-           /* this name already exists, build a new one */
-           ++tries;
-           bu_vls_trunc(&ret_name, name_len);
-           bu_vls_printf(&ret_name, "_%ld", (long)tries);
-
-           ptr = name_root;
-       }
-
-       ptr = ptr->next;
-    }
-
-    return bu_vls_addr(&ret_name);
-}
-
-
-static struct name_conv_list *
-Add_new_name(char *name, unsigned int obj, int type)
-{
-    struct name_conv_list *ptr;
-
-    if (debug)
-       bu_log("Add_new_name(%s, x%x, %d)\n", name, obj, type);
-
-    if (type != ASSEMBLY_TYPE && type != PART_TYPE && type != CUT_SOLID_TYPE) {
-       bu_exit(EXIT_FAILURE, "Bad type for name (%s) in Add_new_name\n", name);
-    }
-
-
-    /* Add a new name */
-    BU_ALLOC(ptr, struct name_conv_list);
-    ptr->next = (struct name_conv_list *)NULL;
-    ptr->brlcad_name = bu_strdup(name);
-    ptr->obj = obj;
-    if (do_regex && type != CUT_SOLID_TYPE) {
-       regmatch_t pmatch;
-
-       if (regexec(&reg_cmp, ptr->brlcad_name, 1, &pmatch, 0) == 0) {
-           /* got a match */
-           bu_strlcpy(&ptr->brlcad_name[pmatch.rm_so], 
&ptr->brlcad_name[pmatch.rm_eo], MAX_LINE_SIZE);
-       }
-       if (debug)
-           bu_log("\tafter reg_ex, name is %s\n", ptr->brlcad_name);
-    } else if (type == CUT_SOLID_TYPE) {
-       bu_free((char *)ptr->brlcad_name, "brlcad_name");
-       ptr->brlcad_name = NULL;
-    }
-    ptr->solid_use_no = 0;
-    ptr->comb_use_no = 0;
-
-    if (type != CUT_SOLID_TYPE) {
-       /* make sure brlcad_name is unique */
-       char *tmp;
-
-       tmp = ptr->brlcad_name;
-       ptr->brlcad_name = bu_strdup(Build_unique_name(ptr->brlcad_name));
-       bu_free((char *)tmp, "brlcad_name");
-    }
-
-    if (type == ASSEMBLY_TYPE) {
-       ptr->solid_name = NULL;
-       return ptr;
-    } else if (type == PART_TYPE) {
-       struct bu_vls vls = BU_VLS_INIT_ZERO;
-
-       bu_vls_strcpy(&vls, "s.");
-       bu_vls_strcat(&vls, ptr->brlcad_name);
-
-       ptr->solid_name = bu_vls_strgrab(&vls);
-    } else {
-       struct bu_vls vls = BU_VLS_INIT_ZERO;
-
-       bu_vls_strcpy(&vls, "s.");
-       bu_vls_strcat(&vls, ptr->brlcad_name);
-
-       ptr->solid_name = bu_vls_strgrab(&vls);
-    }
-
-    /* make sure solid name is unique */
-    ptr->solid_name = bu_strdup(Build_unique_name(ptr->solid_name));
-    return ptr;
-}
-
-
-static char *
-Get_unique_name(char *name, unsigned int obj, int type)
-{
-    struct name_conv_list *ptr, *prev;
-
-    if (name_root == (struct name_conv_list *)NULL) {
-       /* start new list */
-       name_root = Add_new_name(name, obj, type);
-       ptr = name_root;
-    } else {
-       int found=0;
-
-       prev = (struct name_conv_list *)NULL;
-       ptr = name_root;
-       while (ptr && !found) {
-           if (obj == ptr->obj)
-               found = 1;
-           else {
-               prev = ptr;
-               ptr = ptr->next;
-           }
-       }
-
-       if (!found) {
-           prev->next = Add_new_name(name, obj, type);
-           ptr = prev->next;
-       }
-    }
-
-    return ptr->brlcad_name;
-}
-
-
-static char *
-Get_solid_name(char *name, unsigned int obj)
-{
-    struct name_conv_list *ptr;
-
-    ptr = name_root;
-
-    while (ptr && obj != ptr->obj)
-       ptr = ptr->next;
-
-    if (!ptr)
-       ptr = Add_new_name(name, 0, PART_TYPE);
-
-    return ptr->solid_name;
-}
-
-
-static void
-Convert_assy(char *line)
-{
-    struct wmember head;
-    struct wmember *wmem = NULL;
-    char line1[MAX_LINE_SIZE];
-    char name[MAX_LINE_SIZE];
-    unsigned int obj;
-    char memb_name[MAX_LINE_SIZE];
-    unsigned int memb_obj;
-    char *brlcad_name = NULL;
-    float mat_col[4];
-    float junk;
-    int start;
-    int i;
-
-    BU_LIST_INIT(&head.l);
-
-    start = (-1);
-    /* skip leading blanks */
-    while (isspace((int)line[++start]) && line[start] != '\0');
-    if (bu_strncmp(&line[start], "assembly", 8) && bu_strncmp(&line[start], 
"ASSEMBLY", 8)) {
-       bu_log("PROE-G: Convert_assy called for non-assembly:\n%s\n", line);
-       return;
-    }
-
-    /* skip blanks before name */
-    start += 7;
-    while (isspace((int)line[++start]) && line[start] != '\0');
-
-    /* get name */
-    i = (-1);
-    start--;
-    while (!isspace((int)line[++start]) && line[start] != '\0' && line[start] 
!= '\n')
-       name[++i] = line[start];
-    name[++i] = '\0';
-
-    /* get object pointer */
-    sscanf(&line[start], "%x %f", &obj, &junk);
-
-    bu_log("Converting Assembly: %s\n", name);
-
-    if (debug)
-       bu_log("Convert_assy: %s x%x\n", name, obj);
-
-    while (bu_fgets(line1, MAX_LINE_SIZE, fd_in)) {
-       /* skip leading blanks */
-       start = (-1);
-       while (isspace((int)line1[++start]) && line[start] != '\0');
-
-       if (!bu_strncmp(&line1[start], "endassembly", 11) || 
!bu_strncmp(&line1[start], "ENDASSEMBLY", 11)) {
-
-           brlcad_name = Get_unique_name(name, obj, ASSEMBLY_TYPE);
-           if (debug) {
-               struct wmember *wp;
-
-               bu_log("\tmake assembly (%s)\n", brlcad_name);
-               for (BU_LIST_FOR (wp, wmember, &head.l))
-                   bu_log("\t%c %s\n", wp->wm_op, wp->wm_name);
-           } else {
-               bu_log("\tUsing name: %s\n", brlcad_name);
-           }
-
-           mk_lcomb(fd_out, brlcad_name, &head, 0 ,
-                    (char *)NULL, (char *)NULL, (unsigned char *)NULL, 0);
-           break;
-       } else if (!bu_strncmp(&line1[start], "member", 6) || 
!bu_strncmp(&line1[start], "MEMBER", 6)) {
-           start += 5;
-           while (isspace((int)line1[++start]) && line1[start] != '\0');
-           i = (-1);
-           start--;
-           while (!isspace((int)line1[++start]) && line1[start] != '\0' && 
line1[start] != '\n')
-               memb_name[++i] = line1[start];
-           memb_name[++i] = '\0';
-
-
-           sscanf(&line1[start], "%x", &memb_obj);
-
-           brlcad_name = Get_unique_name(memb_name, memb_obj, PART_TYPE);
-           if (debug)
-               bu_log("\tmember (%s)\n", brlcad_name);
-           wmem = mk_addmember(brlcad_name, &head.l, NULL, WMOP_UNION);
-       } else if (!bu_strncmp(&line1[start], "matrix", 6) || 
!bu_strncmp(&line1[start], "MATRIX", 6)) {
-           if (wmem) {
-               size_t j;
-               double scale, inv_scale;
-
-               for (j=0; j<4; j++) {
-                   bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-                   sscanf(line1, "%f %f %f %f", &mat_col[0], &mat_col[1], 
&mat_col[2], &mat_col[3]);
-                   for (i=0; i<4; i++)
-                       wmem->wm_mat[4*i+j] = mat_col[i];
-               }
-
-               scale = pow(bn_mat_det3(wmem->wm_mat), 1.0/3.0);
-               if (debug) {
-                   bn_mat_print(brlcad_name, wmem->wm_mat);
-                   bu_log("\tscale = %g, conv_factor = %g\n", scale, 
conv_factor);
-               }
-               if (!ZERO(scale - 1.0)) {
-                   inv_scale = 1.0/scale;
-                   for (j=0; j<3; j++)
-                       HSCALE(&wmem->wm_mat[j*4], &wmem->wm_mat[j*4], 
inv_scale);
-
-                   /* clamp rotation elements to fabs(1.0) */
-                   for (j=0; j<3; j++) {
-                       for (i=0; i<3; i++) {
-                           if (wmem->wm_mat[j*4 + i] > 1.0)
-                               wmem->wm_mat[j*4 + i] = 1.0;
-                           else if (wmem->wm_mat[j*4 + i] < -1.0)
-                               wmem->wm_mat[j*4 + i] = -1.0;
-                       }
-                   }
-
-                   if (top_level)
-                       wmem->wm_mat[15] *= (inv_scale/conv_factor);
-                   else
-                       wmem->wm_mat[15] *= inv_scale;
-               } else if (top_level)
-                   wmem->wm_mat[15] /= conv_factor;
-
-               if (top_level && do_reorient) {
-                   /* apply re_orient transformation here */
-                   if (debug) {
-                       bu_log("Applying re-orient matrix to member %s\n", 
brlcad_name);
-                       bn_mat_print("re-orient matrix", re_orient);
-                   }
-                   bn_mat_mul2(re_orient, wmem->wm_mat);
-               }
-               if (debug)
-                   bn_mat_print("final matrix", wmem->wm_mat);
-           } else {
-               bu_log("Matrix present before wmem is initialized! (%s)\n", 
brlcad_name);
-           }
-       } else {
-           bu_log("Unrecognized line in assembly (%s)\n%s\n", name, line1);
-       }
-    }
-
-    top_level = 0;
-}
-
-
-static void
-do_modifiers(char *line1, int *start, struct wmember *head, char *name, 
fastf_t *min, fastf_t *max)
-{
-    struct wmember *wmem;
-    int i;
-
-    while (bu_strncmp(&line1[*start], "endmodifiers", 12) && 
bu_strncmp(&line1[*start], "ENDMODIFIERS", 12)) {
-       if (!bu_strncmp(&line1[*start], "plane", 5) || 
!bu_strncmp(&line1[*start], "PLANE", 5)) {
-           struct name_conv_list *ptr;
-           char haf_name[MAX_LINE_SIZE];
-           fastf_t dist;
-           fastf_t tmp_dist;
-           point_t origin;
-           plane_t plane;
-           vect_t e1, e2;
-           double u_min, u_max, v_min, v_max;
-           double x, y, z;
-           int orient;
-           point_t arb_pt[8];
-           point_t rpp_corner;
-
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf %lf", &x, &y, &z);
-           VSET(origin, x, y, z);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf %lf", &x, &y, &z);
-           VSET(e1, x, y, z);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf %lf", &x, &y, &z);
-           VSET(e2, x, y, z);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf %lf", &x, &y, &z);
-           VSET(plane, x, y, z);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf", &u_min, &v_min);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%lf %lf", &u_max, &v_max);
-           bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-           sscanf(line1, "%d", &orient);
-
-           plane[H] = VDOT(plane, origin);
-
-           VJOIN2(arb_pt[0], origin, u_min, e1, v_min, e2);
-           VJOIN2(arb_pt[1], origin, u_max, e1, v_min, e2);
-           VJOIN2(arb_pt[2], origin, u_max, e1, v_max, e2);
-           VJOIN2(arb_pt[3], origin, u_min, e1, v_max, e2);
-
-           /* find max distance to corner of enclosing RPP */
-           dist = 0.0;
-           VSET(rpp_corner, min[X], min[Y], min[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, min[X], min[Y], max[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, min[X], max[Y], min[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, min[X], max[Y], max[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, max[X], min[Y], min[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, max[X], min[Y], max[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, max[X], max[Y], min[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           VSET(rpp_corner, max[X], max[Y], max[Z]);
-           tmp_dist = DIST_PNT_PLANE(rpp_corner, plane) * (fastf_t)orient;
-           V_MAX(dist, tmp_dist);
-
-           for (i=0; i<4; i++) {
-               VJOIN1(arb_pt[i+4], arb_pt[i], dist*(fastf_t)orient, plane);
-           }
-
-           if (top_level) {
-               for (i=0; i<8; i++) {
-                   VSCALE(arb_pt[i], arb_pt[i], conv_factor);
-               }
-           }
-
-           cut_count++;
-
-           snprintf(haf_name, MAX_LINE_SIZE, "cut.%d", cut_count);
-           ptr = Add_new_name(haf_name, 0, CUT_SOLID_TYPE);
-           if (mk_arb8(fd_out, ptr->solid_name, (fastf_t *)arb_pt))
-               bu_log("Failed to create ARB8 solid for Assembly cut in part 
%s\n", name);
-           else {
-               /* Add this cut to the region */
-               wmem = mk_addmember(ptr->solid_name, &(head->l), NULL,
-                                   WMOP_SUBTRACT);
-
-               if (top_level && do_reorient) {
-                   /* apply re_orient transformation here */
-                   if (debug) {
-                       bu_log("Applying re-orient matrix to solid %s\n", 
ptr->solid_name);
-                       bn_mat_print("re-orient matrix", re_orient);
-                   }
-                   bn_mat_mul2(re_orient, wmem->wm_mat);
-               }
-
-           }
-       }
-       bu_fgets(line1, MAX_LINE_SIZE, fd_in);
-       (*start) = (-1);
-       while (isspace((int)line1[++(*start)]));
-    }
-}
-
-
-void
-Add_face(int *face)
-{
-    if (!bot_faces) {
-       bot_faces = (int *)bu_malloc(3 * BOT_FBLOCK * sizeof(int), "bot_faces");
-       bot_fsize = BOT_FBLOCK;
-       bot_fcurr = 0;
-    } else if (bot_fcurr >= bot_fsize) {
-       bot_fsize += BOT_FBLOCK;
-       bot_faces = (int *)bu_realloc((void *)bot_faces, 3 * bot_fsize * 
sizeof(int), "bot_faces increase");
-    }
-
-    VMOVE(&bot_faces[3*bot_fcurr], face);
-    bot_fcurr++;
-}
-
-
-static void
-Convert_part(char *line)
-{
-    char line1[MAX_LINE_SIZE];
-    char name[MAX_LINE_SIZE];
-    unsigned int obj=0;
-    char *solid_name;
-    int start;
-    int i;
-    int face_count=0;
-    int degenerate_count=0;
-    float colr[3] = VINITALL(0.5);
-    unsigned char color[3]={ 128, 128, 128 };
-    char *brlcad_name;
-    struct wmember head;
-    struct wmember *wmem;
-    vect_t normal={ 0, 0, 0 };
-    int solid_in_region=0;
-    point_t part_max, part_min;        /* Part RPP */
-
-    bot_fcurr = 0;
-    BU_LIST_INIT(&head.l);
-    VSETALL(part_min, INFINITY);
-    VSETALL(part_max, -INFINITY);
-
-    bn_vert_tree_clean(vert_tree);
-
-    start = (-1);
-    /* skip leading blanks */
-    while (isspace((int)line[++start]) && line[start] != '\0');
-    if (bu_strncmp(&line[start], "solid", 5) && bu_strncmp(&line[start], 
"SOLID", 5)) {
-       bu_log("Convert_part: Called for non-part\n%s\n", line);
-       return;
-    }
-
-    /* skip blanks before name */
-    start += 4;
-    while (isspace((int)line[++start]) && line[start] != '\0');
-
-    if (line[start] != '\0') {
-       /* get name */
-       i = (-1);
-       start--;
-       while (!isspace((int)line[++start]) && line[start] != '\0' && 
line[start] != '\n')
-           name[++i] = line[start];
-       name[++i] = '\0';
-
-       /* get object id */
-       sscanf(&line[start], "%x", &obj);
-    } else if (stl_format && forced_name) {
-       bu_strlcpy(name, forced_name, MAX_LINE_SIZE);
-    } else if (stl_format) {
-       /* build a name from the file name */
-       char tmp_str[512];
-       char *ptr;
-       size_t len, suff_len;
-
-       obj_count++;
-       obj = obj_count;
-
-       /* copy the file name into our work space */
-       bu_strlcpy(tmp_str, input_file, sizeof(tmp_str));
-
-       /* eliminate a trailing ".stl" */
-       len = strlen(tmp_str);
-       if (len > 4) {
-           if (!bu_strncmp(&tmp_str[len-4], ".stl", 4))
-               tmp_str[len-4] = '\0';
-       }
-
-       /* skip over all characters prior to the last '/' */
-       ptr = strrchr(tmp_str, '/');
-       if (!ptr)
-           ptr = tmp_str;
-       else
-           ptr++;
-
-       /* now copy what is left to the name */
-       bu_strlcpy(name, ptr, MAX_LINE_SIZE);
-
-       sprintf(tmp_str, "_%d", obj_count);
-       len = strlen(name);
-       suff_len = strlen(tmp_str);
-       if (len + suff_len < MAX_LINE_SIZE-1)
-           bu_strlcat(name, tmp_str, sizeof(name));
-       else
-           snprintf(&name[MAX_LINE_SIZE-suff_len-1], MAX_LINE_SIZE, "%s", 
tmp_str);
-       name[MAX_LINE_SIZE-1] = '\0'; /* sanity */
-
-    } else {
-       bu_strlcpy(name, "noname", MAX_LINE_SIZE);
-    }
-
-    bu_log("Converting Part: %s\n", name);
-
-    if (debug)
-       bu_log("Conv_part %s x%x\n", name, obj);
-
-    solid_count++;
-    solid_name = Get_solid_name(name, obj);
-
-    bu_log("\tUsing solid name: %s\n", solid_name);
-
-    while (bu_fgets(line1, MAX_LINE_SIZE, fd_in) != NULL) {
-       start = (-1);
-       while (isspace((int)line1[++start]));
-       if (!bu_strncmp(&line1[start], "endsolid", 8) || 
!bu_strncmp(&line1[start], "ENDSOLID", 8)) {
-           break;
-       } else if (!bu_strncmp(&line1[start], "color", 5) || 
!bu_strncmp(&line1[start], "COLOR", 5)) {
-           sscanf(&line1[start+5], "%f%f%f", &colr[0], &colr[1], &colr[2]);
-           for (i=0; i<3; i++)
-               color[i] = (int)(colr[i] * 255.0);
-       } else if (!bu_strncmp(&line1[start], "normal", 6) || 
!bu_strncmp(&line1[start], "NORMAL", 6)) {
-           float x, y, z;
-
-           start += 6;
-           sscanf(&line1[start], "%f%f%f", &x, &y, &z);
-           VSET(normal, x, y, z);
-       } else if (!bu_strncmp(&line1[start], "facet", 5) || 
!bu_strncmp(&line1[start], "FACET", 5)) {
-           VSET(normal, 0.0, 0.0, 0.0);
-
-           start += 4;
-           while (line1[++start] && isspace((int)line1[start]));
-
-           if (line1[start]) {
-               if (!bu_strncmp(&line1[start], "normal", 6) || 
!bu_strncmp(&line1[start], "NORMAL", 6)) {
-                   float x, y, z;
-
-                   start += 6;
-                   sscanf(&line1[start], "%f%f%f", &x, &y, &z);
-                   VSET(normal, x, y, z);
-               }
-           }
-       } else if (!bu_strncmp(&line1[start], "outer loop", 10) || 
!bu_strncmp(&line1[start], "OUTER LOOP", 10)) {
-           int endloop=0;
-           int vert_no=0;
-           int tmp_face[3] = {0, 0, 0};
-
-           while (!endloop) {
-               if (bu_fgets(line1, MAX_LINE_SIZE, fd_in) == NULL)
-                   bu_exit(EXIT_FAILURE,  "Unexpected EOF while reading a loop 
in a part!!!\n");
-
-               start = (-1);
-               while (isspace((int)line1[++start]));
-
-               if (!bu_strncmp(&line1[start], "endloop", 7) || 
!bu_strncmp(&line1[start], "ENDLOOP", 7)) {
-                   endloop = 1;
-               } else if (!bu_strncmp(&line1[start], "vertex", 6) || 
!bu_strncmp(&line1[start], "VERTEX", 6)) {
-                   double x, y, z;
-
-                   sscanf(&line1[start+6], "%lf%lf%lf", &x, &y, &z);
-                   if (top_level) {
-                       x *= conv_factor;
-                       y *= conv_factor;
-                       z *= conv_factor;
-                   }
-
-                   if (vert_no > 2) {
-                       int n;
-
-                       bu_log("Non-triangular loop:\n");
-                       for (n=0; n<3; n++)
-                           bu_log("\t(%g %g %g)\n", 
V3ARGS(&vert_tree->the_array[tmp_face[n]]));
-
-                       bu_log("\t(%g %g %g)\n", x, y, z);
-                   }
-                   tmp_face[vert_no++] = bn_vert_tree_add( vert_tree,x, y, z, 
tol.dist_sq);
-                   VMINMAX(part_min, part_max, 
&vert_tree->the_array[tmp_face[vert_no-1]*3]);
-               } else
-                   bu_log("Unrecognized line: %s\n", line1);
-           }
-
-           /* check for degenerate faces */
-           if (tmp_face[0] == tmp_face[1]) {
-               degenerate_count++;
-               continue;
-           }
-
-           if (tmp_face[0] == tmp_face[2]) {
-               degenerate_count++;
-               continue;
-           }
-
-           if (tmp_face[1] == tmp_face[2]) {
-               degenerate_count++;
-               continue;
-           }
-
-           if (debug) {
-               int n;
-
-               bu_log("Making Face:\n");
-               for (n=0; n<3; n++)
-                   bu_log("\tvertex #%d: (%g %g %g)\n", tmp_face[n], 
V3ARGS(&vert_tree->the_array[3*tmp_face[n]]));
-               VPRINT(" normal", normal);
-           }
-
-           Add_face(tmp_face);
-           face_count++;
-       } else if (!bu_strncmp(&line1[start], "modifiers", 9) || 
!bu_strncmp(&line1[start], "MODIFIERS", 9)) {
-           if (face_count) {
-               wmem = mk_addmember(solid_name, &head.l, NULL, WMOP_UNION);
-               if (top_level && do_reorient) {
-                   /* apply re_orient transformation here */
-                   if (debug) {
-                       bu_log("Applying re-orient matrix to solid %s\n", 
solid_name);
-                       bn_mat_print("re-orient matrix", re_orient);
-                   }
-                   bn_mat_mul2(re_orient, wmem->wm_mat);
-               }
-               solid_in_region = 1;
-           }
-           do_modifiers(line1, &start, &head, name, part_min, part_max);
-       }
-    }
-
-    /* Check if this part has any solid parts */
-    if (face_count == 0) {
-       char *save_name;
-
-       bu_log("\t%s has no solid parts, ignoring\n", name);
-       if (degenerate_count)
-           bu_log("\t%d faces were degenerate\n", degenerate_count);
-       brlcad_name = Get_unique_name(name, obj, PART_TYPE);
-       save_name = bu_strdup(brlcad_name);
-       bu_ptbl_ins(&null_parts, (long *)save_name);
-       return;
-    } else {
-       if (degenerate_count)
-           bu_log("\t%d faces were degenerate\n", degenerate_count);
-    }
-
-    mk_bot(fd_out, solid_name, RT_BOT_SOLID, RT_BOT_UNORIENTED, 0, 
vert_tree->curr_vert, bot_fcurr,
-          vert_tree->the_array, bot_faces, NULL, NULL);
-
-    if (face_count && !solid_in_region) {
-       wmem = mk_addmember(solid_name, &head.l, NULL, WMOP_UNION);
-       if (top_level && do_reorient) {
-           /* apply re_orient transformation here */
-           if (debug) {
-               bu_log("Applying re-orient matrix to solid %s\n", solid_name);
-               bn_mat_print("re-orient matrix", re_orient);
-           }
-           bn_mat_mul2(re_orient, wmem->wm_mat);
-       }
-    }
-    brlcad_name = Get_unique_name(name, obj, PART_TYPE);
-
-    if (do_air) {
-       bu_log("\tMaking air region (%s)\n", brlcad_name);
-
-       mk_lrcomb(fd_out, brlcad_name, &head, 1, (char *)NULL, (char *)NULL,
-                 color, 0, air_no, 0, 100, 0);
-       air_no++;
-    } else {
-       bu_log("\tMaking region (%s)\n", brlcad_name);
-
-       if (const_id >= 0) {
-           mk_lrcomb(fd_out, brlcad_name, &head, 1, (char *)NULL, (char *)NULL,
-                     color, const_id, 0, mat_code, 100, 0);
-           if (stl_format && face_count)
-               (void)mk_addmember(brlcad_name, &all_head.l, NULL, WMOP_UNION);
-       } else {
-           mk_lrcomb(fd_out, brlcad_name, &head, 1, (char *)NULL, (char *)NULL,
-                     color, id_no, 0, mat_code, 100, 0);
-           if (stl_format && face_count)
-               (void)mk_addmember(brlcad_name, &all_head.l, NULL, WMOP_UNION);
-           id_no++;
-       }
-    }
-
-    top_level = 0;
-
-    return;
-}
-
-
-static void
-Convert_input(void)
-{
-    char line[ MAX_LINE_SIZE ];
-
-    if (!stl_format) {
-       if (!bu_fgets(line, MAX_LINE_SIZE, fd_in))
-           return;
-
-       sscanf(line, "%f", &conv_factor);
-    }
-
-    if (!do_reorient && !stl_format)
-       conv_factor = 1.0;
-
-    while (bu_fgets(line, MAX_LINE_SIZE, fd_in) != NULL) {
-       if (!bu_strncmp(line, "assembly", 8) || !bu_strncmp(line, "ASSEMBLY", 
8))
-           Convert_assy(line);
-       else if (!bu_strncmp(line, "solid", 5) || !bu_strncmp(line, "SOLID", 5))
-           Convert_part(line);
-       else
-           bu_log("Unrecognized line:\n%s\n", line);
-    }
-}
-
-
-static void
-Rm_nulls(void)
-{
-    struct db_i *dbip;
-    size_t i;
-    struct directory *dp;
-
-    dbip = fd_out->dbip;
-
-    if (debug || BU_PTBL_LEN(&null_parts)) {
-       bu_log("Deleting references to the following null parts:\n");
-       for (i=0; i<BU_PTBL_LEN(&null_parts); i++) {
-           char *save_name;
-
-           save_name = (char *)BU_PTBL_GET(&null_parts, i);
-           bu_log("\t%s\n", save_name);
-       }
-    }
-
-    FOR_ALL_DIRECTORY_START(dp, dbip) {
-       struct rt_tree_array *tree_list;
-       struct rt_db_internal intern;
-       struct rt_comb_internal *comb;
-       size_t j;
-       size_t node_count;
-       size_t actual_count;
-       int changed=0;
-
-       /* skip solids */
-       if (dp->d_flags & RT_DIR_SOLID)
-           continue;
-
-       /* skip non-geometry */
-       if (!(dp->d_flags & (RT_DIR_SOLID | RT_DIR_COMB)))
-           continue;
-
-       if (rt_db_get_internal(&intern, dp, dbip, (matp_t)NULL, 
&rt_uniresource) < 1) {
-           bu_log("Cannot get internal form of combination %s\n", dp->d_namep);
-           continue;
-       }
-       comb = (struct rt_comb_internal *)intern.idb_ptr;
-       RT_CK_COMB(comb);
-       if (comb->tree && db_ck_v4gift_tree(comb->tree) < 0) {
-           db_non_union_push(comb->tree, &rt_uniresource);
-           if (db_ck_v4gift_tree(comb->tree) < 0) {
-               bu_log("Cannot flatten tree (%s) for editing\n", dp->d_namep);
-               continue;
-           }
-       }
-       node_count = db_tree_nleaves(comb->tree);
-       if (node_count > 0) {
-           tree_list = (struct rt_tree_array *)bu_calloc(node_count,
-                                                         sizeof(struct 
rt_tree_array), "tree list");
-           actual_count = (struct rt_tree_array *)db_flatten_tree(tree_list, 
comb->tree, OP_UNION, 0, &rt_uniresource) - tree_list;
-           BU_ASSERT(actual_count == node_count);
-       } else {
-           tree_list = (struct rt_tree_array *)NULL;
-           actual_count = 0;
-       }
-
-       for (j=0; j<actual_count; j++) {
-           size_t k;
-           int found=0;
-
-           for (k=0; k<BU_PTBL_LEN(&null_parts); k++) {
-               char *save_name;
-
-               save_name = (char *)BU_PTBL_GET(&null_parts, k);
-               if (BU_STR_EQUAL(save_name, 
tree_list[j].tl_tree->tr_l.tl_name)) {
-                   found = 1;
-                   break;
-               }
-           }
-           if (found) {
-               /* This is a NULL part, delete the reference */
-/*                             if (debug) */
-               bu_log("Deleting reference to null part (%s) from combination 
%s\n",
-                      tree_list[j].tl_tree->tr_l.tl_name, dp->d_namep);
-
-               db_free_tree(tree_list[j].tl_tree, &rt_uniresource);
-
-               for (k=j+1; k<actual_count; k++)
-                   tree_list[k-1] = tree_list[k]; /* struct copy */
-
-               actual_count--;
-               j--;
-               changed = 1;
-           }
-       }
-
-       if (changed) {
-           if (actual_count)
-               comb->tree = (union tree *)db_mkgift_tree(tree_list, 
actual_count, &rt_uniresource);
-           else
-               comb->tree = (union tree *)NULL;
-
-           if (rt_db_put_internal(dp, dbip, &intern, &rt_uniresource) < 0) {
-               const struct rt_functab *ftp = rt_get_functab_by_label("comb");
-               bu_log("Unable to write modified combination '%s' to 
database\n", dp->d_namep);
-               if (ftp && ftp->ft_ifree)
-                   ftp->ft_ifree(&intern);
-               continue;
-           }
-       }
-       bu_free((char *)tree_list, "tree_list");
-    } FOR_ALL_DIRECTORY_END;
-}
-
-
-static void
-proe_usage(const char *argv0)
-{
-    bu_log("%s [-darS] [-t tolerance] [-i initial_ident] [-I constant_ident] 
[-m material_code] [-u reg_exp] [-x rt_debug_flag] proe_file.brl output.g\n", 
argv0);
-    bu_log("   where proe_file.brl is the output from Pro/Engineer's BRL-CAD 
EXPORT option\n");
-    bu_log("   and output.g is the name of a BRL-CAD database file to receive 
the conversion.\n");
-    bu_log("   The -d option prints additional debugging information.\n");
-    bu_log("   The -i option sets the initial region ident number (default is 
1000).\n");
-    bu_log("   The -I option sets the non-negative ident number that will be 
assigned to all regions (conflicts with -i).\n");
-    bu_log("   The -m option sets the integer material code for all the parts. 
(default is 1)\n");
-    bu_log("   The -u option indicates that portions of object names that 
match the regular expression\n");
-    bu_log("           'reg_exp' should be ignored.\n");
-    bu_log("   The -a option creates BRL-CAD 'air' regions from everything in 
the model.\n");
-    bu_log("   The -r option indicates that the model should not be 
re-oriented or scaled, \n");
-    bu_log("           but left in the same orientation as it was in 
Pro/E.\n");
-    bu_log("           This is to allow conversion of parts to be included 
in\n");
-    bu_log("           previously converted Pro/E assemblies.\n");
-    bu_log("   The -S option indicates that the input file is raw STL 
(STereoLithography) format.\n");
-    bu_log("   The -t option specifies the minimum distance between two 
distinct vertices (mm).\n");
-    bu_log("   The -x option specifies an RT debug flags (see raytrace.h).\n");
-}
-
-
-int
-main(int argc, char **argv)
-{
-    int c;
-
-    bu_setprogname(argv[0]);
-
-    tol.magic = BN_TOL_MAGIC;
-
-    /* this value selected as a reasonable compromise between eliminating
-     * needed faces and keeping degenerate faces
-     */
-    tol.dist = BN_TOL_DIST;    /* default, same as MGED, RT, ... */
-    tol.dist_sq = tol.dist * tol.dist;
-    tol.perp = 1e-6;
-    tol.para = 1 - tol.perp;
-
-    vert_tree = bn_vert_tree_create();
-
-    bu_ptbl_init(&null_parts, 64, " &null_parts");
-
-    forced_name = NULL;
-
-    if (argc < 2) {
-       proe_usage(argv[0]);
-       bu_exit(1, NULL);
-    }
-
-    /* Get command line arguments. */
-    while ((c = bu_getopt(argc, argv, "St:i:I:m:rsdax:u:N:c:")) != -1) {
-       double tmp;
-
-       switch (c) {
-           case 't':   /* tolerance */
-               tmp = atof(bu_optarg);
-               if (tmp <= 0.0) {
-                   bu_log("Tolerance must be greater then zero, using default 
(%g)\n",
-                          tol.dist);
-                   break;
-               }
-               tol.dist = tmp;
-               tol.dist_sq = tmp * tmp;
-               break;
-           case 'c':   /* convert from units */
-               conv_factor = bu_units_conversion(bu_optarg);
-               if (ZERO(conv_factor)) {
-                   bu_log("Illegal units: (%s)\n", bu_optarg);
-                   bu_exit(EXIT_FAILURE,  "Illegal units!!\n");
-               } else {
-                   bu_log("Converting units from %s to mm (conversion factor 
is %g)\n", bu_optarg, conv_factor);
-               }
-               break;
-           case 'N':   /* force a name on this object */
-               forced_name = bu_optarg;
-               break;
-
-           case 'S':   /* raw stl_format format */
-               stl_format = 1;
-               do_reorient = 0;
-               break;
-           case 'i':
-               id_no = atoi(bu_optarg);
-               break;
-           case 'I':
-               const_id = atoi(bu_optarg);
-               if (const_id < 0) {
-                   bu_log("Illegal value for '-I' option, must be zero or 
greater!!!\n");
-                   proe_usage(argv[0]);
-                   bu_exit(EXIT_FAILURE,  "Illegal value for option '-I'\n");
-               }
-               break;
-           case 'm':
-               mat_code = atoi(bu_optarg);
-               break;
-           case 'd':
-               debug = 1;
-               break;
-           case 'x':
-               sscanf(bu_optarg, "%x", (unsigned int *)&rt_debug);
-               bu_printb("librt RT_G_DEBUG", RT_G_DEBUG, RT_DEBUG_FORMAT);
-               bu_log("\n");
-               break;
-           case 'u':
-               do_regex = 1;
-               if (regcomp(&reg_cmp, bu_optarg, 0)) {
-                   bu_log("Bad regular expression (%s)\n", bu_optarg);
-                   proe_usage(argv[0]);
-                   bu_exit(1, "ERROR: Bad regular expression\n");
-               }
-               break;
-           case 'a':
-               do_air = 1;
-               break;
-           case 'r':
-               do_reorient = 0;
-               break;
-           default:
-               proe_usage(argv[0]);
-               bu_exit(1, "ERROR: unrecognized argument\n");
-               break;
-       }
-    }
-
-    input_file = argv[bu_optind];
-    if ((fd_in=fopen(input_file, "rb")) == NULL) {
-       bu_log("Cannot open input file (%s)\n", input_file);
-       perror(argv[0]);
-       bu_exit(1, NULL);
-    }
-    bu_optind++;
-    brlcad_file = argv[bu_optind];
-    if ((fd_out=wdb_fopen(brlcad_file)) == NULL) {
-       bu_log("Cannot open BRL-CAD file (%s)\n", brlcad_file);
-       perror(argv[0]);
-       bu_exit(1, NULL);
-    }
-
-    if (stl_format)
-       mk_id_units(fd_out, "Conversion from Stereolithography format", "mm");
-    else
-       mk_id_units(fd_out, "Conversion from Pro/Engineer", "in");
-
-    /* Create re-orient matrix */
-    bn_mat_angles(re_orient, 0.0, 90.0, 90.0);
-
-    BU_LIST_INIT(&all_head.l);
-
-    Convert_input();
-
-    if (stl_format) {
-       /* make a top level group */
-       mk_lcomb(fd_out, "all", &all_head, 0, (char *)NULL, (char *)NULL, 
(unsigned char *)NULL, 0);
-    }
-
-    fclose(fd_in);
-
-    /* Remove references to null parts */
-    Rm_nulls();
-
-    wdb_close(fd_out);
-
-    return 0;
-}
-
-
-/*
- * Local Variables:
- * mode: C
- * tab-width: 8
- * indent-tabs-mode: t
- * c-file-style: "stroustrup"
- * End:
- * ex: shiftwidth=4 tabstop=8
- */

Modified: brlcad/branches/dm-fb-merge/src/librt/cache.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/librt/cache.c       2020-04-18 13:15:56 UTC 
(rev 75462)
+++ brlcad/branches/dm-fb-merge/src/librt/cache.c       2020-04-18 13:21:34 UTC 
(rev 75463)
@@ -387,7 +387,7 @@
     buffer = (uint8_t *)bu_malloc(dest->ext_nbytes, "buffer");
 
     BU_ASSERT(dest->ext_nbytes < INT_MAX);
-    ret = LZ4_decompress_fast((const char *)(external->ext_buf + 
SIZEOF_NETWORK_LONG), (char *)buffer, (int)dest->ext_nbytes);
+    ret = LZ4_decompress_safe((const char *)(external->ext_buf + 
SIZEOF_NETWORK_LONG), (char *)buffer, external->ext_nbytes - 
SIZEOF_NETWORK_LONG, (int)dest->ext_nbytes);
     if (ret > 0)
        uncompressed = 1;
 

Modified: brlcad/branches/dm-fb-merge/src/libtermio/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtermio/CMakeLists.txt    2020-04-18 
13:15:56 UTC (rev 75462)
+++ brlcad/branches/dm-fb-merge/src/libtermio/CMakeLists.txt    2020-04-18 
13:21:34 UTC (rev 75463)
@@ -19,7 +19,7 @@
 
   BRLCAD_ADDDATA(termcap termio)
 
-  BRLCAD_ADDLIB(libtermio "${TERMIO_SRCS}" "")
+  BRLCAD_ADDLIB(libtermio "${TERMIO_SRCS}" "libbu")
   set_target_properties(libtermio PROPERTIES VERSION 20.0.1 SOVERSION 20)
 endif(NOT WIN32)
 

Modified: brlcad/branches/dm-fb-merge/src/libtermio/termcap.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtermio/termcap.c 2020-04-18 13:15:56 UTC 
(rev 75462)
+++ brlcad/branches/dm-fb-merge/src/libtermio/termcap.c 2020-04-18 13:21:34 UTC 
(rev 75463)
@@ -154,7 +154,7 @@
                }
                hopcount--;
                tbuf = holdtbuf;
-               bu_strlcpy(rmbuf, &p[1], sizeof(&p[1]));
+               bu_strlcpy(rmbuf, &p[1], TCBUFSIZE);
                for (q=tcbuf; *q != ':'; q++)
                        ;
                l = holdtc - holdtbuf + strlen(rmbuf) + strlen(q);
@@ -165,7 +165,7 @@
                q++;
                for (p = holdtc; *q; q++)
                        *p++ = *q;
-               bu_strlcpy(p, rmbuf, sizeof(rmbuf));
+               bu_strlcpy(p, rmbuf, TCBUFSIZE);
                p = holdtc;
        }
        return(1);
@@ -203,7 +203,7 @@
                        c = tnamatch(name);
                        tbuf = bp;
                        if (c) {
-                               bu_strlcpy(bp, cp, sizeof(cp));
+                               bu_strlcpy(bp, cp, TCBUFSIZE);
                                return(tnchktc());
                        }
                }

Modified: brlcad/branches/dm-fb-merge/src/libtermio/tgoto.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libtermio/tgoto.c   2020-04-18 13:15:56 UTC 
(rev 75462)
+++ brlcad/branches/dm-fb-merge/src/libtermio/tgoto.c   2020-04-18 13:21:34 UTC 
(rev 75463)
@@ -213,6 +213,6 @@
                        goto toohard;
                }
        }
-       bu_strlcpy(dp, added, sizeof(added));
+       bu_strlcpy(dp, added, MAXRETURNSIZE);
        return (result);
 }

Index: brlcad/branches/dm-fb-merge/src/other
===================================================================
--- brlcad/branches/dm-fb-merge/src/other       2020-04-18 13:15:56 UTC (rev 
75462)
+++ brlcad/branches/dm-fb-merge/src/other       2020-04-18 13:21:34 UTC (rev 
75463)

Property changes on: brlcad/branches/dm-fb-merge/src/other
___________________________________________________________________
Modified: svn:mergeinfo
## -6,4 +6,5 ##
 /brlcad/branches/opencl/src/other:65867-66137
 /brlcad/branches/osg/src/other:62110-62113
 /brlcad/branches/prep-cache/src/other:68236-68933
-/brlcad/branches/tcltk86/src/other:68300-75257
\ No newline at end of property
+/brlcad/branches/tcltk86/src/other:68300-75257
+/brlcad/trunk/src/other:75440-75462
\ No newline at end of property
Modified: brlcad/branches/dm-fb-merge/src/other/tcl/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/other/tcl/CMakeLists.txt    2020-04-18 
13:15:56 UTC (rev 75462)
+++ brlcad/branches/dm-fb-merge/src/other/tcl/CMakeLists.txt    2020-04-18 
13:21:34 UTC (rev 75463)
@@ -43,14 +43,14 @@
 project(TCL)
 
 # build shared libs by default
-if(NOT DEFINED BUILD_SHARED_LIBS)
+if (NOT DEFINED BUILD_SHARED_LIBS)
   option(BUILD_SHARED_LIBS "Build shared libraries" ON)
-endif(NOT DEFINED BUILD_SHARED_LIBS)
+endif (NOT DEFINED BUILD_SHARED_LIBS)
 
 # build static libs by default
-if(NOT DEFINED BUILD_STATIC_LIBS)
+if (NOT DEFINED BUILD_STATIC_LIBS)
   option(BUILD_STATIC_LIBS "Build shared libraries" ON)
-endif(NOT DEFINED BUILD_STATIC_LIBS)
+endif (NOT DEFINED BUILD_STATIC_LIBS)
 
 # version numbers
 set(TCL_VERSION_MAJOR 8)
@@ -59,9 +59,9 @@
 set(TCL_VERSION 
"${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}.${TCL_VERSION_PATCH}")
 
 # For Windows, we need the Resource Compiler language
-if(WIN32)
+if (WIN32)
   enable_language(RC)
-endif(WIN32)
+endif (WIN32)
 
 #-----------------------------------------------------------------------------
 # Set CMake module path
@@ -104,45 +104,45 @@
 # of these, but until then just do what's needed.
 
 # Windows specific flags
-if(MSVC)
+if (MSVC)
   add_definitions(-D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEP 
-Ot -Oi -fp:strict -Gs -GS -GL -MD)
   
add_definitions(-DTCL_PIPE_DLL="tclpip${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}.dll")
   add_definitions(-Dinline=__inline)
-endif(MSVC)
+endif (MSVC)
 
-if(MINGW)
+if (MINGW)
   add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEP)
   
add_definitions(-DTCL_PIPE_DLL="tclpip${TCL_VERSION_MAJOR}${TCL_VERSION_MINOR}.dll")
   add_definitions(-Dinline=__inline)
   remove_definitions(-w)
   add_definitions(-DHAVE_NO_SEH -DEXCEPTION_DISPOSITION=int)
-endif(MINGW)
+endif (MINGW)
 
-if(APPLE)
+if (APPLE)
   add_definitions(-DMAC_OSX_TCL=1)
-endif(APPLE)
+endif (APPLE)
 
 # Embedded configuration information, encoding to use for the values, TIP #59
-if(WIN32)
+if (WIN32)
   add_definitions(-DTCL_CFGVAL_ENCODING="cp1252")
 else(WIN32)
   add_definitions(-DTCL_CFGVAL_ENCODING="iso8859-1")
-endif(WIN32)
+endif (WIN32)
 
 #------------------------------------------------------------------------
 # Options
 #------------------------------------------------------------------------
 option(TCL_COMPILATION_TRACING "Bytecode compilation debugging" OFF)
-if(TCL_COMPILATION_TRACING)
+if (TCL_COMPILATION_TRACING)
   add_definitions(-DTCL_COMPILE_DEBUG=1)
 else(TCL_COMPILATION_TRACING)
   add_definitions(-DTCL_COMPILE_DEBUG=0)
-endif(TCL_COMPILATION_TRACING)
+endif (TCL_COMPILATION_TRACING)
 
 option(TCL_COMPILE_STATS "Bytecode statistics" OFF)
-if(TCL_COMPILE_STATS)
+if (TCL_COMPILE_STATS)
   add_definitions(-DTCL_COMPILE_STATS=1)
-endif(TCL_COMPILE_STATS)
+endif (TCL_COMPILE_STATS)
 
 #------------------------------------------------------------------------
 # Test compiler flags
@@ -152,9 +152,9 @@
 # It makes compiling go faster.  (This is only a performance feature.)
 include(CheckCCompilerFlag)
 check_c_compiler_flag(-pipe PIPE_COMPILER_FLAG)
-if(PIPE_COMPILER_FLAG)
+if (PIPE_COMPILER_FLAG)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe")
-endif(PIPE_COMPILER_FLAG)
+endif (PIPE_COMPILER_FLAG)
 
 # Position independent code
 check_c_compiler_flag(-fPIC FPIC_COMPILER_FLAG)
@@ -168,27 +168,27 @@
 function(check_extra_pthread_funcs)
   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
   check_function_exists(pthread_mutex_init HAVE_PTHREAD_MUTEX_INIT)
-  if(HAVE_PTHREAD_MUTEX_INIT)
+  if (HAVE_PTHREAD_MUTEX_INIT)
     add_definitions(-DHAVE_PTHREAD_MUTEX_INIT=1)
-  endif(HAVE_PTHREAD_MUTEX_INIT)
+  endif (HAVE_PTHREAD_MUTEX_INIT)
   check_function_exists(pthread_attr_setstacksize 
HAVE_PTHREAD_ATTR_SETSTACKSIZE)
-  if(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
+  if (HAVE_PTHREAD_ATTR_SETSTACKSIZE)
     add_definitions(-DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1)
-  endif(HAVE_PTHREAD_ATTR_SETSTACKSIZE)
+  endif (HAVE_PTHREAD_ATTR_SETSTACKSIZE)
   check_function_exists(pthread_atfork HAVE_PTHREAD_ATFORK)
-  if(HAVE_PTHREAD_ATFORK)
+  if (HAVE_PTHREAD_ATFORK)
     add_definitions(-DHAVE_PTHREAD_ATFORK=1)
-  endif(HAVE_PTHREAD_ATFORK)
+  endif (HAVE_PTHREAD_ATFORK)
 endfunction(check_extra_pthread_funcs)
 
 find_package(Threads)
-if(NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
+if (NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
   add_definitions(-DTCL_THREADS=1)
   add_definitions(-DUSE_THREAD_ALLOC=1)
   add_definitions(-D_REENTRANT=1)
   add_definitions(-D_THREAD_SAFE=1)
   check_extra_pthread_funcs()
-endif(NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
+endif (NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
 
 #--------------------------------------------------------------------
 # Header checks.
@@ -203,50 +203,50 @@
   string(REPLACE "/" "_" var "${var}")
   string(TOUPPER "${var}" var)
   check_include_files(${filename} HAVE_${var})
-  if(HAVE_${var})
-    if(OPT_DEFVAR)
+  if (HAVE_${var})
+    if (OPT_DEFVAR)
       set(CVAR ${OPT_DEFVAR})
     else(OPT_DEFVAR)
       set(CVAR HAVE_${var})
-    endif(OPT_DEFVAR)
-    if(OPT_USE)
+    endif (OPT_DEFVAR)
+    if (OPT_USE)
       # Usability test requested - we're not done yet.
-      if(OPT_TEST_SRC)
+      if (OPT_TEST_SRC)
        check_c_source_compiles("${${OPT_TEST_SRC}}" ${var}_USABLE)
       else(OPT_TEST_SRC)
        check_c_source_compiles("#include <${filename}>\nint main() {return 
0;}" ${var}_USABLE)
-      endif(OPT_TEST_SRC)
-      if(${var}_USABLE)
+      endif (OPT_TEST_SRC)
+      if (${var}_USABLE)
        set(HAVE_${var} 1 PARENT_SCOPE)
        set(${CVAR} 1 PARENT_SCOPE)
        add_definitions(-D${CVAR}=1)
       else(${var}_USABLE)
-       if(OPT_NEG_FLAG)
+       if (OPT_NEG_FLAG)
          add_definitions(-DNO_${var}=1)
-       endif(OPT_NEG_FLAG)
-       if(OPT_COMPAT_SRC)
+       endif (OPT_NEG_FLAG)
+       if (OPT_COMPAT_SRC)
          set(USE_COMPAT 1 PARENT_SCOPE)
-         if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
+         if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
            message(FATAL_ERROR "Specified compatibilty file ${OPT_COMPAT_SRC}, 
but ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC} was not found.")
-         endif(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
-       endif(OPT_COMPAT_SRC)
-      endif(${var}_USABLE)
+         endif (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
+       endif (OPT_COMPAT_SRC)
+      endif (${var}_USABLE)
     else(OPT_USE)
       set(HAVE_${var} 1 PARENT_SCOPE)
       set(${CVAR} 1 PARENT_SCOPE)
       add_definitions(-D${CVAR}=1)
-    endif(OPT_USE)
+    endif (OPT_USE)
   else(HAVE_${var})
-    if(OPT_NEG_FLAG)
+    if (OPT_NEG_FLAG)
       add_definitions(-DNO_${var}=1)
-    endif(OPT_NEG_FLAG)
-    if(OPT_COMPAT_SRC)
+    endif (OPT_NEG_FLAG)
+    if (OPT_COMPAT_SRC)
       set(USE_COMPAT 1 PARENT_SCOPE)
-      if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
+      if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
        message(FATAL_ERROR "Specified compatibilty file ${OPT_COMPAT_SRC}, but 
${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC} was not found.")
-      endif(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
-    endif(OPT_COMPAT_SRC)
-  endif(HAVE_${var})
+      endif (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${OPT_COMPAT_SRC})
+    endif (OPT_COMPAT_SRC)
+  endif (HAVE_${var})
 endfunction(Tcl_Check_Include_File)
 
 set(DIRENT_TEST_SRCS "
@@ -319,38 +319,38 @@
   cmake_parse_arguments(OPT "NEG_FLAG" "COMPAT_SRC;DEFVAR" "" ${ARGN})
   string(TOUPPER "${fname}" var)
   check_function_exists(${fname} HAVE_${var})
-  if(HAVE_${var})
+  if (HAVE_${var})
     set(HAVE_${var} 1 PARENT_SCOPE)
-    if(OPT_DEFVAR)
+    if (OPT_DEFVAR)
       set(CVAR ${OPT_DEFVAR})
     else(OPT_DEFVAR)
       set(CVAR HAVE_${var})
-    endif(OPT_DEFVAR)
+    endif (OPT_DEFVAR)
     # If we have a compat src file, there's no need for a flag -
     # Tcl is ensuring this exists, so there's not source code level
     # ifdef to satisfy.
-    if(NOT OPT_COMPAT_SRC)
+    if (NOT OPT_COMPAT_SRC)
       add_definitions(-D${CVAR}=1)
-    endif(NOT OPT_COMPAT_SRC)
+    endif (NOT OPT_COMPAT_SRC)
   else(HAVE_${var})
-    if(OPT_NEG_FLAG)
+    if (OPT_NEG_FLAG)
       add_definitions(-DNO_${var}=1)
-    endif(OPT_NEG_FLAG)
-    if(OPT_COMPAT_SRC)
+    endif (OPT_NEG_FLAG)
+    if (OPT_COMPAT_SRC)
       set(COMPAT_SRCS "${COMPAT_SRCS}" ${OPT_COMPAT_SRC} PARENT_SCOPE)
-    endif(OPT_COMPAT_SRC)
-  endif(HAVE_${var})
+    endif (OPT_COMPAT_SRC)
+  endif (HAVE_${var})
 endfunction(Tcl_Check_Function_Exists)
 
 Tcl_Check_Function_Exists(getcwd)
-if(NOT HAVE_GETCWD)
+if (NOT HAVE_GETCWD)
   Tcl_Check_Function_Exists(getwd HAVE_GETWD)
-  if(NOT HAVE_GETWD)
+  if (NOT HAVE_GETWD)
     add_definitions(-DNO_GETWD=1)
   else(NOT HAVE_GETWD)
     add_definitions(-DUSEGETWD=1)
-  endif(NOT HAVE_GETWD)
-endif(NOT HAVE_GETCWD)
+  endif (NOT HAVE_GETWD)
+endif (NOT HAVE_GETCWD)
 
 Tcl_Check_Function_Exists(hypot COMPAT_SRC compat/hypot.c)
 Tcl_Check_Function_Exists(mkstemp COMPAT_SRC compat/mkstemp.c)
@@ -366,18 +366,18 @@
 
 # Check for early Darwin version here - realpath
 # is not threadsafe prior to Darwin 7
-if(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND HAVE_REALPATH)
+if (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND HAVE_REALPATH)
   string(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION 
${CMAKE_SYSTEM_VERSION})
-  if(${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
+  if (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
     message("realpath is not threadsafe in Darwin versions prior to 7, 
disabling")
     set(HAVE_REALPATH)
     remove_definitions(-DHAVE_REALPATH=1)
     add_definitions(-DNO_REALPATH=1)
-  endif(${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
-endif(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND HAVE_REALPATH)
+  endif (${CMAKE_SYSTEM_MAJOR_VERSION} LESS 7)
+endif (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$" AND HAVE_REALPATH)
 
 Tcl_Check_Function_Exists(getaddrinfo HAVE_GETADDRINFO)
-if(HAVE_GETADDRINFO)
+if (HAVE_GETADDRINFO)
   set(GETADDRINFO_SRC "
 #include <netdb.h>
 int main () {
@@ -389,10 +389,10 @@
 }
 ")
   CHECK_C_SOURCE_COMPILES("${GETADDRINFO_SRC}" WORKING_GETADDRINFO)
-  if(WORKING_GETADDRINFO)
+  if (WORKING_GETADDRINFO)
     add_definitions(-DHAVE_GETADDRINFO=1)
-  endif(WORKING_GETADDRINFO)
-endif(HAVE_GETADDRINFO)
+  endif (WORKING_GETADDRINFO)
+endif (HAVE_GETADDRINFO)
 
 #--------------------------------------------------------------------
 # Library checks.
@@ -402,19 +402,19 @@
 include(CheckCSourceCompiles)
 
 check_library_exists(m cos "" HAVE_M_LIBRARY)
-if(HAVE_M_LIBRARY)
+if (HAVE_M_LIBRARY)
   set(M_LIBRARY "m")
-endif(HAVE_M_LIBRARY)
+endif (HAVE_M_LIBRARY)
 
 # Note: Do we ever NOT need CoreFoundation on OSX?
-if(APPLE)
+if (APPLE)
   include(CMakeFindFrameworks)
   cmake_find_frameworks(CoreFoundation)
-  if(CoreFoundation_FRAMEWORKS)
+  if (CoreFoundation_FRAMEWORKS)
     set(CoreFoundation_LIBRARIES "-framework CoreFoundation")
     add_definitions(-DHAVE_COREFOUNDATION=1)
-  endif(CoreFoundation_FRAMEWORKS)
-endif(APPLE)
+  endif (CoreFoundation_FRAMEWORKS)
+endif (APPLE)
 
 # We're going to have zlib one way or the other - always define
 # HAVE_ZLIB to be on.
@@ -424,9 +424,9 @@
 # Need dynamic loading and unloading... always on until we find
 # a case where we need to disable it.
 check_library_exists(dl dlopen "" HAVE_DL_LIBRARY)
-if(HAVE_DL_LIBRARY)
+if (HAVE_DL_LIBRARY)
   set(DL_LIBRARY "dl")
-endif(HAVE_DL_LIBRARY)
+endif (HAVE_DL_LIBRARY)
 
 # Support unloading dlls
 add_definitions(-DTCL_UNLOAD_DLLS=1)
@@ -434,101 +434,101 @@
 #-----------------------------------------------------------
 # There are a number of possibilities for sockets
 Tcl_Check_Function_Exists(connect)
-if(HAVE_CONNECT)
+if (HAVE_CONNECT)
   set(NEED_SOCKET_LIBRARY 0)
 else(HAVE_CONNECT)
   set(NEED_SOCKET_LIBRARY 1)
-endif(HAVE_CONNECT)
+endif (HAVE_CONNECT)
 
 # Checking for socket
-if(NEED_SOCKET_LIBRARY)
+if (NEED_SOCKET_LIBRARY)
   check_library_exists(socket conect "" HAVE_SOCKET_LIBRARY)
-  if(HAVE_SOCKET_LIBRARY)
+  if (HAVE_SOCKET_LIBRARY)
     set(SOCKET_LIBRARY "socket")
     set(NEED_SOCKET_LIBRARY 0)
-  endif(HAVE_SOCKET_LIBRARY)
-endif(NEED_SOCKET_LIBRARY)
+  endif (HAVE_SOCKET_LIBRARY)
+endif (NEED_SOCKET_LIBRARY)
 
 # Checking for inet
-if(NEED_SOCKET_LIBRARY)
+if (NEED_SOCKET_LIBRARY)
   check_library_exists(inet main "" HAVE_INET_LIBRARY)
-  if(HAVE_INET_LIBRARY)
+  if (HAVE_INET_LIBRARY)
     set(SOCKET_LIBRARY "inet")
     set(NEED_SOCKET_LIBRARY 0)
-  endif(HAVE_INET_LIBRARY)
-endif(NEED_SOCKET_LIBRARY)
+  endif (HAVE_INET_LIBRARY)
+endif (NEED_SOCKET_LIBRARY)
 
 #-----------------------------------------------------------
 # gethostbyname
 Tcl_Check_Function_Exists(gethostbyname)
-if(HAVE_GETHOSTBYNAME)
+if (HAVE_GETHOSTBYNAME)
   set(NEED_GHBN_LIBRARY 0)
 else(HAVE_GETHOSTBYNAME)
   set(NEED_GHBN_LIBRARY 1)
-endif(HAVE_GETHOSTBYNAME)
+endif (HAVE_GETHOSTBYNAME)
 
-if(NEED_GHBN_LIBRARY)
+if (NEED_GHBN_LIBRARY)
   check_library_exists(nsl gethostbyname "" HAVE_NSL_LIBRARY)
-  if(HAVE_INET_LIBRARY)
+  if (HAVE_INET_LIBRARY)
     set(GHBN_LIBRARY "inet")
     set(NEED_GHBN_LIBRARY 0)
-  endif(HAVE_INET_LIBRARY)
-endif(NEED_GHBN_LIBRARY)
+  endif (HAVE_INET_LIBRARY)
+endif (NEED_GHBN_LIBRARY)
 
 #--------------------------------------------------------------------
 # 64 bit
 #--------------------------------------------------------------------
 function(tcl_check_c_flag flag VAR)
-  if(NOT DEFINED ${VAR})
+  if (NOT DEFINED ${VAR})
     string(TOUPPER ${flag} UPPER_FLAG)
     string(REGEX REPLACE " " "_" UPPER_FLAG ${UPPER_FLAG})
     string(REGEX REPLACE "=" "_" UPPER_FLAG ${UPPER_FLAG})
     check_c_compiler_flag(-${flag} ${UPPER_FLAG}_COMPILER_FLAG)
-    if(${UPPER_FLAG}_COMPILER_FLAG)
+    if (${UPPER_FLAG}_COMPILER_FLAG)
       set(${VAR} "-${flag}" PARENT_SCOPE)
-    endif(${UPPER_FLAG}_COMPILER_FLAG)
-  endif(NOT DEFINED ${VAR})
+    endif (${UPPER_FLAG}_COMPILER_FLAG)
+  endif (NOT DEFINED ${VAR})
 endfunction(tcl_check_c_flag flag VAR)
 
-if(${CMAKE_SIZEOF_VOID_P} MATCHES "^8$" OR CMAKE_CL_64)
-  if(NOT DEFINED 64BIT_FLAG)
+if (${CMAKE_SIZEOF_VOID_P} MATCHES "^8$" OR CMAKE_CL_64)
+  if (NOT DEFINED 64BIT_FLAG)
     tcl_check_c_flag("arch x86_64" 64BIT_FLAG)
     tcl_check_c_flag("64" 64BIT_FLAG)
     tcl_check_c_flag("mabi=64" 64BIT_FLAG)
     tcl_check_c_flag("m64" 64BIT_FLAG)
     tcl_check_c_flag("q64" 64BIT_FLAG)
-  endif(NOT DEFINED 64BIT_FLAG)
-  if(CMAKE_CL_64)
+  endif (NOT DEFINED 64BIT_FLAG)
+  if (CMAKE_CL_64)
     add_definitions(-D_stati64=_stat64)
-  endif(CMAKE_CL_64)
-endif(${CMAKE_SIZEOF_VOID_P} MATCHES "^8$" OR CMAKE_CL_64)
+  endif (CMAKE_CL_64)
+endif (${CMAKE_SIZEOF_VOID_P} MATCHES "^8$" OR CMAKE_CL_64)
 
 #--------------------------------------------------------------------
 # optimization and debugging
 #--------------------------------------------------------------------
 check_c_compiler_flag(-g HAVE_G_FLAG)
-if(HAVE_G_FLAG)
+if (HAVE_G_FLAG)
   add_definitions(-DTCL_CFG_DEBUG=1)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
-endif(HAVE_G_FLAG)
+endif (HAVE_G_FLAG)
 
 check_c_compiler_flag(-O2 HAVE_O2_FLAG)
-if(HAVE_O2_FLAG)
+if (HAVE_O2_FLAG)
   add_definitions(-DTCL_CFG_OPTIMIZED=1)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
-endif(HAVE_O2_FLAG)
+endif (HAVE_O2_FLAG)
 
 #-------------------------------------------------------------------- 
 #       Check endianness because we can optimize comparisons of
 #       Tcl_UniChar strings to memcmp on big-endian systems.
 #--------------------------------------------------------------------
-if(NOT WIN32)
+if (NOT WIN32)
   include(TestBigEndian)
   test_big_endian(WORDS_BIGENDIAN)
-  if(WORDS_BIGENDIAN)
+  if (WORDS_BIGENDIAN)
     add_definitions(-DWORDS_BIGENDIAN=1)
-  endif(WORDS_BIGENDIAN)
-endif(NOT WIN32)
+  endif (WORDS_BIGENDIAN)
+endif (NOT WIN32)
 
 #--------------------------------------------------------------------
 # If we ended up enabling threads, look for thread safe variations
@@ -536,24 +536,24 @@
 function(tcl_5_4_arg_functest func srcs5 srcs4)
   string(TOUPPER "${func}" UPPERFUNC)
   Tcl_Check_Function_Exists(${func})
-  if(HAVE_${UPPERFUNC})
+  if (HAVE_${UPPERFUNC})
     set(HAVE_${UPPERFUNC} 1 PARENT_SCOPE)
     # Do we have the 5 arg or the 4 arg version?
     check_c_source_compiles("${${srcs5}}" HAVE_${UPPERFUNC}_5)
-    if(HAVE_${UPPERFUNC}_5)
+    if (HAVE_${UPPERFUNC}_5)
       set(HAVE_${UPPERFUNC}_5 1 PARENT_SCOPE)
       add_definitions(-DHAVE_${UPPERFUNC}_5=1)
     else(HAVE_${UPPERFUNC}_5)
       check_c_source_compiles("${${srcs4}}" HAVE_${UPPERFUNC}_4)
-      if(HAVE_${UPPERFUNC}_4)
+      if (HAVE_${UPPERFUNC}_4)
        set(HAVE_${UPPERFUNC}_4 1 PARENT_SCOPE)
        add_definitions(-DHAVE_${UPPERFUNC}_4=1)
-      endif(HAVE_${UPPERFUNC}_4)
-    endif(HAVE_${UPPERFUNC}_5)
-  endif(HAVE_${UPPERFUNC})
+      endif (HAVE_${UPPERFUNC}_4)
+    endif (HAVE_${UPPERFUNC}_5)
+  endif (HAVE_${UPPERFUNC})
 endfunction(tcl_5_4_arg_functest)
 
-if(NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
+if (NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
 
   #------------------------------------------------------------------
   # getpwuid_r
@@ -663,17 +663,17 @@
 return 0;}
   ")
   Tcl_Check_Function_Exists(gethostbyaddr_r)
-  if(HAVE_GETHOSTBYADDR_R)
+  if (HAVE_GETHOSTBYADDR_R)
     check_c_source_compiles("${gethostbyaddr_r_7_src}" HAVE_GETHOSTBYADDR_R_7)
-    if(HAVE_GETHOSTBYADDR_R_7)
+    if (HAVE_GETHOSTBYADDR_R_7)
       add_definitions(-DHAVE_GETHOSTBYADDR_R_7=1)
     else(HAVE_GETHOSTBYADDR_R_7)
       check_c_source_compiles("${gethostbyaddr_r_8_src}" 
HAVE_GETHOSTBYADDR_R_8)
-      if(HAVE_GETHOSTBYADDR_R_8)
+      if (HAVE_GETHOSTBYADDR_R_8)
        add_definitions(-DHAVE_GETHOSTBYADDR_R_8=1)
-      endif(HAVE_GETHOSTBYADDR_R_8)
-    endif(HAVE_GETHOSTBYADDR_R_7)
-  endif(HAVE_GETHOSTBYADDR_R)
+      endif (HAVE_GETHOSTBYADDR_R_8)
+    endif (HAVE_GETHOSTBYADDR_R_7)
+  endif (HAVE_GETHOSTBYADDR_R)
 
   #------------------------------------------------------------------
   # gethostbyname_r
@@ -701,34 +701,34 @@
 return 0;}
   ")
   Tcl_Check_Function_Exists(gethostbyname_r)
-  if(HAVE_GETHOSTBYNAME_R)
+  if (HAVE_GETHOSTBYNAME_R)
     check_c_source_compiles("${gethostbyname_r_6_src}" HAVE_GETHOSTBYNAME_R_6)
-    if(HAVE_GETHOSTBYNAME_R_6)
+    if (HAVE_GETHOSTBYNAME_R_6)
       add_definitions(-DHAVE_GETHOSTBYNAME_R_6=1)
     else(HAVE_GETHOSTBYNAME_R_6)
       check_c_source_compiles("${gethostbyname_r_5_src}" 
HAVE_GETHOSTBYNAME_R_5)
-      if(HAVE_GETHOSTBYNAME_R_5)
+      if (HAVE_GETHOSTBYNAME_R_5)
        add_definitions(-DHAVE_GETHOSTBYNAME_R_5=1)
       else(HAVE_GETHOSTBYNAME_R_5)
        check_c_source_compiles("${gethostbyname_r_3_src}" 
HAVE_GETHOSTBYNAME_R_3)
-       if(HAVE_GETHOSTBYNAME_R_3)
+       if (HAVE_GETHOSTBYNAME_R_3)
          add_definitions(-DHAVE_GETHOSTBYNAME_R_3=1)
-       endif(HAVE_GETHOSTBYNAME_R_3)
-      endif(HAVE_GETHOSTBYNAME_R_5)
-    endif(HAVE_GETHOSTBYNAME_R_6)
-  endif(HAVE_GETHOSTBYNAME_R)
+       endif (HAVE_GETHOSTBYNAME_R_3)
+      endif (HAVE_GETHOSTBYNAME_R_5)
+    endif (HAVE_GETHOSTBYNAME_R_6)
+  endif (HAVE_GETHOSTBYNAME_R)
 
 
   # Darwin srcs take extra flags (TODO - is this still needed in 8.6?)
-  if(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+  if (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
     string(REGEX REPLACE "\\..*" "" CMAKE_SYSTEM_MAJOR_VERSION 
${CMAKE_SYSTEM_VERSION})
-    if(${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
+    if (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
       add_definitions(-DHAVE_MTSAFE_GETHOSTBYNAME=1)
       add_definitions(-DHAVE_MTSAFE_GETHOSTBYADDR=1)
-    endif(${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
-  endif(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+    endif (${CMAKE_SYSTEM_MAJOR_VERSION} GREATER 5)
+  endif (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
 
-endif(NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
+endif (NOT ${CMAKE_THREAD_LIBS_INIT} STREQUAL "")
 
 #--------------------------------------------------------------------
 include("${CMAKE_CURRENT_SOURCE_DIR}/CMake/tcl.cmake")
@@ -745,9 +745,9 @@
 TCL_CHECK_STRUCT_HAS_MEMBER("struct stat" st_blocks sys/stat.h 
HAVE_STRUCT_STAT_ST_BLOCKS)
 TCL_CHECK_STRUCT_HAS_MEMBER("struct stat" st_blksize sys/stat.h 
HAVE_STRUCT_STAT_ST_BLKSIZE)
 CHECK_TYPE_SIZE(blkcnt_t HAVE_BLKCNT_T)
-IF(HAVE_BLKCNT_T)
+if (HAVE_BLKCNT_T)
   add_definitions(-DHAVE_BLKCNT_T=1)
-ENDIF(HAVE_BLKCNT_T)
+endif (HAVE_BLKCNT_T)
 
 #---------------------------------------------------------------------------
 # Check for memmove
@@ -754,13 +754,13 @@
 #---------------------------------------------------------------------------
 # need to revisit this, not finding memmove
 #TCL_CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
-#IF(NOT HAVE_MEMMOVE)
+#if (NOT HAVE_MEMMOVE)
 #      add_definitions(-DNO_MEMMOVE=1)
 #      TCL_CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
-#      IF(NOT HAVE_STRING_H)
+#      if (NOT HAVE_STRING_H)
 #              add_definitions(-DNO_STRING_H=1)
-#      ENDIF(NOT HAVE_STRING_H)
-#ENDIF(NOT HAVE_MEMMOVE)
+#      endif (NOT HAVE_STRING_H)
+#endif (NOT HAVE_MEMMOVE)
 
 #--------------------------------------------------------------------
 #       Check for various typedefs and provide substitutes if
@@ -775,37 +775,37 @@
 TCL_CHECK_TYPE_SIZE(intptr_t HAVE_INTPTR)
 TCL_CHECK_TYPE_SIZE(uintptr_t HAVE_UINTPTR)
 
-IF(NOT HAVE_OPENDIR)
+if (NOT HAVE_OPENDIR)
   add_definitions(-DUSE_DIRENT2_H=1)
-ENDIF(NOT HAVE_OPENDIR)
+endif (NOT HAVE_OPENDIR)
 
 #----------------------------------------------------------------------------
 # Check for strncasecmp
 #----------------------------------------------------------------------------
 CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP)
-IF(NOT HAVE_STRNCASECMP)
+if (NOT HAVE_STRNCASECMP)
   CHECK_LIBRARY_EXISTS(socket strncasecmp "" HAVE_SOCKET_STRNCASECMP)
   CHECK_LIBRARY_EXISTS(inet strncasecmp "" HAVE_INET_STRNCASECMP)
-  IF(NOT HAVE_SOCKET_STRNCASECMP AND NOT HAVE_INET_STRNCASECMP)
-    SET(COMPAT_SRCS ${COMPAT_SRCS} compat/strncasecmp.c)
-  ENDIF(NOT HAVE_SOCKET_STRNCASECMP AND NOT HAVE_INET_STRNCASECMP)
-ENDIF(NOT HAVE_STRNCASECMP)
+  if (NOT HAVE_SOCKET_STRNCASECMP AND NOT HAVE_INET_STRNCASECMP)
+    set(COMPAT_SRCS ${COMPAT_SRCS} compat/strncasecmp.c)
+  endif (NOT HAVE_SOCKET_STRNCASECMP AND NOT HAVE_INET_STRNCASECMP)
+endif (NOT HAVE_STRNCASECMP)
 
 #----------------------------------------------------------------------------
 # gettimeofday issues
 #----------------------------------------------------------------------------
 TCL_CHECK_FUNCTION_EXISTS(BSDgettimeofday HAVE_BSDGETTIMEOFDAY)
-IF(NOT HAVE_BSDGETTIMEOFDAY)
+if (NOT HAVE_BSDGETTIMEOFDAY)
   CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
-  IF(NOT HAVE_GETTIMEOFDAY)
+  if (NOT HAVE_GETTIMEOFDAY)
     add_definitions(-DNO_GETTOD=1)
-  ENDIF(NOT HAVE_GETTIMEOFDAY)
-ENDIF(NOT HAVE_BSDGETTIMEOFDAY)
+  endif (NOT HAVE_GETTIMEOFDAY)
+endif (NOT HAVE_BSDGETTIMEOFDAY)
 INCLUDE(CheckSymbolExists)
 CHECK_SYMBOL_EXISTS(gettimeofday "sys/time.h" IS_GETTOD_DECLARED)
-IF(NOT IS_GETTOD_DECLARED)
+if (NOT IS_GETTOD_DECLARED)
   add_definitions(-DGETTOD_NOT_DECLARED=1)
-ENDIF(NOT IS_GETTOD_DECLARED)
+endif (NOT IS_GETTOD_DECLARED)
 
 
 #----------------------------------------------------------------------------
@@ -812,7 +812,7 @@
 # signed/unsigned char - does the Tcl code still need this? See
 # http://lists.gnu.org/archive/html/autoconf/2008-06/msg00054.html
 #----------------------------------------------------------------------------
-SET(unsigned_char_srcs "
+set(unsigned_char_srcs "
 int main () {
    static int test_array [1 - 2 * !(((char) -1) < 0)];
    test_array [0] = 0;
@@ -819,13 +819,13 @@
    return 0;
 }
 ")
-if(NOT DEFINED CHAR_IS_UNSIGNED)
+if (NOT DEFINED CHAR_IS_UNSIGNED)
    CHECK_C_SOURCE_RUNS("${unsigned_char_srcs}" CHAR_IS_UNSIGNED)
-endif(NOT DEFINED CHAR_IS_UNSIGNED)
-IF(CHAR_IS_UNSIGNED)
+endif (NOT DEFINED CHAR_IS_UNSIGNED)
+if (CHAR_IS_UNSIGNED)
   add_definitions(-D__CHAR_UNSIGNED__)
-ENDIF(CHAR_IS_UNSIGNED)
-SET(signed_char_srcs "
+endif (CHAR_IS_UNSIGNED)
+set(signed_char_srcs "
 int main () {
    signed char *p;
        p = 0;
@@ -833,9 +833,9 @@
 }
 ")
 CHECK_C_SOURCE_COMPILES("${signed_char_srcs}" HAVE_SIGNED_CHAR)
-IF(HAVE_SIGNED_CHAR)
+if (HAVE_SIGNED_CHAR)
   add_definitions(-DHAVE_SIGNED_CHAR=1)
-ENDIF(HAVE_SIGNED_CHAR)
+endif (HAVE_SIGNED_CHAR)
 
 #--------------------------------------------------------------------
 # Check for chflags and mkstemps
@@ -844,7 +844,7 @@
 #--------------------------------------------------------------------
 # Check for support of isnan() function or macro
 #--------------------------------------------------------------------
-SET(isnan_srcs "
+set(isnan_srcs "
 #include <math.h>
 int main () {
    isnan(0.0); /* Generates an error if isnan is missing */
@@ -851,17 +851,17 @@
        return 0;
 }
 ")
-if(NOT DEFINED USABLE_ISNAN)
+if (NOT DEFINED USABLE_ISNAN)
   CHECK_C_SOURCE_RUNS("${isnan_srcs}" USABLE_ISNAN)
-endif(NOT DEFINED USABLE_ISNAN)
-IF(NOT USABLE_ISNAN)
+endif (NOT DEFINED USABLE_ISNAN)
+if (NOT USABLE_ISNAN)
   add_definitions(-DNO_ISNAN=1)
-ENDIF(NOT USABLE_ISNAN)
+endif (NOT USABLE_ISNAN)
 
 #----------------------------------------------------------------------------
 # Darwin specific API checks and defines
 #--------------------------------------------------------------------
-IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+if (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
   TCL_CHECK_FUNCTION_EXISTS(getattrlist HAVE_GETATTRLIST)
   TCL_CHECK_INCLUDE_FILE(copyfile.h HAVE_COPYFILE_H)
   TCL_CHECK_FUNCTION_EXISTS(copyfile HAVE_COPYFILE)
@@ -871,11 +871,11 @@
   add_definitions(-DTCL_DEFAULT_ENCODING="utf-8")
   add_definitions(-DTCL_LOAD_FROM_MEMORY=1)
   add_definitions(-DTCL_WIDE_CLICKS=1)
-  IF(HAVE_AVAILABILITYMACROS_H)
+  if (HAVE_AVAILABILITYMACROS_H)
 
     add_definitions(-DHAVE_AVAILABILITYMACROS_H=1)
 
-    SET(WEAK_IMPORT_SRCS "
+    set(WEAK_IMPORT_SRCS "
 #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
 #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1020
@@ -890,11 +890,11 @@
 }
                ")
     CHECK_C_SOURCE_COMPILES("${WEAK_IMPORT_SRCS}" WEAK_IMPORT_WORKING)
-    IF(WEAK_IMPORT_WORKING)
+    if (WEAK_IMPORT_WORKING)
       add_definitions(-DHAVE_WEAK_IMPORT=1)
-    ENDIF(WEAK_IMPORT_WORKING)
+    endif (WEAK_IMPORT_WORKING)
 
-    SET(SUSV3_SRCS "
+    set(SUSV3_SRCS "
 #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
 #error __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1050
@@ -908,17 +908,17 @@
 int main ()    {return 0;}
                ")
     CHECK_C_SOURCE_COMPILES("${SUSV3_SRCS}" SUSV3_WORKING)
-    IF(SUSV3_WORKING)
+    if (SUSV3_WORKING)
       add_definitions(-D_DARWIN_C_SOURCE=1)
-    ENDIF(SUSV3_WORKING)
+    endif (SUSV3_WORKING)
 
-  ENDIF(HAVE_AVAILABILITYMACROS_H)
-ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+  endif (HAVE_AVAILABILITYMACROS_H)
+endif (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
 
 #--------------------------------------------------------------------
 #       Check for support of fts functions (readdir replacement)
 #--------------------------------------------------------------------
-SET(FTS_SRCS "
+set(FTS_SRCS "
 #include <sys/param.h>
 #include <sys/stat.h>
 #include <fts.h>
@@ -931,9 +931,9 @@
 }
 ")
 CHECK_C_SOURCE_COMPILES("${FTS_SRCS}" FTS_WORKING)
-IF(FTS_WORKING)
+if (FTS_WORKING)
   add_definitions(-DHAVE_FTS=1)
-ENDIF(FTS_WORKING)
+endif (FTS_WORKING)
 
 # TODO SC_BLOCKING_STYLE is for older systems, do we still need it?
 
@@ -942,22 +942,22 @@
 #       to be installed by Tcl. The default is autodetection, but can
 #       be overriden on the configure command line either way.
 #------------------------------------------------------------------------
-IF(TCL_TIMEZONE_DATA)
-  IF(${TCL_TIMEZONE_DATA} STREQUAL "")
-    SET(TCL_TIMEZONE_DATA "AUTO" CACHE STRING "Use Tcl's local timezone data")
-  ENDIF(${TCL_TIMEZONE_DATA} STREQUAL "")
-ELSE(TCL_TIMEZONE_DATA)
-  SET(TCL_TIMEZONE_DATA "AUTO" CACHE STRING "Use Tcl's local timezone data")
-ENDIF(TCL_TIMEZONE_DATA)
-IF(${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
-  SET(LOCAL_TZ_DATA OFF)
+if (TCL_TIMEZONE_DATA)
+  if (${TCL_TIMEZONE_DATA} STREQUAL "")
+    set(TCL_TIMEZONE_DATA "AUTO" CACHE STRING "Use Tcl's local timezone data")
+  endif (${TCL_TIMEZONE_DATA} STREQUAL "")
+else (TCL_TIMEZONE_DATA)
+  set(TCL_TIMEZONE_DATA "AUTO" CACHE STRING "Use Tcl's local timezone data")
+endif (TCL_TIMEZONE_DATA)
+if (${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
+  set(LOCAL_TZ_DATA OFF)
   find_package(TIMEZONE)
-  IF(NOT TIMEZONE_FOUND)
-    SET(LOCAL_TZ_DATA ON)
-  ENDIF(NOT TIMEZONE_FOUND)
-ELSE(${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
-  SET(LOCAL_TZ_DATA ${TCL_TIMEZONE_DATA})
-ENDIF(${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
+  if (NOT TIMEZONE_FOUND)
+    set(LOCAL_TZ_DATA ON)
+  endif (NOT TIMEZONE_FOUND)
+else (${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
+  set(LOCAL_TZ_DATA ${TCL_TIMEZONE_DATA})
+endif (${TCL_TIMEZONE_DATA} STREQUAL "AUTO")
 
 #--------------------------------------------------------------------
 #       DTrace support
@@ -967,16 +967,16 @@
 #--------------------------------------------------------------------
 #  Does the C stack grow upwards or downwards? Or cross-compiling?
 #--------------------------------------------------------------------
-SET(C_STACK_SRC "
+set(C_STACK_SRC "
 int StackGrowsUp(int *parent) { int here; return (&here < parent); }
 int main (int argc, char *argv[]) { int foo; return StackGrowsUp(&foo); }
 ")
-if(NOT DEFINED STACK_GROWS_UP)
+if (NOT DEFINED STACK_GROWS_UP)
   CHECK_C_SOURCE_RUNS("${C_STACK_SRC}" STACK_GROWS_UP)
-endif(NOT DEFINED STACK_GROWS_UP)
-IF(STACK_GROWS_UP)
+endif (NOT DEFINED STACK_GROWS_UP)
+if (STACK_GROWS_UP)
   add_definitions(-DTCL_STACK_GROWS_UP=1)
-ENDIF(STACK_GROWS_UP)
+endif (STACK_GROWS_UP)
 
 CHECK_FD_SET_IN_TYPES_D()
 
@@ -986,20 +986,20 @@
 # TODO
 
 # If we collected any compat sources, pass the flag
-IF(COMPAT_SRCS OR USE_COMPAT)
+if (COMPAT_SRCS OR USE_COMPAT)
   add_definitions(-DUSE_COMPAT=1)
-ENDIF(COMPAT_SRCS OR USE_COMPAT)
+endif (COMPAT_SRCS OR USE_COMPAT)
 
-IF(APPLE)
+if (APPLE)
   # Now that all the tests are done, configure the tclConfig.h file:
   configure_file(${CMAKE_CURRENT_SOURCE_DIR}/unix/tclConfig.h.in 
${TCL_BINARY_DIR}/include/tclConfig.h)
-ENDIF(APPLE)
+endif (APPLE)
 
 #--------------------------------------------------------------------
 # At a minimum, this is needed for init.tcl setup
 ADD_SUBDIRECTORY(library)
 
-SET(TCL_GENERIC_SRCS
+set(TCL_GENERIC_SRCS
   generic/regcomp.c
   generic/regexec.c
   generic/regfree.c
@@ -1080,7 +1080,7 @@
   generic/tclTomMathInterface.c
   )
 
-SET(TCL_TEST_SRCS
+set(TCL_TEST_SRCS
   generic/tclTest.c
   generic/tclThreadTest.c
   unix/tclUnixTest.c
@@ -1088,9 +1088,9 @@
   win/tclWinTest.c
   )
 
-IF(TCL_TOMMATH)
-  SET(TCL_GENERIC_SRCS ${TCL_GENERIC_SRCS} generic/tclTomMathInterface.c)
-ENDIF(TCL_TOMMATH)
+if (TCL_TOMMATH)
+  set(TCL_GENERIC_SRCS ${TCL_GENERIC_SRCS} generic/tclTomMathInterface.c)
+endif (TCL_TOMMATH)
 
 SET_PROPERTY(SOURCE generic/tclPkgConfig.c APPEND PROPERTY COMPILE_DEFINITIONS 
CFG_INSTALL_LIBDIR="${CMAKE_INSTALL_PREFIX}/lib")
 SET_PROPERTY(SOURCE generic/tclPkgConfig.c APPEND PROPERTY COMPILE_DEFINITIONS 
CFG_INSTALL_BINDIR="${CMAKE_INSTALL_PREFIX}/bin")
@@ -1104,7 +1104,7 @@
 SET_PROPERTY(SOURCE generic/tclPkgConfig.c APPEND PROPERTY COMPILE_DEFINITIONS 
CFG_RUNTIME_DOCDIR="${CMAKE_INSTALL_PREFIX}/share/man")
 
 
-SET(TCL_OO_SRCS
+set(TCL_OO_SRCS
   generic/tclOO.c
   generic/tclOOBasic.c
   generic/tclOOCall.c
@@ -1115,13 +1115,13 @@
   )
 
 
-SET(TCL_STUB_SRCS
+set(TCL_STUB_SRCS
   generic/tclStubLib.c
   generic/tclTomMathStubLib.c
   generic/tclOOStubLib.c
   )
 
-SET(TCL_TOMMATH_SRCS
+set(TCL_TOMMATH_SRCS
   libtommath/bn_s_mp_reverse.c
   libtommath/bn_s_mp_mul_digs_fast.c
   libtommath/bn_s_mp_sqr_fast.c
@@ -1187,13 +1187,13 @@
   libtommath/tommath_private.h
   )
 
-SET(TCL_OSX_SRCS
+set(TCL_OSX_SRCS
   macosx/tclMacOSXBundle.c
   macosx/tclMacOSXFCmd.c
   macosx/tclMacOSXNotify.c
   )
 
-SET(TCL_WIN_SRCS
+set(TCL_WIN_SRCS
   win/tcl.rc
   win/tclAppInit.c
   win/tclWin32Dll.c
@@ -1221,9 +1221,8 @@
 set_property(SOURCE win/tclMainUNICODE.c APPEND PROPERTY COMPILE_DEFINITIONS 
TCL_UNICODE)
 set_property(SOURCE win/tclAppInit.c APPEND PROPERTY COMPILE_DEFINITIONS 
TCL_UNICODE)
 
-SET(TCL_UNIX_SRCS
+set(TCL_UNIX_SRCS
   unix/tclAppInit.c
-  unix/tclLoadDl.c
   unix/tclUnixChan.c
   unix/tclUnixCompat.c
   unix/tclUnixEvent.c
@@ -1240,38 +1239,30 @@
 SET_PROPERTY(SOURCE unix/tclUnixInit.c APPEND PROPERTY COMPILE_DEFINITIONS 
TCL_LIBRARY="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}tcl${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR}${CMAKE_SHARED_LIBRARY_SUFFIX}")
 SET_PROPERTY(SOURCE unix/tclUnixInit.c APPEND PROPERTY COMPILE_DEFINITIONS 
TCL_PACKAGE_PATH="${CMAKE_INSTALL_PREFIX}/lib")
 
-SET(TCL_NOTIFY_SRCS
+set(TCL_NOTIFY_SRCS
   unix/tclUnixNotfy.c
   )
 
-SET(TCL_DL_SRCS
-  unix/tclLoadAix.c
-  unix/tclLoadDl.c
-  unix/tclLoadDyld.c
-  generic/tclLoadNone.c
-  unix/tclLoadOSF.c
-  unix/tclLoadShl.c
-  )
 
-SET(TCL_SRCS ${TCL_GENERIC_SRCS} ${TCL_OO_SRCS} ${TCL_TOMMATH_SRCS} 
${TCL_STUB_SRCS})
-IF(WIN32)
-  SET(TCL_SRCS ${TCL_SRCS} ${TCL_WIN_SRCS})
-ELSE(WIN32)
-  SET(TCL_SRCS ${TCL_SRCS} ${TCL_NOTIFY_SRCS} ${TCL_UNIX_SRCS})
-  IF(APPLE)
-    SET(TCL_SRCS ${TCL_SRCS} ${TCL_OSX_SRCS} unix/tclLoadDyld.c)
-  ENDIF(APPLE)
-  IF(NOT APPLE)
-    SET(TCL_SRCS ${TCL_SRCS} unix/tclLoadDl.c)
-  ENDIF(NOT APPLE)
-ENDIF(WIN32)
+set(TCL_SRCS ${TCL_GENERIC_SRCS} ${TCL_OO_SRCS} ${TCL_TOMMATH_SRCS} 
${TCL_STUB_SRCS})
+if (WIN32)
+  set(TCL_SRCS ${TCL_SRCS} ${TCL_WIN_SRCS})
+else (WIN32)
+  set(TCL_SRCS ${TCL_SRCS} ${TCL_NOTIFY_SRCS} ${TCL_UNIX_SRCS})
+  if (APPLE)
+    set(TCL_SRCS ${TCL_SRCS} ${TCL_OSX_SRCS} unix/tclLoadDyld.c)
+  endif (APPLE)
+  if (NOT APPLE)
+    set(TCL_SRCS ${TCL_SRCS} unix/tclLoadDl.c)
+  endif (NOT APPLE)
+endif (WIN32)
 
-SET(TCL_INCLUDE_PATH ${TCL_SOURCE_DIR}/generic ${TCL_SOURCE_DIR}/libtommath 
${TCL_BINARY_DIR}/include)
-IF(WIN32)
-  SET(TCL_INCLUDE_PATH ${TCL_SOURCE_DIR}/win ${TCL_INCLUDE_PATH})
-ELSE(WIN32)
-  SET(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} ${TCL_SOURCE_DIR}/unix)
-ENDIF(WIN32)
+set(TCL_INCLUDE_PATH ${TCL_SOURCE_DIR}/generic ${TCL_SOURCE_DIR}/libtommath 
${TCL_BINARY_DIR}/include)
+if (WIN32)
+  set(TCL_INCLUDE_PATH ${TCL_SOURCE_DIR}/win ${TCL_INCLUDE_PATH})
+else (WIN32)
+  set(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} ${TCL_SOURCE_DIR}/unix)
+endif (WIN32)
 
 include_directories(
   ${TCL_INCLUDE_PATH}
@@ -1304,19 +1295,19 @@
        LIBRARY DESTINATION ${LIB_DIR}
        ARCHIVE DESTINATION ${LIB_DIR})
 set_target_properties(tcl PROPERTIES VERSION ${TCL_VERSION} SOVERSION 
${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR})
-IF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+if (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
   set_target_properties(tcl PROPERTIES LINK_FLAGS "-compatibility_version 
${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR} -current_version ${TCL_VERSION} 
-install_name \"$<TARGET_FILE>\" -seg1addr 0xa000000 -sectcreate __TEXT 
__info_plist \"${TCL_BINARY_DIR}/Tcl-Info.plist\"")
   set(EXTRA_TCLSH_LIBS "-sectcreate __TEXT __info_plist 
\"${TCL_BINARY_DIR}/Tclsh-Info.plist\"")
   configure_file(${CMAKE_CURRENT_SOURCE_DIR}/macosx/Tcl-Info.plist.in 
${TCL_BINARY_DIR}/Tcl-Info.plist)
   configure_file(${CMAKE_CURRENT_SOURCE_DIR}/macosx/Tclsh-Info.plist.in 
${TCL_BINARY_DIR}/Tclsh-Info.plist)
-ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
+endif (${CMAKE_SYSTEM_NAME} MATCHES "^Darwin$")
 
 
 add_library(tclstub STATIC ${TCL_STUB_SRCS})
 target_link_libraries(tclstub ${TCL_LINK_LIBS})
-if(FPIC_COMPILER_FLAG)
+if (FPIC_COMPILER_FLAG)
   set_target_properties(tclstub PROPERTIES COMPILE_FLAGS "-fPIC")
-endif(FPIC_COMPILER_FLAG)
+endif (FPIC_COMPILER_FLAG)
 install(TARGETS tclstub
   RUNTIME DESTINATION ${BIN_DIR}
   LIBRARY DESTINATION ${LIB_DIR}
@@ -1323,11 +1314,11 @@
   ARCHIVE DESTINATION ${LIB_DIR})
 
 
-IF(WIN32)
+if (WIN32)
   set(TCLSH_SRCS win/tclAppInit.c win/tclsh.rc)
-ELSE(WIN32)
-  SET(TCLSH_SRCS unix/tclAppInit.c)
-ENDIF(WIN32)
+else (WIN32)
+  set(TCLSH_SRCS unix/tclAppInit.c)
+endif (WIN32)
 
 set_property(SOURCE win/tclAppInit.c APPEND PROPERTY COMPILE_DEFINITIONS 
TCL_UNICODE)
 add_executable(tclsh ${TCLSH_SRCS})
@@ -1335,7 +1326,7 @@
 install(TARGETS tclsh DESTINATION bin)
 set_target_properties(tclsh PROPERTIES VERSION 
${TCL_VERSION_MAJOR}.${TCL_VERSION_MINOR})
 
-SET(TCL_HDRS
+set(TCL_HDRS
   generic/tcl.h
   generic/tclDecls.h
   generic/tclPlatDecls.h
@@ -1349,7 +1340,7 @@
 # Set up build directory copies of the public headers
 foreach(hdrfile ${TCL_HDRS})
   get_filename_component(hf ${hdrfile} NAME)
-  if(NOT CMAKE_CONFIGURATION_TYPES)
+  if (NOT CMAKE_CONFIGURATION_TYPES)
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile} 
${CMAKE_BINARY_DIR}/${INCLUDE_DIR}/${hf} COPYONLY)
   else(NOT CMAKE_CONFIGURATION_TYPES)
     foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
@@ -1356,7 +1347,7 @@
       string(TOUPPER "${CFG_TYPE}" CFG_TYPE_UPPER)
     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${hdrfile} 
${CMAKE_BINARY_DIR_${CFG_TYPE_UPPER}}/${INCLUDE_DIR}/${hf} COPYONLY)
     endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
-  endif(NOT CMAKE_CONFIGURATION_TYPES)
+  endif (NOT CMAKE_CONFIGURATION_TYPES)
 endforeach(hdrfile ${TCL_HDRS})
 
 MARK_AS_ADVANCED(TCL_LIBRARIES TCL_CONF_PREFIX TCL_INCLUDE_PATH 
TCL_INCLUDE_PATH)

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to