annotate src/broken-sun.h @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents c3cf7db99b98
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 /* This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 Boston, MA 02111-1307, USA. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 /* Synched up with: Not in FSF. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 /* Authorship:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 JWZ: long ago.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 /* Sun's standard and GCC's header files leave out prototypes for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 all sorts of functions. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
28 #ifndef INCLUDED_broken_sun_h_
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
29 #define INCLUDED_broken_sun_h_
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 #ifdef __GNUC__
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 #include <stdlib.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 #include <stddef.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 /*********************** stdlib functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
37 /* void * memchr (const void *, int, size_t); */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
39 /* int memcmp (const void *, const void *, size_t); */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
40 /* void * memcpy (void *, const void *, size_t); */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
41 /* void * memmove (void *, const void *, size_t);*/
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 /* void * memset (void *, int, int); */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
43 /* char * strcat (char *, const char *); */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
44 /* char * strchr (const char *, int); */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
45 /* int strcmp (const char *, const char *); */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 /* Yes, they even left these functions out! */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 int tolower (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 int toupper (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 /*********************** stdio functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 #include <stdio.h> /* else can't declare FILE */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
55 /* FILE *fopen (const char *, const char *); */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
56 /* FILE *freopen (const char *, const char *, FILE *); */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 FILE *tmpfile (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 int fclose (FILE *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 char *fgets (char *, int, FILE *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 int fgetc (FILE *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 int fflush (FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
62 int fprintf (FILE *, const char *, ...);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 int fputc (char, FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
64 int fputs (const char *, FILE *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 size_t fread (void *, size_t, size_t, FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
66 int fscanf (FILE *, const char *, ...);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 int fgetpos (FILE *, long *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 int fseek (FILE *, long, int);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
69 int fsetpos (FILE *, const long *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 long ftell (FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
71 size_t fwrite (const void *, size_t, size_t, FILE *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 char *gets (char *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 int pclose (FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
74 void perror (const char *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
75 int printf (const char *, ...);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
76 int puts (const char *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
77 int remove (const char *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
78 int rename (const char *, const char *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 int rewind (FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
80 int scanf (const char *, ...);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
81 int sscanf (const char *, const char *, ...);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 void setbuf (FILE *, char *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 int setvbuf (FILE *, char *, int, size_t);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 int ungetc (int, FILE *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
85 int vprintf (const char *, void *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
86 int vfprintf (FILE *, const char *, void *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
87 char *vsprintf (char *, const char *, void *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 /*********************** signal functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 int sigblock (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 #ifndef sigmask
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 int sigmask (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 #endif
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 int sigsetmask (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 int sigpause (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 /*********************** time functions ***********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 struct timeval;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 struct timezone;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
103 int utimes (const char *, struct timeval *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 void tzset (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 time_t time (time_t *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 int gettimeofday (struct timeval *, struct timezone *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 /*********************** file-system functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109
1495
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 771
diff changeset
110 /* Ilya Golubev reports that stat can be a #define on some systems.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 771
diff changeset
111 Presumably none of the systems this file is used for, and I don't
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 771
diff changeset
112 know what file to include on a system known to be broken, anyway. */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 struct stat;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 #include </usr/include/sys/types.h>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 int fsync (int);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
117 int lstat (const char *, struct stat *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 int fchmod (int, mode_t);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 char *mktemp (char *);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
120 /* int creat (const char *, mode_t); better no decl than a conflicting one... */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
121 int symlink (const char *, const char *);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
122 int readlink (const char *, char *, int);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 void sync (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 int select (int, fd_set *, fd_set *, fd_set *, struct timeval *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 char * getwd (char *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 /* int lseek (int, long, int); better no decl than a conflicting one... */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 int _filbuf ();
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 int _flsbuf ();
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 /**************** interprocess communication functions ******************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 int recv (int, char *, int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 int socket (int, int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 struct sockaddr;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 int connect (int, struct sockaddr *, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 int bind (int, struct sockaddr *, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 int listen (int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 int accept (int, struct sockaddr *, int *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 int gethostname (char *, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 struct rusage;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 int wait3 (void *, int, struct rusage *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 int nice (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 int killpg (int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 int system (char *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 /*********************** low-level OS functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 int ioctl (int, int, ...);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 struct nlist;
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
151 int nlist (const char *, struct nlist *);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 int munmap (void *, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 int brk (void *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 void * sbrk (int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 struct rlimit;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 int getrlimit (int, struct rlimit *);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 int getpagesize (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 int shutdown (int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 int mprotect (void *, int, int);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 /*********************** miscellaneous functions *********************/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
163 void tputs (const char *cp, int affcnt, void (*)(int));
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 long random (void);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 int srandom (int seed);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 #endif /* __GNUC__ */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
169 #endif /* INCLUDED_broken_sun_h_ */