*** src/bin/iclass/dialogs.c	Wed Sep 23 09:45:09 1992
--- /usr/oports/x11/iv/src/bin/iclass/dialogs.c	Sat Sep 11 09:55:17 1999
***************
*** 40,51 ****
  
  #include <stdlib.h>
  #include <string.h>
  #include <osfcn.h>
  
  #if !defined(AIXV3) && !defined(hpux) && !(defined(sun) && OSMajorVersion >= 5) && !defined(__386BSD__) && !defined(linux)
  /* sigh, not all systems have this prototype */
  extern "C" {
!     char* getcwd(char*, int);
  }
  #endif
  
--- 40,53 ----
  
  #include <stdlib.h>
  #include <string.h>
+ #if __FreeBSD_cc_version < 400002
  #include <osfcn.h>
+ #endif
  
  #if !defined(AIXV3) && !defined(hpux) && !(defined(sun) && OSMajorVersion >= 5) && !defined(__386BSD__) && !defined(linux)
  /* sigh, not all systems have this prototype */
  extern "C" {
!     char* getcwd(char*, unsigned int);
  }
  #endif
  
*** src/bin/scripts/Imakefile	Thu Sep 12 15:01:39 1991
--- /usr/oports/x11/iv/src/bin/scripts/Imakefile	Tue Apr 26 17:01:52 1994
***************
*** 11,16 ****
--- 11,17 ----
  
  AllTarget($(PROGRAMS))
  
+ CPP = /usr/bin/cpp
  CppScriptTarget(cpu,cpu.cpp,-DCPU='"'"$(ARCH)"'"',always)
  CppScriptTarget(ibmkmf,ibmkmf.cpp,-DCONFIGDIRSPEC='$(CONFIGDIRSPEC)',always)
  CppScriptTarget(ivmkmf,ivmkmf.cpp,-DCONFIGDIRSPEC='$(CONFIGDIRSPEC)',always)
*** src/bin/scripts/remind.cpp	Wed Jun  3 21:37:00 1992
--- /usr/oports/x11/iv/src/bin/scripts/remind.cpp	Tue Apr 26 17:01:53 1994
***************
*** 34,40 ****
  ' > $tmp
  
  cat $MacrosFile $RemindersFile \
!     | /lib/cpp \
      | egrep -f $tmp \
      | awk '
  	/[0-9][0-9]?:[0-9][0-9]?/ {
--- 34,40 ----
  ' > $tmp
  
  cat $MacrosFile $RemindersFile \
!     | /usr/bin/cpp \
      | egrep -f $tmp \
      | awk '
  	/[0-9][0-9]?:[0-9][0-9]?/ {
*** src/config/InterViews/TIFF.def	Fri Dec 11 15:33:54 1992
--- /usr/oports/x11/iv/src/config/InterViews/TIFF.def	Tue Apr 26 17:01:54 1994
***************
*** 90,95 ****
--- 90,100 ----
   *
   */
  #ifndef TIFFStdCDefines
+ #if defined(FreeBSDArchitecture)
+ #define TIFFStdCDefines \
+     -DCOLORIMETRY_SUPPORT -DYCBCR_SUPPORT -DMMAP_SUPPORT \
+     -DHAVE_IEEEFP=1 -DUSE_VARARGS=1 -DUSE_PROTOTYPES=1 -DUSE_CONST=1
+ #endif
  #if defined(SGIArchitecture)
  #define TIFFStdCDefines \
      -DCOLORIMETRY_SUPPORT -DJPEG_SUPPORT -DYCBCR_SUPPORT -DCMYK_SUPPORT \
*** src/config/InterViews/arch.def	Fri Dec 11 15:34:52 1992
--- /usr/oports/x11/iv/src/config/InterViews/arch.def	Tue Apr 26 17:01:55 1994
***************
*** 385,390 ****
--- 385,400 ----
  #define MacroFile InterViews/iv-convex.cf
  #endif /* __convex__ */
  
+ #ifdef __FreeBSD__
+ #undef freebsd
+ #undef FREEBSD
+ #define FreeBSDArchitecture
+ #define ArchitectureName FREEBSD
+ #define architectureName freebsd
+ #define MacroIncludeFile <InterViews/iv-freebsd.cf>
+ #define MacroFile InterViews/iv-freebsd.cf
+ #endif
+ 
  #ifndef ArchitectureName
  XCOMM WARNING: Imakefile not configured; guessing at definitions!!!
  XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
*** src/config/InterViews/local.def	Tue Nov 24 12:08:51 1992
--- /usr/oports/x11/iv/src/config/InterViews/local.def	Thu Jun 16 18:34:11 1994
***************
*** 8,14 ****
  /*
   * If you are using gcc/g++, then uncomment the include below.
   */
! /* #include <InterViews/gcc.def> */
  
  /*
   * Default customization of kits.
--- 8,19 ----
  /*
   * If you are using gcc/g++, then uncomment the include below.
   */
! #include <InterViews/gcc.def>
! 
! #if defined(FreeBSDArchitecture)
! #undef HasSunOSSharedLibs
! #define HasSunOSSharedLibs YES
! #endif
  
  /*
   * Default customization of kits.
***************
*** 33,38 ****
--- 38,48 ----
  #define BuildRPCClasses YES
  #endif
  
+ #if defined (FreeBSDArchitecture)
+ #undef BuildRPCClasses
+ #define BuildRPCClasses NO
+ #endif
+ 
  /*
   * Delete this definition if your /tmp space is less than five megabytes.
   */
***************
*** 49,55 ****
   * installed data files.
   */
  #undef InstalledRoot
! #define InstalledRoot /interviews
  
  /*
   * If the X11 config files are not in /usr/lib/X11/config, the X11
--- 59,65 ----
   * installed data files.
   */
  #undef InstalledRoot
! #define InstalledRoot /usr/local/interviews
  
  /*
   * If the X11 config files are not in /usr/lib/X11/config, the X11
***************
*** 60,70 ****
   * If you have to set XConfigDir, don't forget to override XCONFIGDIR
   * on the command line when saying "make World" for the first time.
   */
! /*
  #undef XConfigDir
! #define XConfigDir /usr/X11R5/lib/X11/config
  #undef XIncDir
! #define XIncDir /usr/X11R5/include
  #undef XLibDir
! #define XLibDir /usr/X11R5/lib
! */
--- 70,80 ----
   * If you have to set XConfigDir, don't forget to override XCONFIGDIR
   * on the command line when saying "make World" for the first time.
   */
! 
  #undef XConfigDir
! #define XConfigDir /usr/X11R6/lib/X11/config
  #undef XIncDir
! #define XIncDir /usr/X11R6/include
  #undef XLibDir
! #define XLibDir /usr/X11R6/lib
! 
*** src/lib/IV-X11/xwindow.c	Mon Nov 23 12:26:43 1992
--- /usr/oports/x11/iv/src/lib/IV-X11/xwindow.c	Tue Apr 26 17:03:44 1994
***************
*** 64,70 ****
  
  /* no standard place for this */
  extern "C" {
!     extern int ioctl(int, int, ...);
  }
  
  implementPtrList(WindowVisualList,WindowVisual)
--- 64,70 ----
  
  /* no standard place for this */
  extern "C" {
!     extern int ioctl(int, long unsigned int, ...);
  }
  
  implementPtrList(WindowVisualList,WindowVisual)
*** src/lib/OS/string.c	Mon Jul 13 10:54:03 1992
--- /usr/oports/x11/iv/src/lib/OS/string.c	Thu Jun 16 18:37:30 1994
***************
*** 31,41 ****
--- 31,43 ----
   */
  
  extern "C" {
+ #ifndef __FreeBSD__
  #ifndef tolower
      extern int tolower(int);
  #endif
  #ifndef toupper
      extern int toupper(int);
+ #endif
  #endif
      extern long int strtol(const char*, char**, int);
      extern double strtod(const char*, char**);
*** src/lib/TIFF/mkg3states.c	Fri Mar  6 11:11:03 1992
--- /usr/oports/x11/iv/src/lib/TIFF/mkg3states.c	Tue Apr 26 17:03:59 1994
***************
*** 68,73 ****
--- 68,74 ----
   * END (from the original source)
   */
  #include <stdio.h>
+ #define va_dcl /**/
  #include "prototypes.h"
  
  #ifndef TRUE
*** src/lib/TIFF/prototypes.h	Tue Feb 18 18:20:12 1992
--- /usr/oports/x11/iv/src/lib/TIFF/prototypes.h	Tue Apr 26 17:03:59 1994
***************
*** 25,30 ****
--- 25,31 ----
   */
  
  #if USE_PROTOTYPES
+ va_dcl
  #define	DECLARE1(f,t1,a1)		f(t1 a1)
  #define	DECLARE2(f,t1,a1,t2,a2)		f(t1 a1, t2 a2)
  #define	DECLARE3(f,t1,a1,t2,a2,t3,a3)	f(t1 a1, t2 a2, t3 a3)
*** src/bin/ibuild/ibcmds.c.old Fri Dec 11 20:33:25 1992
--- src/bin/ibuild/ibcmds.c	Sat Sep 11 09:52:51 1999
***************
*** 86,92 ****
--- 86,98 ----
  #undef FileChooser
  #define FileChooser _lib_iv(FileChooser)
  
+ #if __FreeBSD_cc_version < 400002
  #include <osfcn.h>
+ #endif
+ #if __FreeBSD_cc_version >= 400003
+ #include <unistd.h>
+ #endif
+ 
  #include <stdio.h>
  #include <stdlib.h>
  #include <stream.h>
***************
*** 2407,2421 ****
  	EditorInfo* installed = (EditorInfo*) toolsdialog.Installed();
          EditorInfo* removed = (EditorInfo*) toolsdialog.Removed();
  
! 	Iterator i;
! 	for (unidraw->First(i); !unidraw->Done(i); unidraw->Next(i)) {
! 	    IBEditor* iEd = (IBEditor*) unidraw->GetEditor(i);
  	    ToolPanel* itoolpanel = iEd->GetToolPanel();
  
              for (int i = 0; i < installed->Count(); i++) {
                  itoolpanel->Install(installed->GetName(i));
              }
!             for (i = 0; i < removed->Count(); i++) {
                  itoolpanel->Uninstall(removed->GetName(i));
              }
              itoolpanel->Change();
--- 2413,2427 ----
  	EditorInfo* installed = (EditorInfo*) toolsdialog.Installed();
          EditorInfo* removed = (EditorInfo*) toolsdialog.Removed();
  
! 	Iterator ii;
! 	for (unidraw->First(ii); !unidraw->Done(ii); unidraw->Next(ii)) {
! 	    IBEditor* iEd = (IBEditor*) unidraw->GetEditor(ii);
  	    ToolPanel* itoolpanel = iEd->GetToolPanel();
  
              for (int i = 0; i < installed->Count(); i++) {
                  itoolpanel->Install(installed->GetName(i));
              }
!             for (int i = 0; i < removed->Count(); i++) {
                  itoolpanel->Uninstall(removed->GetName(i));
              }
              itoolpanel->Change();
