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
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel