Compile ToolTalk on FreeBSD
authorMarcin Cieslak <saper@saper.info>
Mon, 13 Aug 2012 02:01:47 +0000 (04:01 +0200)
committerJon Trulson <jon@radscan.com>
Mon, 13 Aug 2012 02:57:49 +0000 (20:57 -0600)
Fix const correctness problems with OPT_CONST_CORRECT:

tt_xdr_utils.C: In constructor '_Tt_xdr_size_stream::_Tt_xdr_size_stream()':
tt_xdr_utils.C:150: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, long int*)' to 'bool_t (*)(__rpc_xdr*, const long int*)'
tt_xdr_utils.C:151: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'
tt_xdr_utils.C:159: error: invalid conversion from 'bool_t (*)(__rpc_xdr*, char*, unsigned int)' to 'bool_t (*)(__rpc_xdr*, const char*, u_int)'

tt_entry_pt.C: In function '_Tt_string _tt_entrypt_to_string(_Tt_entry_pt)':
tt_entry_pt.C:455: error: conversion from 'long int' to '_Tt_string' is ambiguous
../../lib/util/tt_string.h:104: note: candidates are: _Tt_string::_Tt_string(int)
../../lib/util/tt_string.h:102: note:                 _Tt_string::_Tt_string(const char*)

cde/lib/tt/bin/dbck/options.C
cde/lib/tt/bin/tt_type_comp/mp_type_comp.C
cde/lib/tt/bin/ttauth/ttauth.h
cde/lib/tt/bin/ttdbserverd/db_server_globals.h
cde/lib/tt/bin/ttdbserverd/db_server_svc.C
cde/lib/tt/bin/ttsession/mp_server.C
cde/lib/tt/lib/tt_options.h
cde/lib/tt/lib/util/tt_entry_pt.C
cde/lib/tt/lib/util/tt_xdr_utils.C

index 6108e9c9fa71fd0678f0d8b2bf1e3161774efd43..930d6adc3b344b485e4dc36997f2304186e453d9 100644 (file)
@@ -37,7 +37,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include "util/copyright.h"
-#if defined(linux) || defined(sgi)
+#if defined(linux) || defined(sgi) || defined(__FreeBSD__)
 #include <getopt.h>
 #endif     
 #include "dbck.h"     
index 21378d39ba375e50c2512854afad8439d2f32e67..3737fa1bb563379b2268b48982549b4346c3c32a 100644 (file)
@@ -42,7 +42,7 @@
 #if defined(linux)
 #include <unistd.h>
 #endif
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
 #include <getopt.h>
 #endif
 #if defined(USL) || defined(__uxp__)
index 5e1b27f5f7894b14a0c825fc23e22a2e1d689f16..32ccf1a285ea3284c287c1ef501a0baf475ffa45 100644 (file)
@@ -46,6 +46,7 @@ in this Software without prior written authorization from The Open Group.
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <X11/Xos.h>
 #include <X11/Xfuncs.h>
 
@@ -57,7 +58,7 @@ typedef int Bool;
 
 extern char *ProgramName;
 
-#if !defined(linux)
+#if !defined(linux) && !defined(CSRG_BASED)
 extern char *malloc(), *realloc();
 #endif
 int process_command(), auth_initialize(), auth_finalize();
index ae3181ca0217ef7186dbcc4cd29fd5a137f86faa..4ea174daab8b0d4108b1f0754cdc995a9f1a86b7 100644 (file)
@@ -45,7 +45,7 @@
 
 extern uid_t _tt_uid;
 extern gid_t _tt_gid;
-extern gid_t _tt_gidlist [NGROUPS_MAX];
+extern gid_t _tt_gidlist [NGROUPS];
 extern int   _tt_gidlen;
 extern int   _tt_auth_level;
 
index 67b1ce0a1a64fb9183fc67afa40c39a31e4062a3..c2560821b6a801a6bf807be970dd8adc701b0228 100644 (file)
@@ -63,7 +63,7 @@
 #include <termios.h>
 #include <time.h>
 
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
 #include <getopt.h>
 #endif
 
index 746ba3b8ef634974f3fed9666d9356309f3cc42e..1afa057634074bec7b22ff62ab5f00ef7fda3def 100644 (file)
@@ -53,7 +53,7 @@
 
 #include <sys/resource.h>
 #include <unistd.h>
-#if defined(sgi)
+#if defined(sgi) || defined(__FreeBSD__)
 #include <getopt.h>
 #endif
 
index e6f8c39346cc3974e8f86f832745428b27df55bc..fef3512d0ded97094d6a023dfd361999bba1d038 100644 (file)
 # define OPT_BUG_RPCINTR
 # undef  OPT_XTHREADS 
 
+#elif defined(__FreeBSD__)
+# undef  OPT_UNIX_SOCKET_RPC 
+# undef  OPT_TLI 
+# undef  OPT_DLOPEN_X11 
+# undef  OPT_DLOPEN_CE 
+# undef  OPT_ADDMSG_DIRECT 
+# undef  OPT_SECURE_RPC 
+# undef  OPT_CLASSING_ENGINE
+# undef  OPT_PATCH
+# define OPT_POSIX_SIGNAL
+# undef  OPT_BSD_WAIT
+# undef  OPT_DGETTEXT
+# define OPT_CATGETS
+# undef  OPT_GETDTABLESIZE
+# undef  OPT_SYSINFO
+# if defined(OSMAJORVERSION) && (OSMAJORVERSION >= 5)
+#  define OPT_CPP_PATH         "/usr/bin/cpp"
+# else
+#  define OPT_CPP_PATH         "/usr/libexec/cpp"
+# endif
+# define OPT_CPP_OPTIONS       ""
+# define OPT_STRERROR
+# undef  OPT_SVR4_GETMNTENT
+# undef  OPT_LOCKF_MNTENT
+# define OPT_LOCAL_MOUNT_TYPE  MNTTYPE_UFS
+# undef  OPT_OLD_RPC
+# define OPT_DEFINE_SIG_PF
+# define OPT_TAR_HAS_EXCLUDE_OPTION
+# define OPT_HAS_REALPATH
+# define OPT_AUTOMOUNT_PATH_FIX
+# define OPT_BUG_RPCINTR
+# undef  OPT_XTHREADS 
+# define OPT_CONST_CORRECT
+
 #else
 /* Unknown configuration, complain */
 }}}} You must edit lib/tt_options.h and add a section defining the options for your configuration.
index 9f70aa4a03b8fb23fa013fc5dd1b9eb4e15c9a42..c084ad7cb23b3166d50e074835994c827a30729f 100644 (file)
@@ -451,6 +451,8 @@ _Tt_string _tt_entrypt_to_string(_Tt_entry_pt fun)
                return "tt_feature_required";
 #if defined(__osf__) || defined(linux)
        case TT_API_CALL_LAST: return (char *) NULL; 
+#elif defined(OPT_CONST_CORRECT)
+       case TT_API_CALL_LAST: return (const char *) NULL; 
 #else
        case TT_API_CALL_LAST: return NULL; 
 #endif
index ea814f67feffc264995b0e1950ca8729e36d7251..833c1193f597b9c8a6e6db643aa966345740afb7 100644 (file)
 typedef bool_t (*local_xdrproc_t)(XDR *, caddr_t *);
 
 #ifndef OPT_XDR_LONG_TYPE
+#if defined(OPT_CONST_CORRECT)
+# define OPT_XDR_LONG_TYPE     const long
+#else
 # define OPT_XDR_LONG_TYPE     long
 #endif
+#endif
 static bool_t
 tt_x_putlong(XDR *xp, OPT_XDR_LONG_TYPE *)
 {
@@ -63,7 +67,11 @@ static bool_t
  * expect int instead of u_int.
  */
 #if defined(CSRG_BASED)
+#if defined(OPT_CONST_CORRECT)
+tt_x_putbytes(XDR *xp, const char *, unsigned int len)
+#else
 tt_x_putbytes(XDR *xp, caddr_t, unsigned int len)
+#endif
 #else
 tt_x_putbytes(XDR *xp, caddr_t, int len)
 #endif