FreeBSD portability of dtsearch, dtterm, dtwidget, dthelp

Work in progress for dtlogin and dtmail
---
 cde/admin/IntegTools/post_install/Imakefile        |    3 +++
 cde/config/cf/site.def                             |    4 +++-
 cde/databases/Imakefile                            |    3 +++
 cde/lib/DtSearch/dtsrapi.c                         |    2 --
 cde/lib/DtSearch/globals.c                         |    4 ----
 cde/lib/DtSearch/raima/vista.h                     |    2 +-
 cde/lib/DtTerm/TermPrim/Imakefile                  |    4 ++++
 cde/lib/DtTerm/TermPrim/TermPrimDebug.c            |    6 +++---
 cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h           |    4 ++--
 cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c          |    6 ++++++
 cde/lib/DtWidget/Imakefile                         |    2 +-
 cde/programs/dthelp/parser/canon1/parser/parser.h  |    2 +-
 cde/programs/dthelp/parser/pass1/parser/parser.h   |    2 +-
 cde/programs/dthelp/parser/pass2/parser/parser.h   |    2 +-
 cde/programs/dtlogin/dm.c                          |   10 +++++++---
 cde/programs/dtlogin/dm.h                          |    4 ++--
 .../dtmail/libDtMail/Common/ImplConfigTable.hh     |    6 +++---
 cde/programs/dtmail/libDtMail/Common/Session.C     |    2 +-
 cde/programs/dtmail/libDtMail/RFC/RFCBodyPart.C    |    2 +-
 19 files changed, 43 insertions(+), 27 deletions(-)

diff --git a/cde/admin/IntegTools/post_install/Imakefile 
b/cde/admin/IntegTools/post_install/Imakefile
index f8e3d8d..0120a40 100644
--- a/cde/admin/IntegTools/post_install/Imakefile
+++ b/cde/admin/IntegTools/post_install/Imakefile
@@ -22,6 +22,9 @@ SUBDIRS = linux
 #ifdef OpenBSDArchitecture
 PLATFORM = openbsd
 #endif
+#ifdef FreeBSDArchitecture
+PLATFORM = freebsd
+#endif
 #ifdef RsArchitecture
 PLATFORM = aix
 SUBDIRS = ibm
diff --git a/cde/config/cf/site.def b/cde/config/cf/site.def
index 9404bd9..e18d4af 100644
--- a/cde/config/cf/site.def
+++ b/cde/config/cf/site.def
@@ -67,8 +67,10 @@ XCOMM site:  $TOG: site.def /main/23 1998/03/19 18:43:26 
mgreess $
 #ifdef AfterVendorCF
 
 #ifndef X11ProjectRoot
-# if defined(LinuxArchitecture) || defined(FreeBSDArchitecture)
+# if defined(LinuxArchitecture)
 #  define X11ProjectRoot       /usr
+#elif defined(FreeBSDArchitecture)
+#  define X11ProjectRoot       /usr/local
 # else
 #  define X11ProjectRoot       /X11
 # endif
diff --git a/cde/databases/Imakefile b/cde/databases/Imakefile
index 2db62e4..0f6537a 100644
--- a/cde/databases/Imakefile
+++ b/cde/databases/Imakefile
@@ -30,6 +30,9 @@ UDB_RELEASE_OPT = -ReleaseStream linux
 #ifdef OpenBSDArchitecture
 UDB_RELEASE_OPT = -ReleaseStream openbsd
 #endif
+#ifdef FreeBSDArchitecture
+UDB_RELEASE_OPT = -ReleaseStream freebsd
+#endif
 
 /*
  * Insure that symbols used in the .udb files are undefined for
diff --git a/cde/lib/DtSearch/dtsrapi.c b/cde/lib/DtSearch/dtsrapi.c
index b62b871..c179826 100644
--- a/cde/lib/DtSearch/dtsrapi.c
+++ b/cde/lib/DtSearch/dtsrapi.c
@@ -314,10 +314,8 @@ int             DtSearchInit (
        aa_argv0 = argv0;
     if (err_file)
        aa_stderr = err_file;
-#if defined(linux) || defined(CSRG_BASED)
     else
        aa_stderr = stderr;
-#endif
 
     sprintbuf = austext_malloc (SPRINTBUFSZ, PROGNAME "135", NULL);
 
diff --git a/cde/lib/DtSearch/globals.c b/cde/lib/DtSearch/globals.c
index 093645d..4fa4f78 100644
--- a/cde/lib/DtSearch/globals.c
+++ b/cde/lib/DtSearch/globals.c
@@ -60,11 +60,7 @@
 #include <stdio.h>
 #include <nl_types.h>
 
-#if defined(linux)
 FILE   *aa_stderr =            NULL;
-#else
-FILE   *aa_stderr =            stderr;
-#endif
 char   *aa_argv0 =             "<argv0>";
 nl_catd        dtsearch_catd =         (nl_catd) -1;
 nl_catd        austools_catd =         (nl_catd) -1;
diff --git a/cde/lib/DtSearch/raima/vista.h b/cde/lib/DtSearch/raima/vista.h
index ee29579..704e995 100644
--- a/cde/lib/DtSearch/raima/vista.h
+++ b/cde/lib/DtSearch/raima/vista.h
@@ -86,7 +86,7 @@
 # define __SVR4_I386_ABI_L1__
 #endif
 #include <limits.h>    /* pickup WORD_BIT, LONG_BIT */
-#if defined(linux)
+#if defined(linux) || defined(__FreeBSD__)
 # undef __SVR4_I386_ABI_L1__
 # ifndef WORD_BIT
 # define WORD_BIT 32
diff --git a/cde/lib/DtTerm/TermPrim/Imakefile 
b/cde/lib/DtTerm/TermPrim/Imakefile
index 286bcd8..a0a3b0e 100644
--- a/cde/lib/DtTerm/TermPrim/Imakefile
+++ b/cde/lib/DtTerm/TermPrim/Imakefile
@@ -109,6 +109,10 @@ LinkFile(TermPrimGetPty.c,TermPrimGetPty-svr4.c)
 LinkFile(TermPrimGetPty.c,TermPrimGetPty-svr4.c)
 #endif
 
+#ifdef FreeBSDArchitecture
+LinkFile(TermPrimGetPty.c,TermPrimGetPty-bsd.c)
+#endif
+
 #ifdef OpenBSDArchitecture
 LinkFile(TermPrimGetPty.c,TermPrimGetPty-bsd.c)
 #endif
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimDebug.c 
b/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
index 6f8e170..f0a96dd 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimDebug.c
@@ -39,10 +39,10 @@ static char rcs_id[] = "$XConsortium: TermPrimDebug.c 
/main/4 1996/11/21 19:58:1
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>
-#if !defined(linux)
-# include <varargs.h>
-#else
+#if defined(linux) || defined(CSRG_BASED)
 # include <stdarg.h>
+#else
+# include <varargs.h>
 #endif
 #include "TermHeader.h"
 #include "TermPrimDebug.h"
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h 
b/cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h
index e5a7b77..eac6b47 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h
+++ b/cde/lib/DtTerm/TermPrim/TermPrimOSDepI.h
@@ -96,11 +96,11 @@
 # define USE_TCSENDBREAK       /* use tiocbreak()              */
 #endif /* LINUX_ARCHITECTURE */
 
-#ifdef  OPENBSD_ARCHITECTURE
+#ifdef  CSRG_BASED
 # define HAS_SETEUID             /* seteuid available            */
 # define HAS_SETREUID            /* setreuid available           */
 # define USE_TCSENDBREAK       /* use tiocbreak()              */
-#endif /* OPENBSD_ARCHITECTURE */
+#endif /* CSRG_BASED */
 
 #ifdef SUN_ARCHITECTURE
 # define XOR_CAPS_LOCK         /* xor caps lock and shift      */
diff --git a/cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c 
b/cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c
index 4328bd2..35cc726 100644
--- a/cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c
+++ b/cde/lib/DtTerm/TermPrim/TermPrimSetUtmp.c
@@ -60,6 +60,12 @@ static char rcs_id[] = "$TOG: TermPrimSetUtmp.c /main/10 
1998/04/03 17:11:42 mgr
 #define        UT_NO_pututline
 #endif /* sun */
 
+#ifdef __FreeBSD__
+#define        UT_UTMPX
+#define        UT_HOST         ut_host
+#define        UT_NO_pututline
+#endif
+
 #ifdef sun
 #define        UT_UTMPX
 #define        UT_HOST         ut_host
diff --git a/cde/lib/DtWidget/Imakefile b/cde/lib/DtWidget/Imakefile
index 9c1a80f..f167e35 100644
--- a/cde/lib/DtWidget/Imakefile
+++ b/cde/lib/DtWidget/Imakefile
@@ -15,7 +15,7 @@ XCOMM $XConsortium: Imakefile /main/8 1996/04/21 19:11:16 drk 
$
 DEFINES = DtWidgetDefines
 #if defined(LinuxArchitecture)
 INCLUDES = -I. -I/usr/include/freetype2
-#elif defined(OpenBSDArchitecture)
+#elif defined(OpenBSDArchitecture) || defined(FreeBSDArchitecture)
 INCLUDES = -I. -I$(XPROJECTROOT)/include/freetype2
 #else
 INCLUDES = -I.
diff --git a/cde/programs/dthelp/parser/canon1/parser/parser.h 
b/cde/programs/dthelp/parser/canon1/parser/parser.h
index b7e7eb6..6584c8c 100644
--- a/cde/programs/dthelp/parser/canon1/parser/parser.h
+++ b/cde/programs/dthelp/parser/canon1/parser/parser.h
@@ -439,7 +439,7 @@ M_PAREXTERN int m_argc ;
 M_PAREXTERN char **m_argv ;
 
 /* PARSER output file */
-#if defined(linux)
+#if defined(linux) || defined(CSRG_BASED)
 M_PAREXTERN FILE *m_outfile;
 M_PAREXTERN FILE *m_errfile;
 #else
diff --git a/cde/programs/dthelp/parser/pass1/parser/parser.h 
b/cde/programs/dthelp/parser/pass1/parser/parser.h
index 06e4ce7..839381f 100644
--- a/cde/programs/dthelp/parser/pass1/parser/parser.h
+++ b/cde/programs/dthelp/parser/pass1/parser/parser.h
@@ -437,7 +437,7 @@ M_PAREXTERN int m_argc ;
 M_PAREXTERN char **m_argv ;
 
 /* PARSER output file */
-#if defined(linux)
+#if defined(linux) || defined(CSRG_BASED)
 M_PAREXTERN FILE *m_outfile;
 M_PAREXTERN FILE *m_errfile;
 #else
diff --git a/cde/programs/dthelp/parser/pass2/parser/parser.h 
b/cde/programs/dthelp/parser/pass2/parser/parser.h
index e47dd77..b9a3300 100644
--- a/cde/programs/dthelp/parser/pass2/parser/parser.h
+++ b/cde/programs/dthelp/parser/pass2/parser/parser.h
@@ -437,7 +437,7 @@ M_PAREXTERN int m_argc ;
 M_PAREXTERN char **m_argv ;
 
 /* PARSER output file */
-#if defined(linux)
+#if defined(linux) || defined(CSRG_BASED)
 M_PAREXTERN FILE *m_outfile;
 M_PAREXTERN FILE *m_errfile;
 #else
diff --git a/cde/programs/dtlogin/dm.c b/cde/programs/dtlogin/dm.c
index 136d0bd..31635dc 100644
--- a/cde/programs/dtlogin/dm.c
+++ b/cde/programs/dtlogin/dm.c
@@ -53,11 +53,15 @@
 
 # include      <sys/signal.h>
 # include      <sys/stat.h>
+#if defined(__FreeBSD__)
+# include      <utmpx.h>
+#else
 # include      <utmp.h>
+#endif
 # include      <time.h>
 # include      <utime.h>
 # include      <pwd.h>
-#if defined(linux)
+#if defined(linux) || defined(__FreeBSD__)
 # include      <stdarg.h>
 #else
 # include      <varargs.h>
@@ -936,9 +940,9 @@ StartDisplay(
                else {
                    strncpy(&(d->utmpId[strlen(d->utmpId)]), t++, 1);
                }
-           } while (*t != NULL);
+           } while (*t != '\0');
 
-           if (*t == NULL) {
+           if (*t == '\0') {
                Debug ("All DT utmp IDs already in use. Removing display %s\n",
                        d->name);
                LogError ((unsigned char *)"All DT utmp IDs already in use. 
Removing display %s\n",
diff --git a/cde/programs/dtlogin/dm.h b/cde/programs/dtlogin/dm.h
index 9da55bf..032a21d 100644
--- a/cde/programs/dtlogin/dm.h
+++ b/cde/programs/dtlogin/dm.h
@@ -202,7 +202,7 @@
  ***************************************************************************/
 
 /*#if defined(SYSV) && !defined(hpux)*/
-#if defined(SYSV) || defined(SVR4) || defined(linux)
+#if defined(SYSV) || defined(SVR4) || defined(linux) || defined(__FreeBSD__)
 #   include    <sys/wait.h>
 # define waitCode(w)   WEXITSTATUS(w)
 # define waitSig(w)    WTERMSIG(w)
@@ -477,7 +477,7 @@ struct verify_info {
  *
  ***************************************************************************/
 
-#if !defined(linux)
+#if !defined(linux) && !defined(CSRG_BASED)
 extern char    *sys_errlist[];         /* system error msgs               */
 extern int     sys_nerr;               /* system error msgs               */
 #endif
diff --git a/cde/programs/dtmail/libDtMail/Common/ImplConfigTable.hh 
b/cde/programs/dtmail/libDtMail/Common/ImplConfigTable.hh
index 0903590..bfc8011 100644
--- a/cde/programs/dtmail/libDtMail/Common/ImplConfigTable.hh
+++ b/cde/programs/dtmail/libDtMail/Common/ImplConfigTable.hh
@@ -25,9 +25,9 @@
 #include <DtMail/DtMailValues.hh>
 
 struct ImplConfigTable {
-    char       *impl_name;
-    char       *lib_name;
-    char       *meta_entry_point;
+    const char *impl_name;
+    const char *lib_name;
+    const char *meta_entry_point;
 };
 
 static const ImplConfigTable initial_impls[] = {
diff --git a/cde/programs/dtmail/libDtMail/Common/Session.C 
b/cde/programs/dtmail/libDtMail/Common/Session.C
index d81434c..0c664cc 100644
--- a/cde/programs/dtmail/libDtMail/Common/Session.C
+++ b/cde/programs/dtmail/libDtMail/Common/Session.C
@@ -1618,7 +1618,7 @@ char *from_cs, char *to_cs)
    DtMailEnv error;
    iconv_t cd;
    size_t ileft = (size_t) bp_len, oleft = (size_t) bp_len, ret = 0;
-#if defined(_AIX) || defined(sun)
+#if defined(_AIX) || defined(sun) | defined(CSRG_BASED)
    const char *ip = (const char *) *bp;
 #else
    char *ip = *bp;
diff --git a/cde/programs/dtmail/libDtMail/RFC/RFCBodyPart.C 
b/cde/programs/dtmail/libDtMail/RFC/RFCBodyPart.C
index cd1923d..172b844 100644
--- a/cde/programs/dtmail/libDtMail/RFC/RFCBodyPart.C
+++ b/cde/programs/dtmail/libDtMail/RFC/RFCBodyPart.C
@@ -1030,7 +1030,7 @@ char *from_cs, char *to_cs)
    DtMailEnv error;
    iconv_t cd;
    size_t ileft = (size_t) bp_len, oleft = (size_t) bp_len, ret = 0;
-#if defined(_aix) || defined(sun)
+#if defined(_aix) || defined(sun) || defined(CSRG_BASED)
    const char *ip = (const char *) *bp;
 #else
    char *ip = *bp;
-- 
1.7.9.2


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to