Index: include/dm-Null.h
===================================================================
--- include/dm-Null.h	(Revision 59279)
+++ include/dm-Null.h	(Arbeitskopie)
@@ -163,10 +163,6 @@
 
 
 DM_EXPORT extern int
-null_draw(struct dm *dmp, struct bn_vlist *(*callback_function)(void *), genptr_t *data);
-
-
-DM_EXPORT extern int
 null_fg(struct dm *dmp, unsigned char r, unsigned char g, unsigned char b, int strict, fastf_t transparency);
 
 
Index: include/raytrace.h
===================================================================
--- include/raytrace.h	(Revision 59279)
+++ include/raytrace.h	(Arbeitskopie)
@@ -3593,9 +3593,6 @@
 /** @} */
 
 /* db_anim.c */
-RT_EXPORT extern struct animate *db_parse_1anim(struct db_i     *dbip,
-						int             argc,
-						const char      **argv);
 
 
 /**
@@ -4933,10 +4930,6 @@
  */
 RT_EXPORT extern int rt_comb_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp);
 
-/* extrude.c */
-RT_EXPORT extern int rt_extrude_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp);
-
-
 /**
  * "open" an in-memory-only database instance.  this initializes a
  * dbip for use, creating an inmem dbi_wdbp as the means to add
@@ -5127,10 +5120,8 @@
  */
 RT_EXPORT extern int db_dirdelete(struct db_i *,
 				  struct directory *dp);
-RT_EXPORT extern int db_fwrite_ident(FILE *,
-				     const char *,
-				     double);
 
+
 /**
  * D B _ P R _ D I R
  *
@@ -6023,21 +6014,11 @@
 			     point_t p);
 
 /* pr.c */
-RT_EXPORT extern void rt_pr_soltab(const struct soltab *stp);
-RT_EXPORT extern void rt_pr_region(const struct region *rp);
-RT_EXPORT extern void rt_pr_partitions(const struct rt_i *rtip,
-				       const struct partition	*phead,
-				       const char *title);
 RT_EXPORT extern void rt_pr_pt_vls(struct bu_vls *v,
 				   const struct rt_i *rtip,
 				   const struct partition *pp);
-RT_EXPORT extern void rt_pr_pt(const struct rt_i *rtip,
-			       const struct partition *pp);
 RT_EXPORT extern void rt_pr_seg_vls(struct bu_vls *,
 				    const struct seg *);
-RT_EXPORT extern void rt_pr_seg(const struct seg *segp);
-RT_EXPORT extern void rt_pr_hit(const char *str,
-				const struct hit	*hitp);
 RT_EXPORT extern void rt_pr_hit_vls(struct bu_vls *v,
 				    const char *str,
 				    const struct hit *hitp);
@@ -6045,15 +6026,9 @@
 					 const char *str,
 					 const struct hit *hitp,
 					 int count);
-RT_EXPORT extern void rt_pr_tree(const union tree *tp,
-				 int lvl);
 RT_EXPORT extern void rt_pr_tree_vls(struct bu_vls *vls,
 				     const union tree *tp);
 RT_EXPORT extern char *rt_pr_tree_str(const union tree *tree);
-RT_EXPORT extern void rt_pr_tree_val(const union tree *tp,
-				     const struct partition *partp,
-				     int pr_name,
-				     int lvl);
 RT_EXPORT extern void rt_pr_fallback_angle(struct bu_vls *str,
 					   const char *prefix,
 					   const double angles[5]);
@@ -6257,26 +6232,7 @@
 RT_EXPORT extern struct bn_vlblock *bn_vlblock_init(struct bu_list	*free_vlist_hd,	/* where to get/put free vlists */
 						    int		max_ent);
 
-/**
- *
- */
-RT_EXPORT extern struct bn_vlblock *	rt_vlblock_init(void);
 
-
-/**
- *
- */
-RT_EXPORT extern void rt_vlblock_free(struct bn_vlblock *vbp);
-
-/**
- *
- */
-RT_EXPORT extern struct bu_list *rt_vlblock_find(struct bn_vlblock *vbp,
-						 int r,
-						 int g,
-						 int b);
-
-
 /************************************************************************
  *									*
  *			Generic BN_VLIST routines			*
@@ -6418,8 +6374,6 @@
 				    const struct rt_curve *crv_in);
 
 RT_EXPORT extern void rt_curve_free(struct rt_curve *crv);
-RT_EXPORT extern void rt_copy_curve(struct rt_curve *crv_out,
-				    const struct rt_curve *crv_in);
 RT_EXPORT extern struct rt_sketch_internal *rt_copy_sketch(const struct rt_sketch_internal *sketch_ip);
 RT_EXPORT extern int curve_to_tcl_list(struct bu_vls *vls,
 				       struct rt_curve *crv);
@@ -6689,8 +6643,6 @@
 				       const struct edgeuse *eu2);
 
 /* Edge routines */
-RT_EXPORT extern struct edgeuse *nmg_find_matching_eu_in_s(const struct edgeuse	*eu1,
-							   const struct shell	*s2);
 RT_EXPORT extern struct edgeuse	*nmg_findeu(const struct vertex *v1,
 					    const struct vertex *v2,
 					    const struct shell *s,
@@ -6902,8 +6854,6 @@
 RT_EXPORT extern int nmg_mark_edges_real(const uint32_t *magic_p);
 RT_EXPORT extern void nmg_tabulate_face_g_verts(struct bu_ptbl *tab,
 						const struct face_g_plane *fg);
-RT_EXPORT extern void nmg_isect_shell_self(struct shell *s,
-					   const struct bn_tol *tol);
 RT_EXPORT extern struct edgeuse *nmg_next_radial_eu(const struct edgeuse *eu,
 						    const struct shell *s,
 						    const int wires);
@@ -6919,8 +6869,6 @@
 					     struct loopuse *lu);
 RT_EXPORT extern void nmg_loop_plane_newell(const struct loopuse *lu,
 					    plane_t pl);
-RT_EXPORT extern fastf_t nmg_loop_plane_area(const struct loopuse *lu,
-					     plane_t pl);
 RT_EXPORT extern fastf_t nmg_loop_plane_area2(const struct loopuse *lu,
 					      plane_t pl,
 					      const struct bn_tol *tol);
@@ -7108,7 +7056,6 @@
 
 RT_EXPORT extern int rt_bot_same_orientation(const int *a,
 					     const int *b);
-
 RT_EXPORT extern int rt_bot_tess(struct nmgregion **r,
 				 struct model *m,
 				 struct rt_db_internal *ip,
@@ -7121,6 +7068,7 @@
 				 const struct rt_tess_tol	*ttol,
 				 const struct bn_tol		*tol,
 				 const struct rt_view_info *info);
+
 RT_EXPORT extern int rt_brep_plot_poly(struct bu_list		*vhead,
 					  const struct db_full_path *pathp,
 				      struct rt_db_internal	*ip,
@@ -7268,7 +7216,6 @@
 					     struct rt_wdb *wdb);
 RT_EXPORT extern void rt_generic_make(const struct rt_functab *ftp, struct rt_db_internal *intern);
 
-
 /**
  * Add all the supported Tcl interfaces to LIBRT routines to the list
  * of commands known by the given interpreter.
@@ -7597,18 +7544,11 @@
 RT_EXPORT extern int nmg_mesh_shell_shell(struct shell *s1,
 					  struct shell *s2,
 					  const struct bn_tol *tol);
-RT_EXPORT extern double nmg_measure_fu_angle(const struct edgeuse *eu,
-					     const vect_t xvec,
-					     const vect_t yvec,
-					     const vect_t zvec);
 
 /* from nmg_bool.c */
 RT_EXPORT extern struct nmgregion *nmg_do_bool(struct nmgregion *s1,
 					       struct nmgregion *s2,
 					       const int oper, const struct bn_tol *tol);
-RT_EXPORT extern void nmg_shell_coplanar_face_merge(struct shell *s,
-						    const struct bn_tol *tol,
-						    const int simplify);
 RT_EXPORT extern int nmg_two_region_vertex_fuse(struct nmgregion *r1,
 						struct nmgregion *r2,
 						const struct bn_tol *tol);
Index: include/rtserver.h
===================================================================
--- include/rtserver.h	(Revision 59279)
+++ include/rtserver.h	(Arbeitskopie)
@@ -51,14 +51,10 @@
 extern void rts_set_verbosity( int v );
 extern int rts_hit(struct application *ap, struct partition *partHeadp, struct seg *segs);
 extern int rts_miss(struct application *ap);
-extern void getApplication(struct application **ap);
-extern void freeApplication(struct application *ap);
-extern void rts_set_verbosity( int v );
 extern void rts_close_session( int sessionid );
 extern int rts_open_session();
 extern int rts_load_geometry( char *filename, int num_trees, char **objects );
 extern void printHits(struct bu_vlb *vlb);
-extern void get_model_extents( int sessionid, point_t min, point_t max );
 extern void rts_shootray( struct application *ap );
 
 __END_DECLS
Index: misc/CMake/BRLCAD_CompilerFlags.cmake
===================================================================
--- misc/CMake/BRLCAD_CompilerFlags.cmake	(Revision 59279)
+++ misc/CMake/BRLCAD_CompilerFlags.cmake	(Arbeitskopie)
@@ -124,7 +124,7 @@
 #  CHECK_CXX_FLAG(Wcast-qual)
 
 # check for redundant declarations
-#  CHECK_C_FLAG(Wredundant-decls)
+  CHECK_C_FLAG(Wredundant-decls)
 #  CHECK_CXX_FLAG(Wredundant-decls)
 
   # want C inline warnings, but versions of g++ (circa 4.7) spew
Index: src/adrt/librender/texture_perlin.c
===================================================================
--- src/adrt/librender/texture_perlin.c	(Revision 59279)
+++ src/adrt/librender/texture_perlin.c	(Arbeitskopie)
@@ -42,9 +42,6 @@
 #define LERP(t, a, b) (a+t*(b-a))
 
 
-void texture_perlin_init(struct texture_perlin_s *P);
-void texture_perlin_free(struct texture_perlin_s *P);
-fastf_t texture_perlin_noise3(struct texture_perlin_s *P, vect_t V, fastf_t Size, int Depth);
 fastf_t texture_perlin_omega(struct texture_perlin_s *P, vect_t V);
 
 void
Index: src/anim/anim_script.c
===================================================================
--- src/anim/anim_script.c	(Revision 59279)
+++ src/anim/anim_script.c	(Arbeitskopie)
@@ -67,7 +67,6 @@
 
     int c, i, yes;
     double yaw, pch, rll;
-    void anim_dx_y_z2mat(fastf_t *, double, double, double), anim_dz_y_x2mat(fastf_t *, double, double, double);
     rotate = translate = 1; /* defaults */
     quaternion = permute = 0;
     bu_strlcpy(mat_cmd, "lmul", sizeof(mat_cmd));
Index: src/burst/extern.h
===================================================================
--- src/burst/extern.h	(Revision 59279)
+++ src/burst/extern.h	(Arbeitskopie)
@@ -102,9 +102,9 @@
 extern void readBatchInput();
 extern void set_Cbreak();
 extern void clr_Echo();
-extern void clr_Tabs();
 extern void reset_Tty();
 extern void save_Tty();
+extern void set_Raw();
 
 extern void (*norml_sig)(), (*abort_sig)();
 extern void abort_RT();
Index: src/burst/prnt.c
===================================================================
--- src/burst/prnt.c	(Revision 59279)
+++ src/burst/prnt.c	(Arbeitskopie)
@@ -36,7 +36,6 @@
 #include "vmath.h"
 #include "bn.h"
 #include "raytrace.h"
-#include "libtermio.h"
 
 #include "./Sc.h"
 #include "./ascii.h"
Index: src/conv/enf-g.c
===================================================================
--- src/conv/enf-g.c	(Revision 59279)
+++ src/conv/enf-g.c	(Arbeitskopie)
@@ -68,8 +68,6 @@
 
 static int verbose=0;
 
-extern int optopt;
-
 struct obj_info {
     char obj_type;			/* type of this object (from defines below) */
     char *obj_name;			/* name of this object */
Index: src/conv/g-egg.c
===================================================================
--- src/conv/g-egg.c	(Revision 59279)
+++ src/conv/g-egg.c	(Arbeitskopie)
@@ -46,8 +46,6 @@
 #include "rtgeom.h"
 #include "raytrace.h"
 
-extern union tree *gcv_bottess_region_end(struct db_tree_state *tsp, const struct db_full_path *pathp, union tree *curtree, genptr_t client_data);
-
 struct gcv_data {
     void (*func)(struct nmgregion *, const struct db_full_path *, int, int, float [3]);
     FILE *fp;
Index: src/conv/g-xxx_facets.c
===================================================================
--- src/conv/g-xxx_facets.c	(Revision 59279)
+++ src/conv/g-xxx_facets.c	(Arbeitskopie)
@@ -47,8 +47,6 @@
 
 extern union tree *do_region_end(struct db_tree_state *tsp, const struct db_full_path *pathp, union tree *curtree, genptr_t client_data);
 
-extern double nmg_eue_dist;		/* from nmg_plot.c */
-
 static char	usage[] = "\
 Usage: %s [-v][-xX lvl][-a abs_tess_tol (default: 0.0)][-r rel_tess_tol (default: 0.01)]\n\
   [-n norm_tess_tol (default: 0.0)][-D dist_calc_tol (default: 0.0005)]\n\
Index: src/conv/iges/readtree.c
===================================================================
--- src/conv/iges/readtree.c	(Revision 59279)
+++ src/conv/iges/readtree.c	(Arbeitskopie)
@@ -25,7 +25,7 @@
 Readtree(mat_t *matp)
 {
     int length, i, k, op;
-    union tree *ptr, *Pop();
+    union tree *ptr;
     mat_t *new_mat;
 
     Readint(&i, "");
Index: src/conv/jack/jack-g.c
===================================================================
--- src/conv/jack/jack-g.c	(Revision 59279)
+++ src/conv/jack/jack-g.c	(Arbeitskopie)
@@ -50,8 +50,6 @@
 
 static const char usage[] = "Usage: %s [-r region] [-g group] [jack_db] [brlcad_db]\n";
 
-extern fastf_t nmg_loop_plane_area(const struct loopuse *lu, plane_t pl);
-
 int	psurf_to_nmg(struct model *m, FILE *fp, char *jfile);
 int	create_brlcad_db(struct rt_wdb *fpout, struct model *m, char *reg_name, char *grp_name);
 void	jack_to_brlcad(FILE *fpin, struct rt_wdb *fpout, char *reg_name, char *grp_name, char *jfile);
Index: src/conv/vdeck/vdeck.c
===================================================================
--- src/conv/vdeck/vdeck.c	(Revision 59279)
+++ src/conv/vdeck/vdeck.c	(Arbeitskopie)
@@ -147,13 +147,10 @@
 mat_t		identity;
 
 extern void		menu();
-extern void		quit();
 
 char			getarg();
-void			quit(), abort_sig();
 
 int			getcmd();
-void			prompt();
 
 void			addarb();
 void			addtgc();
Index: src/conv/walk_example.c
===================================================================
--- src/conv/walk_example.c	(Revision 59279)
+++ src/conv/walk_example.c	(Arbeitskopie)
@@ -88,7 +88,6 @@
 int parse_args(int ac, char *av[])
 {
     int  c;
-    char *strrchr();
     char *tmp_basename = NULL;
 
     /* Turn off bu_getopt's error messages */
Index: src/fbed/fbed.c
===================================================================
--- src/fbed/fbed.c	(Revision 59279)
+++ src/fbed/fbed.c	(Arbeitskopie)
@@ -782,7 +782,6 @@
 
 #ifdef HAVE_KILL
     if (kill(pid, sig) == -1) {
-	extern int errno;
 	perror("(fbed.c) kill");
 	bu_exit(errno, NULL);
     }
Index: src/fbed/getinput.c
===================================================================
--- src/fbed/getinput.c	(Revision 59279)
+++ src/fbed/getinput.c	(Arbeitskopie)
@@ -33,7 +33,6 @@
 #include "./try.h"
 #include "./extern.h"
 
-extern char *char_To_String(int i);
 
 void
 ring_Bell(void)
Index: src/fbed/prnt.c
===================================================================
--- src/fbed/prnt.c	(Revision 59279)
+++ src/fbed/prnt.c	(Arbeitskopie)
@@ -57,11 +57,7 @@
     0
 };
 
-void init_Status(void);
-void prnt_Status(void), prnt_Usage(void);
-void prnt_Prompt(const char *msg);
 void prnt_Macro(char *bufp);
-void prnt_Rect2D(const char *str, Rect2D *rectp);
 /**void prnt_FBC();**/
 
 /*	p r n t _ S t a t u s ( ) */
@@ -156,13 +152,13 @@
 #define Va_Start()		va_list	ap; va_start(ap, fmt)
 #define Va_End()		va_end(ap)
 #define Va_Print(_p)		(void)vfprintf(_p, fmt, ap)
+extern char *DL, *CS;
 
 
 /* VARARGS */
 void
 fb_log (const char *fmt, ...)	/* de-macro'd due to fmt now being const */
 {
-    extern char *DL, *CS;
     Va_Start();
     if (tty) {
 	if (DL != NULL) {
@@ -196,7 +192,6 @@
 void
 Va_Decl(prnt_Scroll)
 {
-    extern char *DL, *CS;
     Va_Start();
     if (tty) {
 	if (DL != NULL) {
Index: src/lgt/extern.h
===================================================================
--- src/lgt/extern.h	(Revision 59279)
+++ src/lgt/extern.h	(Arbeitskopie)
@@ -30,8 +30,6 @@
 extern void abort_RT();
 extern void stop_sig();
 
-/* other functions */
-extern char *get_Input();
 
 extern fastf_t pow_Of_2();
 
Index: src/lgt/fb.c
===================================================================
--- src/lgt/fb.c	(Revision 59279)
+++ src/lgt/fb.c	(Arbeitskopie)
@@ -35,9 +35,8 @@
 #include "./extern.h"
 #include "./screen.h"
 int		zoom;	/* Current zoom factor of frame buffer.		*/
-int		fb_Setup(char *file, int size);
-void		fb_Zoom_Window(void);
 
+
 /*	f b _ S e t u p ( )						*/
 int
 fb_Setup(char *file, int size)
Index: src/lgt/hmenu.c
===================================================================
--- src/lgt/hmenu.c	(Revision 59279)
+++ src/lgt/hmenu.c	(Arbeitskopie)
@@ -41,7 +41,6 @@
 #include "./extern.h"
 
 
-extern int	LI, CO;
 #define MAX_PROMPT	10
 #define Alloc(p_, t_, s_) (p_) = (t_ *) bu_malloc((unsigned)(s_), #p_);
 
Index: src/lgt/lgt.c
===================================================================
--- src/lgt/lgt.c	(Revision 59279)
+++ src/lgt/lgt.c	(Arbeitskopie)
@@ -50,11 +50,8 @@
 #  define NSIG 64 /* conservative */
 #endif
 
-int ready_Output_Device(int frame);
-void close_Output_Device(int frame);
 static void intr_sig(int sig);
 static void init_Lgts(void);
-void exit_Neatly(int status);
 int key_Frame(void);
 
 /* m a i n ()							*/
Index: src/lgt/mat_db.h
===================================================================
--- src/lgt/mat_db.h	(Revision 59279)
+++ src/lgt/mat_db.h	(Arbeitskopie)
@@ -51,7 +51,6 @@
 extern int		mat_Rd_Db(char *file);
 extern int		mat_Save_Db(char *file);
 extern int		mat_Edit_Db_Entry(int id);
-extern int		mat_Print_Db(int material_id);
 
 extern Mat_Db_Entry	mat_dfl_entry;
 
Index: src/lgt/screen.h
===================================================================
--- src/lgt/screen.h	(Revision 59279)
+++ src/lgt/screen.h	(Arbeitskopie)
@@ -58,8 +58,6 @@
 #define IDLE_MOVE()		EVENT_MOVE()
 #define PROMPT_LINE		((li-1))
 #define TEMPLATE_COLS		79
-extern int			LI; /* From "libcursor.a".		*/
-extern int			li; /* Actual # of lines in window.	*/
 
 extern char			screen_template[][TEMPLATE_COLS+1];
 
Index: src/libbn/globals.c
===================================================================
--- src/libbn/globals.c	(Revision 59279)
+++ src/libbn/globals.c	(Arbeitskopie)
@@ -34,11 +34,6 @@
 
 
 /* see rand.c for random constant globals */
-extern const float bn_rand_table[];
-extern double bn_sin_scale;
-extern const float bn_sin_table[];
-extern int bn_randhalftabsize;
-extern float bn_rand_halftab[];
 extern float bn_rand_poison_[];
 
 /* see vectfont.c for vector font constant globals */
Index: src/libbu/kill.c
===================================================================
--- src/libbu/kill.c	(Revision 59279)
+++ src/libbu/kill.c	(Arbeitskopie)
@@ -28,12 +28,6 @@
 #include "bu.h"
 
 
-/* c99 doesn't declare these */
-#if defined(HAVE_KILL) && !defined(__cplusplus)
-extern int kill(pid_t, int);
-#endif
-
-
 int
 bu_terminate(int process)
 {
Index: src/libbu/temp.c
===================================================================
--- src/libbu/temp.c	(Revision 59279)
+++ src/libbu/temp.c	(Arbeitskopie)
@@ -36,14 +36,6 @@
 #define _TF_FAIL "WARNING: Unable to create a temporary file\n"
 
 
-/* c99 doesn't declare these */
-#if !defined(_WIN32) || defined(__CYGWIN__)
-#  if !defined(__cplusplus)
-extern FILE *fdopen(int, const char *);
-#  endif
-#endif
-
-
 struct temp_file_list {
     struct bu_list l;
     struct bu_vls fn;
@@ -166,9 +158,6 @@
 
     return fd;
 }
-#else
-/* for c99 strict, doesn't declare */
-extern int mkstemp(char *);
 #endif
 
 
Index: src/libfb/fb_obj.c
===================================================================
--- src/libfb/fb_obj.c	(Revision 59279)
+++ src/libfb/fb_obj.c	(Arbeitskopie)
@@ -42,10 +42,7 @@
 #include "fbserv_obj.h"
 
 
-/* defined in libfb/tcl.c */
-extern int fb_refresh(FBIO *ifp, int x, int y, int w, int h);
 
-
 #define FBO_CONSTRAIN(_v, _a, _b)		\
     ((_v > _a) ? (_v < _b ? _v : _b) : _a)
 
Index: src/libfb/tcl.c
===================================================================
--- src/libfb/tcl.c	(Revision 59279)
+++ src/libfb/tcl.c	(Arbeitskopie)
@@ -90,7 +90,6 @@
 #endif
 
 #ifdef IF_X
-extern FBIO X24_interface;
 static const char *X_device_name = "/dev/X";
 extern void X24_configureWindow(FBIO *ifp, int width, int height);
 extern int X24_open_existing(FBIO *ifp, int argc, const char **argv);
@@ -98,7 +97,6 @@
 #endif
 
 #ifdef IF_TK
-extern FBIO tk_interface;
 static const char *tk_device_name = "/dev/tk";
 #if 0
 /*XXX TJM implement this interface */
Index: src/libfft/fftest.c
===================================================================
--- src/libfft/fftest.c	(Revision 59279)
+++ src/libfft/fftest.c	(Arbeitskopie)
@@ -48,8 +48,6 @@
 int
 main(int ac, char *av[])
 {
-    extern void cfft(COMPLEX *, int);
-    extern void icfft(COMPLEX *, int);
 
     int i;
 
Index: src/libgcv/soup.h
===================================================================
--- src/libgcv/soup.h	(Revision 59279)
+++ src/libgcv/soup.h	(Arbeitskopie)
@@ -57,7 +57,6 @@
 GCV_EXPORT int soup_add_face(struct soup_s *s, point_t a, point_t b, point_t c, const struct bn_tol *tol);
 GCV_EXPORT int split_face_single(struct soup_s *s, unsigned long int fid, point_t isectpt[2], struct face_s *opp_face, const struct bn_tol *tol);
 GCV_EXPORT int split_face(struct soup_s *left, unsigned long int left_face, struct soup_s *right, unsigned long int right_face, const struct bn_tol *tol);
-GCV_EXPORT int gcv_tri_tri_intersect_with_isectline(struct soup_s *left, struct soup_s *right, struct face_s *lf, struct face_s *rf, int *coplanar, point_t *isectpt, const struct bn_tol *tol);
 GCV_EXPORT union tree *compose(union tree *left_tree, union tree *right_tree, unsigned long int face_status1, unsigned long int face_status2, unsigned long int face_status3);
 GCV_EXPORT union tree *invert(union tree *tree);
 GCV_EXPORT union tree *evaluate(union tree *tr, const struct rt_tess_tol *ttol, const struct bn_tol *tol);
Index: src/libged/dg_obj.c
===================================================================
--- src/libged/dg_obj.c	(Revision 59279)
+++ src/libged/dg_obj.c	(Arbeitskopie)
@@ -101,7 +101,6 @@
 static int dgo_drawtrees(struct dg_obj *dgop, int argc, const char **argv, int kind, struct dg_client_data *_dgcdp);
 
 /* declared in qray.c */
-extern void dgo_init_qray(struct dg_obj *dgop);
 extern void dgo_free_qray(struct dg_obj *dgop);
 
 /* in wdb_obj.c */
Index: src/libged/nirt.c
===================================================================
--- src/libged/nirt.c	(Revision 59279)
+++ src/libged/nirt.c	(Arbeitskopie)
@@ -58,10 +58,6 @@
 #include "./ged_private.h"
 
 
-/* defined in draw.c */
-extern void _ged_cvt_vlblock_to_solids(struct ged *gedp, struct bn_vlblock *vbp, char *name, int copy);
-
-
 /**
  * F _ N I R T
  *
Index: src/libged/xpush.c
===================================================================
--- src/libged/xpush.c	(Revision 59279)
+++ src/libged/xpush.c	(Arbeitskopie)
@@ -437,11 +437,6 @@
 }
 
 
-static struct directory *Copy_object(struct ged *gedp, struct directory *dp, fastf_t *xform);
-
-static void Do_ref_incr(struct db_i *dbip, struct rt_comb_internal *comb, union tree *comb_leaf, genptr_t user_ptr1, genptr_t user_ptr2, genptr_t user_ptr3, genptr_t UNUSED(user_ptr4));
-
-
 int
 ged_xpush(struct ged *gedp, int argc, const char *argv[])
 {
Index: src/libicv/fileformat.c
===================================================================
--- src/libicv/fileformat.c	(Revision 59279)
+++ src/libicv/fileformat.c	(Arbeitskopie)
@@ -34,12 +34,6 @@
 #include "icv.h"
 
 
-/* c99 doesn't declare these, but C++ does */
-#if (!defined(_WIN32) || defined(__CYGWIN__)) && !defined(__cplusplus)
-extern FILE *fdopen(int, const char *);
-#endif
-
-
 /* this might be a little better than saying 0444 */
 #define WRMODE S_IRUSR|S_IRGRP|S_IROTH
 
Index: src/libmultispectral/sh_temp.c
===================================================================
--- src/libmultispectral/sh_temp.c	(Revision 59279)
+++ src/libmultispectral/sh_temp.c	(Arbeitskopie)
@@ -35,16 +35,11 @@
 #include "optical.h"
 
 
-extern struct region env_region;		/* import from view.c */
-
 HIDDEN int temp_setup(register struct region *rp, struct bu_vls *matparm, genptr_t *dp, const struct mfuncs *mfp, struct rt_i *rtip);
 HIDDEN int temp_render(struct application *ap, const struct partition *pp, struct shadework *swp, genptr_t dp);
 HIDDEN void temp_print(register struct region *rp, genptr_t dp);
 HIDDEN void temp_free(genptr_t cp);
 
-extern int mlib_zero();
-extern int mlib_one();
-extern void mlib_void();
 
 struct mfuncs temp_mfuncs[] = {
     {MF_MAGIC,	"temp",		0,		MFI_UV,		0,	temp_setup,	temp_render,	temp_print,	temp_free },
Index: src/liboptical/refract.c
===================================================================
--- src/liboptical/refract.c	(Revision 59279)
+++ src/liboptical/refract.c	(Arbeitskopie)
@@ -34,11 +34,6 @@
 #include "plot3.h"
 
 
-extern int viewshade(struct application *ap,
-		     register const struct partition *pp,
-		     register struct shadework *swp);
-
-
 int max_ireflect = 5;	/* Maximum internal reflection level */
 int max_bounces = 5;	/* Maximum recursion level */
 
@@ -50,12 +45,6 @@
 #define AIR_GAP_TOL 0.01		/* Max permitted air gap for RI tracking */
 
 
-#ifdef RT_MULTISPECTRAL
-#include "spectrum.h"
-extern struct bn_tabdata *background;
-#else
-extern vect_t background;
-#endif
 
 /*
  * R R _ M I S S
Index: src/liboptical/sh_brdf.c
===================================================================
--- src/liboptical/sh_brdf.c	(Revision 59279)
+++ src/liboptical/sh_brdf.c	(Arbeitskopie)
@@ -43,8 +43,6 @@
 #include "optical.h"
 #include "light.h"
 
-/* from view.c */
-extern double AmbientIntensity;
 
 /* Local information */
 struct brdf_specific {
Index: src/liboptical/sh_cook.c
===================================================================
--- src/liboptical/sh_cook.c	(Revision 59279)
+++ src/liboptical/sh_cook.c	(Arbeitskopie)
@@ -38,9 +38,6 @@
 #include "light.h"
 
 
-/* from view.c */
-extern double AmbientIntensity;
-
 /* Local information */
 struct cook_specific {
     double m;		/* rms slope - should be a vector of these XXX*/
Index: src/liboptical/sh_plastic.c
===================================================================
--- src/liboptical/sh_plastic.c	(Revision 59279)
+++ src/liboptical/sh_plastic.c	(Arbeitskopie)
@@ -47,10 +47,7 @@
 /* Fast approximation to specular term */
 #define PHAST_PHONG 1	/* See Graphics Gems IV pg 387 */
 
-/* from view.c */
-extern double AmbientIntensity;
 
-
 struct bu_structparse phong_parse[] = {
     {"%d",	1, "shine",		PL_O(shine),		BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
     {"%d",	1, "sh",		PL_O(shine),		BU_STRUCTPARSE_FUNC_NULL, NULL, NULL },
Index: src/librt/cut.c
===================================================================
--- src/librt/cut.c	(Revision 59279)
+++ src/librt/cut.c	(Arbeitskopie)
@@ -58,7 +58,6 @@
 HIDDEN union cutter *rt_ct_get(struct rt_i *rtip);
 HIDDEN void rt_plot_cut(FILE *fp, struct rt_i *rtip, union cutter *cutp, int lvl);
 
-extern void rt_pr_cut_info(const struct rt_i *rtip, const char *str);
 HIDDEN int rt_ct_old_assess(register union cutter *, register int, double *, double *);
 
 #define AXIS(depth)	((depth)%3)	/* cuts: X, Y, Z, repeat */
Index: src/librt/globals.c
===================================================================
--- src/librt/globals.c	(Revision 59279)
+++ src/librt/globals.c	(Arbeitskopie)
@@ -81,8 +81,6 @@
     8
 };
 
-/* see table.c for primitive object function table definition */
-extern const struct rt_functab OBJ[];
 
 /**
  * face definitions for each arb type
Index: src/librt/prep.c
===================================================================
--- src/librt/prep.c	(Revision 59279)
+++ src/librt/prep.c	(Arbeitskopie)
@@ -41,7 +41,6 @@
 #include "plot3.h"
 
 
-extern void rt_ck(struct rt_i *rtip);
 
 HIDDEN void rt_solid_bitfinder(register union tree *treep, struct region *regp, struct resource *resp);
 
Index: src/librt/primitives/nmg/nmg_extrude.c
===================================================================
--- src/librt/primitives/nmg/nmg_extrude.c	(Revision 59279)
+++ src/librt/primitives/nmg/nmg_extrude.c	(Arbeitskopie)
@@ -198,7 +198,6 @@
     plane_t n;
     int face_count=2;
 
-    struct faceuse *nmg_dup_face(struct faceuse *, struct shell *);
 
 #define MIKE_TOL 0.0001
 
Index: src/librt/primitives/nmg/nmg_pt_fu.c
===================================================================
--- src/librt/primitives/nmg/nmg_pt_fu.c	(Revision 59279)
+++ src/librt/primitives/nmg/nmg_pt_fu.c	(Arbeitskopie)
@@ -93,7 +93,6 @@
 static struct edge_info *nmg_class_pt_eu(struct fpi *fpi, struct edgeuse *eu, struct edge_info *edge_list, const int in_or_out_only);
 static int compute_loop_class(struct fpi *fpi, const struct loopuse *lu, struct edge_info *edge_list);
 static int nmg_class_pt_lu(struct loopuse *lu, struct fpi *fpi, const int in_or_out_only);
-int nmg_class_pt_fu_except(const point_t pt, const struct faceuse *fu, const struct loopuse *ignore_lu, void (*eu_func)(), void (*vu_func)(), const char *priv, const int call_on_hits, const int in_or_out_only, const struct bn_tol *tol);
 
 
 /**
Index: src/librt/primitives/table.c
===================================================================
--- src/librt/primitives/table.c	(Revision 59279)
+++ src/librt/primitives/table.c	(Arbeitskopie)
@@ -80,14 +80,51 @@
     extern struct rt_selection *rt_##name##_evaluate_selection(const struct rt_db_internal *ip, int op, const struct rt_selection *a, const struct rt_selection *b); \
     extern int rt_##name##_process_selection(struct rt_db_internal *ip, const struct rt_selection *selection, const struct rt_selection_operation *op)
 
+/* for some primitives plot, tess and centroid functions are already defined in raytrace.h */
+#define RT_DECLARE_INTERFACE_WO_PLOT_TESS_CENT(name) \
+    extern int rt_##name##_prep(struct soltab *stp, struct rt_db_internal *ip, struct rt_i *rtip); \
+    extern int rt_##name##_shot(struct soltab *stp, register struct xray *rp, struct application *ap, struct seg *seghead); \
+    extern int rt_##name##_piece_shot(struct rt_piecestate *psp, struct rt_piecelist *plp, double dist_corr, struct xray *rp, struct application *ap, struct seg *seghead); \
+    extern void rt_##name##_piece_hitsegs(struct rt_piecestate *psp, struct seg *seghead, struct application *ap); \
+    extern void rt_##name##_print(const struct soltab *stp); \
+    extern void rt_##name##_norm(struct hit *hitp, struct soltab *stp, struct xray *rp); \
+    extern void rt_##name##_uv(struct application *ap, struct soltab *stp, struct hit *hitp, struct uvcoord *uvp); \
+    extern void rt_##name##_curve(struct curvature *cvp, struct hit *hitp, struct soltab *stp); \
+    extern int rt_##name##_class(); \
+    extern void rt_##name##_free(struct soltab *stp); \
+    extern int rt_##name##_adaptive_plot(struct rt_db_internal *ip, const struct rt_view_info *info); \
+    extern void rt_##name##_vshot(struct soltab *stp[], struct xray *rp[], struct seg *segp, int n, struct application *ap); \
+    extern int rt_##name##_tnurb(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct bn_tol *tol); \
+    extern void rt_##name##_brep(ON_Brep **b, struct rt_db_internal *ip, const struct bn_tol *tol); \
+    extern int rt_##name##_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp); \
+    extern int rt_##name##_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp); \
+    extern int rt_##name##_import4(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp); \
+    extern int rt_##name##_export4(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp); \
+    extern void rt_##name##_ifree(struct rt_db_internal *ip); \
+    extern int rt_##name##_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *attr); \
+    extern int rt_##name##_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv); \
+    extern int rt_##name##_describe(struct bu_vls *str, const struct rt_db_internal *ip, int verbose, double mm2local, struct resource *resp, struct db_i *db_i); \
+    extern void rt_##name##_make(const struct rt_functab *ftp, struct rt_db_internal *intern); \
+    extern int rt_##name##_xform(struct rt_db_internal *op, const mat_t mat, struct rt_db_internal *ip, int release, struct db_i *dbip, struct resource *resp); \
+    extern int rt_##name##_params(struct pc_pc_set *ps, const struct rt_db_internal *ip); \
+    extern int rt_##name##_bbox(struct rt_db_internal *ip, point_t *min, point_t *max, const struct bn_tol *tol); \
+    extern int rt_##name##_mirror(struct rt_db_internal *ip, const plane_t *plane); \
+    extern const struct bu_structparse rt_##name##_parse[]; \
+    extern void rt_##name##_volume(fastf_t *vol, const struct rt_db_internal *ip); \
+    extern void rt_##name##_surf_area(fastf_t *area, const struct rt_db_internal *ip); \
+    extern int rt_##name##_oriented_bbox(struct rt_arb_internal *bbox, struct rt_db_internal *ip, const fastf_t tol); \
+    extern struct rt_selection_set *rt_##name##_find_selections(const struct rt_db_internal *ip, const struct rt_selection_query *query); \
+    extern struct rt_selection *rt_##name##_evaluate_selection(const struct rt_db_internal *ip, int op, const struct rt_selection *a, const struct rt_selection *b); \
+    extern int rt_##name##_process_selection(struct rt_db_internal *ip, const struct rt_selection *selection, const struct rt_selection_operation *op)
+
 RT_DECLARE_INTERFACE(tor);
 RT_DECLARE_INTERFACE(tgc);
 RT_DECLARE_INTERFACE(ell);
-RT_DECLARE_INTERFACE(arb);
+RT_DECLARE_INTERFACE_WO_PLOT_TESS_CENT(arb);
 RT_DECLARE_INTERFACE(ars);
 RT_DECLARE_INTERFACE(hlf);
 RT_DECLARE_INTERFACE(rec);
-RT_DECLARE_INTERFACE(pg);
+RT_DECLARE_INTERFACE_WO_PLOT_TESS_CENT(pg);
 RT_DECLARE_INTERFACE(nurb);
 RT_DECLARE_INTERFACE(sph);
 RT_DECLARE_INTERFACE(ebm);
@@ -108,7 +145,7 @@
 RT_DECLARE_INTERFACE(extrude);
 RT_DECLARE_INTERFACE(submodel);
 RT_DECLARE_INTERFACE(cline);
-RT_DECLARE_INTERFACE(bot);
+RT_DECLARE_INTERFACE_WO_PLOT_TESS_CENT(bot);
 RT_DECLARE_INTERFACE(superell);
 RT_DECLARE_INTERFACE(metaball);
 RT_DECLARE_INTERFACE(hyp);
@@ -119,16 +156,23 @@
 RT_DECLARE_INTERFACE(hrt);
 
 #if OBJ_BREP
-RT_DECLARE_INTERFACE(brep);
+RT_DECLARE_INTERFACE_WO_PLOT_TESS_CENT(brep);
 #endif
 
+extern int rt_pg_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol);
+extern void rt_pg_centroid(point_t *cent, const struct rt_db_internal *ip);
+extern int rt_brep_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol);
+extern void rt_brep_centroid(point_t *cent, const struct rt_db_internal *ip);
+extern int rt_arb_plot(struct bu_list *vhead, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol, const struct rt_view_info *info); \
+extern int rt_arb_tess(struct nmgregion **r, struct model *m, struct rt_db_internal *ip, const struct rt_tess_tol *ttol, const struct bn_tol *tol);
+extern void rt_bot_centroid(point_t *cent, const struct rt_db_internal *ip);
 
+
+
 /* generics for object manipulation, in generic.c */
 extern int rt_generic_get(struct bu_vls *, const struct rt_db_internal *, const char *);
 extern int rt_generic_adjust(struct bu_vls *, struct rt_db_internal *, int, const char **);
 extern int rt_generic_form(struct bu_vls *, const struct rt_functab *);
-extern void rt_generic_make(const struct rt_functab *, struct rt_db_internal *);
-extern int rt_generic_xform(struct rt_db_internal *, const mat_t, struct rt_db_internal *, int, struct db_i *, struct resource *);
 extern int rt_generic_class(const struct soltab *, const vect_t, const vect_t, const struct bn_tol *);
 
 /* from db5_bin.c */
@@ -142,7 +186,6 @@
 
 /* from tcl.c and db5_comb.c */
 extern int rt_comb_export5(struct bu_external *ep, const struct rt_db_internal *ip, double local2mm, const struct db_i *dbip, struct resource *resp);
-extern int rt_comb_import5(struct rt_db_internal *ip, const struct bu_external *ep, const mat_t mat, const struct db_i *dbip, struct resource *resp);
 extern int rt_comb_get(struct bu_vls *logstr, const struct rt_db_internal *intern, const char *item);
 extern int rt_comb_adjust(struct bu_vls *logstr, struct rt_db_internal *intern, int argc, const char **argv);
 extern int rt_comb_form(struct bu_vls *logstr, const struct rt_functab *ftp);
Index: src/librt/primitives/tgc/tgc.c
===================================================================
--- src/librt/primitives/tgc/tgc.c	(Revision 59279)
+++ src/librt/primitives/tgc/tgc.c	(Arbeitskopie)
@@ -73,9 +73,7 @@
 static void nmg_tgc_disk(struct faceuse *fu, fastf_t *rmat, fastf_t height, int flip);
 static void nmg_tgc_nurb_cyl(struct faceuse *fu, fastf_t *top_mat, fastf_t *bot_mat);
 
-void rt_pt_sort(register fastf_t *t, int npts);
 
-
 #define VLARGE 1000000.0
 #define MAX_RATIO 10.0	/* maximum allowed height-to-width ration for triangles */
 #define RAT  M_SQRT1_2
Index: src/librt/search.c
===================================================================
--- src/librt/search.c	(Revision 59279)
+++ src/librt/search.c	(Arbeitskopie)
@@ -1689,7 +1689,6 @@
     struct db_plan_t *node;             /* pointer to returned node or expression */
     struct db_plan_t *tail;             /* pointer to tail of subplan */
     struct db_plan_t *subplan;          /* pointer to head of () expression */
-    extern int f_expr(struct db_plan_t *, struct db_node_t *, struct db_i *, struct rt_wdb *, struct bu_ptbl *);
     int error_return = BRLCAD_OK;
 
     /* first pull the top node from the plan */
Index: src/libtclcad/tclcad.c
===================================================================
--- src/libtclcad/tclcad.c	(Revision 59279)
+++ src/libtclcad/tclcad.c	(Arbeitskopie)
@@ -47,10 +47,6 @@
 #include "tclcad_private.h"
 
 
-/* defined in cmdhist_obj.c */
-extern int Cho_Init(Tcl_Interp *interp);
-
-
 int
 library_initialized(int setit)
 {
Index: src/libtclcad/tclcadAutoPath.c
===================================================================
--- src/libtclcad/tclcadAutoPath.c	(Revision 59279)
+++ src/libtclcad/tclcadAutoPath.c	(Arbeitskopie)
@@ -57,10 +57,6 @@
 
 #define MAX_BUF 2048
 
-/* FIXME: we utilize this Tcl internal in here */
-#if !defined(_WIN32) || defined(__CYGWIN__)
-extern Tcl_Obj *TclGetLibraryPath (void);
-#endif
 
 
 /* helper routine to determine whether the full 'path' includes a
Index: src/mged/buttons.c
===================================================================
--- src/mged/buttons.c	(Revision 59279)
+++ src/mged/buttons.c	(Arbeitskopie)
@@ -36,10 +36,7 @@
 #include "./mged_dm.h"
 #include "./sedit.h"
 
-/* external sp_hook function */
-extern void set_scroll_private(const struct bu_structparse *, const char *, void *, const char *);	/* defined in set.c */
 
-extern int mged_svbase(void);
 extern void set_e_axes_pos(int both);
 extern int mged_zoom(double val);
 extern void set_absolute_tran(void);	/* defined in set.c */
@@ -153,11 +150,9 @@
 static fastf_t sav_vscale;
 static int vsaved = 0;	/* set if view saved */
 
-extern void color_soltab(void);
 extern void sl_halt_scroll(void);	/* in scroll.c */
 extern void sl_toggle_scroll(void);
 
-void btn_head_menu(int i, int menu, int item);
 void btn_item_hit(int arg, int menu, int item);
 
 static struct menu_item first_menu[] = {
Index: src/mged/chgview.c
===================================================================
--- src/mged/chgview.c	(Revision 59279)
+++ src/mged/chgview.c	(Arbeitskopie)
@@ -42,14 +42,11 @@
 #include "./cmd.h"
 
 
-extern void color_soltab(void);
 extern void set_absolute_tran(void); /* defined in set.c */
 extern void set_absolute_view_tran(void); /* defined in set.c */
 extern void set_absolute_model_tran(void); /* defined in set.c */
 
-void solid_list_callback(void);
 void knob_update_rate_vars(void);
-int mged_svbase(void);
 int mged_vrot(char origin, fastf_t *newrot);
 int mged_zoom(double val);
 void mged_center(fastf_t *center);
@@ -64,7 +61,6 @@
 int mged_vtran(const fastf_t *tvec);
 
 
-extern vect_t curr_e_axes_pos;
 extern long nvectors;
 
 extern vect_t e_axes_pos;
Index: src/mged/cmd.c
===================================================================
--- src/mged/cmd.c	(Revision 59279)
+++ src/mged/cmd.c	(Arbeitskopie)
@@ -416,8 +416,6 @@
 }
 
 
-extern struct rt_db_internal es_int;
-
 int
 cmd_ged_inside(ClientData clientData, Tcl_Interp *interpreter, int argc, const char *argv[])
 {
Index: src/mged/dm-generic.c
===================================================================
--- src/mged/dm-generic.c	(Revision 59279)
+++ src/mged/dm-generic.c	(Arbeitskopie)
@@ -53,11 +53,7 @@
 
 
 extern point_t e_axes_pos;
-extern point_t curr_e_axes_pos;
-extern int scroll_select();		/* defined in scroll.c */
 extern int menu_select();		/* defined in menu.c */
-extern void rect_view2image();		/* defined in rect.c */
-extern void rb_set_dirty_flag();
 
 
 struct bu_structparse dm_xvars_vparse[] = {
Index: src/mged/doevent.c
===================================================================
--- src/mged/doevent.c	(Revision 59279)
+++ src/mged/doevent.c	(Arbeitskopie)
@@ -58,9 +58,6 @@
 
 
 extern int doMotion;			/* defined in buttons.c */
-extern void rect_view2image();		/* defined in rect.c */
-extern void rect_image2view();
-extern void rb_set_dirty_flag();
 
 HIDDEN void motion_event_handler();
 #ifdef IR_KNOBS
Index: src/mged/edarb.c
===================================================================
--- src/mged/edarb.c	(Revision 59279)
+++ src/mged/edarb.c	(Arbeitskopie)
@@ -43,7 +43,6 @@
 
 void ext4to6(int pt1, int pt2, int pt3, struct rt_arb_internal *arb), old_ext4to6();
 
-extern struct rt_db_internal es_int;
 extern struct rt_db_internal es_int_orig;
 
 
Index: src/mged/edsol.c
===================================================================
--- src/mged/edsol.c	(Revision 59279)
+++ src/mged/edsol.c	(Arbeitskopie)
@@ -47,10 +47,7 @@
 #include "./mged_dm.h"
 
 
-extern struct wdb_pipept *find_pipept_nearest_pt(const struct bu_list *, const point_t);
 extern void split_pipept(struct bu_list *, struct wdb_pipept *, point_t);
-extern struct wdb_pipept *del_pipept(struct wdb_pipept *);
-extern struct wdb_pipept *add_pipept(struct rt_pipe_internal *, struct wdb_pipept *, const point_t);
 
 static void arb8_edge(int arg), ars_ed(int arg), ell_ed(int arg), tgc_ed(int arg), tor_ed(int arg), spline_ed(int arg);
 static void nmg_ed(int arg), pipe_ed(int arg), vol_ed(int arg), ebm_ed(int arg), dsp_ed(int arg), cline_ed(int arg), bot_ed(int arg), extr_ed(int arg);
@@ -7443,7 +7440,6 @@
 }
 
 
-void oedit_reject(void);
 
 static void
 oedit_apply(int continue_editing)
Index: src/mged/facedef.c
===================================================================
--- src/mged/facedef.c	(Revision 59279)
+++ src/mged/facedef.c	(Arbeitskopie)
@@ -37,8 +37,6 @@
 #include "./sedit.h"
 
 
-extern struct rt_db_internal es_int;
-
 char *p_rotfb[] = {
     "Enter rot, fb angles: ",
     "Enter fb angle: ",
Index: src/mged/grid.c
===================================================================
--- src/mged/grid.c	(Revision 59279)
+++ src/mged/grid.c	(Arbeitskopie)
@@ -40,8 +40,6 @@
 extern point_t e_axes_pos;  /* from edsol.c */
 extern point_t curr_e_axes_pos;  /* from edsol.c */
 
-void draw_grid(void);
-void snap_to_grid(fastf_t *mx, fastf_t *my);
 static void grid_set_dirty_flag(const struct bu_structparse *, const char *, void *, const char *);
 static void set_grid_draw(const struct bu_structparse *, const char *, void *, const char *);
 static void set_grid_res(const struct bu_structparse *, const char *, void *, const char *);
Index: src/mged/mged.h
===================================================================
--- src/mged/mged.h	(Revision 59279)
+++ src/mged/mged.h	(Arbeitskopie)
@@ -556,7 +556,6 @@
 extern void predictor_init(void);
 
 /* usepen.c */
-void buildHrot(mat_t mat, double alpha, double beta, double ggamma);
 void wrt_view(mat_t out, const mat_t change, const mat_t in);
 void wrt_point(mat_t out, const mat_t change, const mat_t in, const point_t point);
 
Index: src/mged/scroll.c
===================================================================
--- src/mged/scroll.c	(Revision 59279)
+++ src/mged/scroll.c	(Arbeitskopie)
@@ -38,9 +38,6 @@
 
 #include "./sedit.h"
 
-extern int mged_svbase(void);   /* defined in chgview.c */
-extern void set_scroll(void);   /* defined in set.c */
-
 /************************************************************************
  *									*
  *	First part:  scroll bar definitions				*
Index: src/mged/set.c
===================================================================
--- src/mged/set.c	(Revision 59279)
+++ src/mged/set.c	(Arbeitskopie)
@@ -41,7 +41,6 @@
 
 /* exported sp_hook functions */
 void set_perspective(const struct bu_structparse *, const char *, void *, const char *);
-void set_scroll_private(const struct bu_structparse *, const char *, void *, const char *);
 
 /* local sp_hook functions */
 static void establish_perspective(const struct bu_structparse *, const char *, void *, const char *);
Index: src/mged/setup.c
===================================================================
--- src/mged/setup.c	(Revision 59279)
+++ src/mged/setup.c	(Arbeitskopie)
@@ -51,8 +51,6 @@
 #define COMMA ','
 
 
-extern Tk_Window tkwin; /* in cmd.c */
-
 extern void init_qray(void);
 extern void mged_global_variable_setup(Tcl_Interp *interpreter);
 
Index: src/mged/tedit.c
===================================================================
--- src/mged/tedit.c	(Revision 59279)
+++ src/mged/tedit.c	(Arbeitskopie)
@@ -66,7 +66,6 @@
  * in initial trials, but maybe there's some trick? */
 #define MAC_BINARY "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal"
 
-extern struct rt_db_internal es_int;
 extern struct rt_db_internal es_int_orig;
 
 static char tmpfil[MAXPATHLEN] = {0};
Index: src/mged/titles.c
===================================================================
--- src/mged/titles.c	(Revision 59279)
+++ src/mged/titles.c	(Arbeitskopie)
@@ -56,7 +56,6 @@
 
 
 extern mat_t perspective_mat;  /* defined in dozoom.c */
-extern struct rt_db_internal es_int;
 
 /*
  * C R E A T E _ T E X T _ O V E R L A Y
Index: src/mged/track.c
===================================================================
--- src/mged/track.c	(Revision 59279)
+++ src/mged/track.c	(Arbeitskopie)
@@ -60,7 +60,6 @@
 void bottom(fastf_t *vec1, fastf_t *vec2, fastf_t *t);
 void top(fastf_t *vec1, fastf_t *vec2, fastf_t *t);
 void crregion(char *region, char *op, int *members, int number, char *solidname, int maxlen);
-void itoa(int n, char *s, int w);
 
 /*
  *
Index: src/nirt/command.c
===================================================================
--- src/nirt/command.c	(Revision 59279)
+++ src/nirt/command.c	(Arbeitskopie)
@@ -53,6 +53,7 @@
 extern char *ocname[];
 extern int nirt_debug;
 extern int need_prep;
+extern int str_dbl();  /* function to convert string to double */
 
 
 void
@@ -112,7 +113,6 @@
 void
 az_el(char *buffer, com_table *ctp, struct rt_i *UNUSED(rtip))
 {
-    extern int str_dbl();  /* function to convert string to double */
     int i = 0;      /* current position on the *buffer */
     int rc = 0;     /* the return code value from str_dbl()   */
     double az;
@@ -164,7 +164,6 @@
 void
 grid_coor(char *buffer, com_table *ctp, struct rt_i *UNUSED(rtip))
 {
-    extern int str_dbl();  /* function to convert string to double */
     int i = 0;
     int rc = 0;    /* the return code value from str_dbl() */
     vect_t Gr;
@@ -222,7 +221,6 @@
 void
 target_coor(char *buffer, com_table *ctp, struct rt_i *UNUSED(rtip))
 {
-    extern int str_dbl();  /* function to convert string to double */
     int i = 0;
     int rc = 0;     /* the return code value from str_dbl() */
     vect_t Tar;	    /* Target x, y and z */
@@ -273,7 +271,6 @@
 void
 dir_vect(char *buffer, com_table *ctp, struct rt_i *UNUSED(rtip))
 {
-    extern int str_dbl();  /* function to convert string to double */
     int i = 0;
     int rc = 0;    /* the return code value from str_dbl() */
     vect_t Dir;	   /* Direction vector x, y and z */
@@ -483,8 +480,6 @@
     double tmp_dbl;
     int i = 0;      /* current position on the *buffer */
 
-    double mk_cvt_factor();
-
     while (isspace((int)*(buffer+i)))
 	++i;
     if (*(buffer+i) == '\0') {
@@ -517,7 +512,6 @@
 {
     int i = 0;      /* current position on the *buffer */
     int j;
-    double mk_cvt_factor();
 
     while (isspace((int)*(buffer+i)))
 	++i;
Index: src/remrt/remrt.c
===================================================================
--- src/remrt/remrt.c	(Revision 59279)
+++ src/remrt/remrt.c	(Arbeitskopie)
@@ -302,33 +302,12 @@
 /* --- */
 #define SERVERS_NULL ((struct servers *)0)
 
-/* variables shared with viewing model */
-extern double AmbientIntensity;
-extern fastf_t azimuth, elevation;
-extern int lightmodel;
-extern int use_air;
 
-/* variables shared with worker() */
-extern int hypersample;
-extern unsigned int jitter;
-extern fastf_t rt_perspective;
-extern fastf_t aspect;
-extern fastf_t eye_backoff;
-extern size_t width;
-extern size_t height;
-
 /* variables shared with do.c */
-extern int matflag;
-extern int interactive;
-extern int benchmark;
-extern int rt_verbosity;
-extern char *outputfile;		/* output file name */
-extern int desiredframe;
 extern int finalframe;
 
 extern fastf_t rt_dist_tol;		/* Value for rti_tol.dist */
 extern fastf_t rt_perp_tol;		/* Value for rti_tol.perp */
-extern char *framebuffer;
 
 extern struct rt_g rt_g;
 
Index: src/remrt/rtsrv.c
===================================================================
--- src/remrt/rtsrv.c	(Revision 59279)
+++ src/remrt/rtsrv.c	(Arbeitskopie)
@@ -95,8 +95,6 @@
 /* Variables shared within mainline pieces */
 extern fastf_t	rt_dist_tol;		/* Value for rti_tol.dist */
 extern fastf_t	rt_perp_tol;		/* Value for rti_tol.perp */
-extern int	rdebug;			/* RT program debugging (not library) */
-extern int	rt_verbosity;		/* from liboptical */
 static char idbuf[132];			/* First ID record info */
 
 /* State flags */
Index: src/rt/do.c
===================================================================
--- src/rt/do.c	(Revision 59279)
+++ src/rt/do.c	(Arbeitskopie)
@@ -50,12 +50,6 @@
 #include "./ext.h"
 
 
-/***** Variables shared with viewing model *** */
-extern FILE *outfp;			/* optional pixel output file */
-extern mat_t view2model;
-extern mat_t model2view;
-/***** end of sharing with viewing model *****/
-
 extern void grid_setup(void);
 extern void worker(int cpu, genptr_t arg);
 
@@ -77,14 +71,10 @@
 unsigned char *pixmap = NULL; /* Pixel Map for rerendering of black pixels */
 
 
-void def_tree(register struct rt_i *rtip);
-void do_ae(double azim, double elev);
 void res_pr(void);
 void memory_summary(void);
 
-extern struct icv_image *bif;
 
-
 /**
  * O L D _ F R A M E
  *
Index: src/rt/ext.h
===================================================================
--- src/rt/ext.h	(Revision 59279)
+++ src/rt/ext.h	(Arbeitskopie)
@@ -33,7 +33,7 @@
 extern fastf_t azimuth, elevation;
 extern double nu_gfactor;		/* constant factor in NUgrid algorithm */
 extern int Query_one_pixel;
-extern int benchmark;
+extern int benchmark;			/* No random numbers:  benchmark */
 extern int lightmodel;			/* Select lighting model */
 extern int nugrid_dimlimit;		/* limit to dimensions of nugrid; <= 0 means no limit */
 extern int query_debug;
@@ -62,7 +62,6 @@
 extern struct application APP;
 extern struct icv_image *bif;
 extern vect_t left_eye_delta;
-extern vect_t left_eye_delta;
 
 /***** variables shared with worker() ******/
 extern unsigned char *scanbuf;		/* pixels for REMRT */
@@ -114,7 +113,6 @@
 extern char **objtab;			/* array of treetop strings */
 extern char *outputfile;		/* name of base of output file */
 extern fastf_t frame_delta_t;		/* 1.0 / frames_per_second_playback */
-extern int benchmark;			/* No random numbers:  benchmark */
 extern int curframe;			/* current frame number */
 extern int desiredframe;		/* frame to start at */
 extern int interactive;			/* human is watching results */
Index: src/rt/main.c
===================================================================
--- src/rt/main.c	(Revision 59279)
+++ src/rt/main.c	(Arbeitskopie)
@@ -67,37 +67,21 @@
 struct application APP;
 vect_t		left_eye_delta;
 int		report_progress;	/* !0 = user wants progress report */
-extern int	incr_mode;		/* !0 for incremental resolution */
-extern size_t	incr_nlevel;		/* number of levels */
-extern int	npsw;			/* number of worker PSWs to run */
 /***** end variables shared with worker() *****/
 
 /***** variables shared with do.c *****/
-extern int	pix_start;		/* pixel to start at */
-extern int	pix_end;		/* pixel to end at */
-extern int	nobjs;			/* Number of cmd-line treetops */
-extern char	**objtab;		/* array of treetop strings */
 long		n_malloc;		/* Totals at last check */
 long		n_free;
 long		n_realloc;
-extern int	matflag;		/* read matrix from stdin */
 extern int	orientflag;		/* 1 means orientation has been set */
-extern int	desiredframe;		/* frame to start at */
-extern int	curframe;		/* current frame number,
-					 * also shared with view.c */
-extern char	*outputfile;		/* name of base of output file */
-extern int	interactive;		/* human is watching results */
 /***** end variables shared with do.c *****/
 
 
 extern fastf_t	rt_dist_tol;		/* Value for rti_tol.dist */
 extern fastf_t	rt_perp_tol;		/* Value for rti_tol.perp */
-extern char	*framebuffer;		/* desired framebuffer */
 
 extern struct command_tab	rt_cmdtab[];
 
-extern struct resource	resource[];	/* from opt.c */
-
 int	save_overlaps=0;	/* flag for setting rti_save_overlaps */
 
 
Index: src/rt/view.c
===================================================================
--- src/rt/view.c	(Revision 59279)
+++ src/rt/view.c	(Arbeitskopie)
@@ -89,17 +89,13 @@
 
 extern FBIO *fbp;			/* Framebuffer handle */
 
-extern int curframe;		/* from main.c */
-extern fastf_t frame_delta_t;		/* from main.c */
 extern double airdensity;		/* from opt.c */
 extern double haze[3];		/* from opt.c */
 extern int do_kut_plane;           /* from opt.c */
 extern plane_t kut_plane;              /* from opt.c */
 vect_t kut_norm;
 struct soltab *kut_soltab = NULL;
-extern struct icv_image *bif;
 
-extern struct floatpixel *curr_float_frame;	/* buffer of full frame */
 
 int ambSlow = 0;
 int ambSamples = 0;
@@ -115,8 +111,6 @@
 extern int srv_scanlen;		/* BUFMODE_RTSRV buffer length */
 #endif
 
-void free_scanlines(int, struct scanline *);
-struct scanline* alloc_scanlines(int);
 extern fastf_t** timeTable_init(int x, int y);
 extern void timeTable_process(fastf_t **timeTable, struct application *UNUSED(app), FBIO *efbp);
 
Index: src/rt/view_bot_faces.c
===================================================================
--- src/rt/view_bot_faces.c	(Revision 59279)
+++ src/rt/view_bot_faces.c	(Arbeitskopie)
@@ -46,17 +46,9 @@
 #include "./ext.h"
 
 
-extern char *outputfile;		/* output file name */
+extern struct bu_vls ray_data_file;  /* file name for ray data output (declared in do.c) */
 
-extern point_t viewbase_model;
 
-extern int npsw;			/* number of worker PSWs to run */
-
-extern int rpt_overlap;
-
-extern struct bu_vls ray_data_file;  /* file name for ray data output (declared in do.c) */
-extern FILE *outfp;
-
 static Tcl_HashTable bots;		/* hash table with a bot_face_list entry for each BOT primitive hit */
 
 /* Viewing module specific "set" variables */
Index: src/rt/viewarea.c
===================================================================
--- src/rt/viewarea.c	(Revision 59279)
+++ src/rt/viewarea.c	(Arbeitskopie)
@@ -41,10 +41,6 @@
 #include "./ext.h"
 
 
-extern int npsw;			/* number of worker PSWs to run */
-
-extern int rpt_overlap;
-
 /* from opt.c */
 extern double units;
 extern int default_units;
Index: src/rt/viewcell.c
===================================================================
--- src/rt/viewcell.c	(Revision 59279)
+++ src/rt/viewcell.c	(Arbeitskopie)
@@ -41,10 +41,7 @@
 
 
 extern fastf_t	gift_grid_rounding;
-extern point_t	viewbase_model;
 
-extern int	npsw;			/* number of worker PSWs to run */
-
 /* Viewing module specific "set" variables */
 struct bu_structparse view_parse[] = {
     {"",	0, (char *)0,	0,		BU_STRUCTPARSE_FUNC_NULL, NULL, NULL }
Index: src/rt/viewedge.c
===================================================================
--- src/rt/viewedge.c	(Revision 59279)
+++ src/rt/viewedge.c	(Arbeitskopie)
@@ -110,9 +110,6 @@
 
 
 extern FBIO *fbp;	/* Framebuffer handle */
-extern fastf_t viewsize;
-extern int lightmodel;
-extern size_t width, height;
 extern int per_processor_chunk;
 extern int default_background;
 
Index: src/rt/viewg3.c
===================================================================
--- src/rt/viewg3.c	(Revision 59279)
+++ src/rt/viewg3.c	(Arbeitskopie)
@@ -61,12 +61,8 @@
 void part_compact(register struct application *ap, register struct partition *PartHeadp, fastf_t tolerance);
 
 extern fastf_t gift_grid_rounding;
-extern point_t viewbase_model;
 
-extern int npsw;			/* number of worker PSWs to run */
 
-extern int rpt_overlap;
-
 extern struct bu_vls ray_data_file;	/* file name for ray data output (declared in do.c) */
 FILE *shot_fp;				/* FILE pointer for ray data output */
 static long line_num;			/* count of lines output to shotline file */
@@ -80,7 +76,6 @@
 static mat_t model2hv;			/* model coords to GIFT h, v in inches */
 
 static FILE *plotfp;			/* optional plotting file */
-static long line_num;			/* count of lines output to shotline file */
 
 const char title[] = "RTG3";
 
Index: src/rt/viewhide.c
===================================================================
--- src/rt/viewhide.c	(Revision 59279)
+++ src/rt/viewhide.c	(Arbeitskopie)
@@ -63,8 +63,6 @@
     vect_t	c_rdir;			/* ray direction, permits perspective */
 };
 
-extern size_t	width;			/* # of pixels in X; picture width */
-extern int	npsw;			/* number of worker PSWs to run */
 
 fastf_t		pit_depth;		/* min. distance for drawing pits/mountains */
 fastf_t		maxangle;		/* value of the cosine of the angle bet. surface normals that triggers shading */
Index: src/rt/viewrange.c
===================================================================
--- src/rt/viewrange.c	(Revision 59279)
+++ src/rt/viewrange.c	(Arbeitskopie)
@@ -49,8 +49,7 @@
     point_t	c_hit;			/* 3-space hit point of ray */
 };
 
-extern size_t   width;			/* # of pixels in X; picture width */
-extern int	npsw;			/* number of worker PSWs to run */
+
 float		max_dist;
 struct cell	*cellp;
 
Index: src/rt/viewray.c
===================================================================
--- src/rt/viewray.c	(Revision 59279)
+++ src/rt/viewray.c	(Arbeitskopie)
@@ -49,7 +49,6 @@
     {"",	0, (char *)0,	0,	BU_STRUCTPARSE_FUNC_NULL, NULL, NULL}
 };
 
-extern FILE	*outfp;			/* optional output file */
 
 const char title[] = "RT Ray";
 
Index: src/rt/viewweight.c
===================================================================
--- src/rt/viewweight.c	(Revision 59279)
+++ src/rt/viewweight.c	(Arbeitskopie)
@@ -45,8 +45,6 @@
 #include "./ext.h"
 
 
-extern struct resource resource[];
-
 /* Viewing module specific "set" variables */
 struct bu_structparse view_parse[] = {
     {"",	0, (char *)0,	0,	BU_STRUCTPARSE_FUNC_NULL, NULL, NULL}
@@ -95,14 +93,7 @@
     fastf_t	volume;
 };
 
-extern int     	rpt_overlap;     	/* report region verbosely */
-extern fastf_t  cell_width;      	/* model space grid cell width */
-extern fastf_t  cell_height;     	/* model space grid cell height */
-extern FILE     *outfp;          	/* optional output file */
-extern char	*outputfile;     	/* name of base of output file */
-extern int	output_is_binary;	/* !0 means output is binary */
 
-
 int
 hit(struct application *ap, struct partition *PartHeadp, struct seg *UNUSED(segp))
 {
Index: src/rt/viewxray.c
===================================================================
--- src/rt/viewxray.c	(Revision 59279)
+++ src/rt/viewxray.c	(Arbeitskopie)
@@ -51,9 +51,6 @@
 
 
 extern	FBIO	*fbp;
-extern	FILE	*outfp;
-extern	fastf_t	viewsize;
-extern	int	lightmodel;
 
 unsigned char *scanbuf;
 static int pixsize = 0;		/* bytes per pixel in scanbuf */
Index: src/rt/worker.c
===================================================================
--- src/rt/worker.c	(Revision 59279)
+++ src/rt/worker.c	(Arbeitskopie)
@@ -57,12 +57,6 @@
 extern fastf_t** timeTable_init(int x, int y);
 extern int timeTable_input(int x, int y, fastf_t t, fastf_t **timeTable);
 
-extern int query_x;
-extern int query_y;
-extern int Query_one_pixel;
-extern int query_rdebug;
-extern int query_debug;
-
 extern unsigned char *pixmap;	/* pixmap for rerendering of black pixels */
 
 int per_processor_chunk = 0;	/* how many pixels to do at once */
Index: src/rttherm/viewtherm.c
===================================================================
--- src/rttherm/viewtherm.c	(Revision 59279)
+++ src/rttherm/viewtherm.c	(Arbeitskopie)
@@ -60,10 +60,6 @@
 #include "brlcad_version.h"
 
 
-extern int viewshade(struct application *app,
-		     const struct partition *pp,
-		     struct shadework *swp);
-
 /* XXX Move to raytrace.h when routine goes into LIBRT */
 extern double rt_pixel_footprint(const struct application *app,
 				 const struct hit *hitp,
@@ -105,18 +101,10 @@
 
 extern FBIO *fbp;		/* Framebuffer handle */
 
-extern int max_bounces;		/* from refract.c */
-extern int max_ireflect;	/* from refract.c */
-extern int curframe;		/* from main.c */
-extern fastf_t frame_delta_t;	/* from main.c */
 
 void free_scanlines(void);
 
-/***** variables shared with rt.c *****/
-extern char *outputfile;	/* name of base of output file */
-/***** end variables shared with rt.c *****/
 
-
 static struct scanline {
     int sl_left;		/* # pixels left on this scanline */
     char *sl_buf;		/* ptr to scanline array of spectra */
Index: src/util/pixcolors.c
===================================================================
--- src/util/pixcolors.c	(Revision 59279)
+++ src/util/pixcolors.c	(Arbeitskopie)
@@ -118,7 +118,7 @@
  */
 int main(int ac, char **av)
 {
-    int c, isatty(int);
+    int c;
     progname = *av;
 
     /* Get # of options & turn all the option flags off
