More portability defines, now mostly type-related
[p5sagit/p5-mst-13.2.git] / plan9 / config.plan9
index a900df3..a1ec401 100644 (file)
  *     This symbol holds the path of the bin directory where the package will
  *     be installed. Program must be prepared to deal with ~name substitution.
  */
+/* BIN_EXP:
+ *     This symbol is the filename expanded version of the BIN symbol, for
+ *     programs that do not want to deal with that at run-time.
+ */
 #define BIN "/_P9P_OBJTYPE/bin"        /*  */
+#define BIN_EXP "/_P9P_OBJTYPE/bin"    /*  */
 
 /* BINCOMPAT3:
  *     This symbol, if defined, indicates that Perl 5.004 should be
  *     available to get the list of process groups.  If unavailable, multiple
  *     groups are probably not supported.
  */
+/* HAS_SETGROUPS:
+ *     This symbol, if defined, indicates that the setgroups() routine is
+ *     available to set the list of process groups.  If unavailable, multiple
+ *     groups are probably not supported.
+ */
 #undef HAS_GETGROUPS           /* config-skip */
+#undef HAS_SETGROUPS           /* config-skip */
 
 /* HAS_GETHOSTENT:
  *     This symbol, if defined, indicates that the gethostent routine is
  */
 #undef HAS_ISASCII             /**/
 
+/* HAS_LCHOWN:
+ *     This symbol, if defined, indicates that the lchown routine is
+ *     available to operate on a symbolic link (instead of following the
+ *     link).
+ */
+/*#define HAS_LCHOWN           / **/
+
 /* HAS_KILLPG:
  *     This symbol, if defined, indicates that the killpg routine is available
  *     to kill process groups.  If unavailable, you probably should use kill
 /* HAS_SHMAT_PROTOTYPE:
  *     This symbol, if defined, indicates that the sys/shm.h includes
  *     a prototype for shmat().  Otherwise, it is up to the program to
- *     guess one.  Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
+ *     guess one.  Shmat_t shmat (int, Shmat_t, int) is a good guess,
  *     but not always right so it should be emitted by the program only
  *     when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
  */
 
 /* Groups_t:
  *     This symbol holds the type used for the second argument to
- *     getgroups().  Usually, this is the same of gidtype, but
+ *     [gs]etgroups().  Usually, this is the same of gidtype, but
  *     sometimes it isn't.  It can be int, ushort, uid_t, etc... 
  *     It may be necessary to include <sys/types.h> to get any 
  *     typedef'ed information.  This is only required if you have
- *     getgroups().
+ *     getgroups() or setgroups().
  */
-#ifdef HAS_GETGROUPS
-#define Groups_t gid_t /* Type for 2nd arg to getgroups() */
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t gid_t /* Type for 2nd arg to [gs]etgroups() */
 #endif
 
 /* DB_Prefix_t:
  *     This symbol, if defined, indicates to the C program that struct passwd
  *     contains pw_comment.
  */
+/* PWGECOS:
+ *     This symbol, if defined, indicates to the C program that struct passwd
+ *     contains pw_gecos.
+ */
 #define I_PWD          /**/
 #undef PWQUOTA /**/
 #undef PWAGE   /**/
 #undef PWCHANGE        /**/
 #undef PWCLASS /**/
 #undef PWEXPIRE        /**/
+#define PWGECOS        /**/
 #undef PWCOMMENT       /**/
 
 /* I_STDDEF:
  *     If defined, this macro indicates that the C compiler can handle
  *     function prototypes.
  */
-/* _:
- *     This macro is used to declare function parameters for folks who want
- *     to make declarations with prototypes using a different style than
- *     the above macros.  Use double parentheses.  For example:
- *
- *             int main _((int argc, char *argv[]));
- */
 #define        CAN_PROTOTYPE   /**/
-#ifdef CAN_PROTOTYPE
-#define        _(args) args    /* config-skip */
-#else
-#define        _(args) ()              /* config-skip */       
-#endif
 
 /* RANDBITS:
  *     This symbol contains the number of bits of random number the rand()
  */
 #define RANDBITS 15            /**/
 
-/* SCRIPTDIR:
- *     This symbol holds the name of the directory in which the user wants
- *     to put publicly executable scripts for the package in question.  It
- *     is often a directory that is mounted across diverse architectures.
- *     Programs must be prepared to deal with ~name expansion.
- */
-#define SCRIPTDIR "/bin"       
-
 /* Select_fd_set_t:
  *     This symbol holds the type used for the 2nd, 3rd, and 4th
  *     arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
 #undef I_VARARGS       /**/
 
 /* INTSIZE:
- *     This symbol contains the size of an int, so that the C preprocessor
- *     can make decisions based on it.
+ *     This symbol contains the value of sizeof(int) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *     This symbol contains the value of sizeof(long) so that the C
+ *     preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *     This symbol contains the value of sizeof(short) so that the C
+ *     preprocessor can make decisions based on it.
  */
 #define INTSIZE 4              /**/
+#define LONGSIZE 4             /**/
+#define SHORTSIZE 2            /**/
 
 /* Free_t:
  *     This variable contains the return type of free().  It is usually