Commit Graph

43 Commits

Author SHA1 Message Date
tron ecde30ce9a Define "_ISOC99_SOURCE" when building under NetBSD to get the prototypes
for strtoll() and strtoull(). This fixes PR toolchain/26021.
2004-06-23 11:08:01 +00:00
jmc 3cc9c970a3 Redo the last commit. _NETBSD_SOURCE should never be used/referenced anymore.
So, don't wrap definitions in it, and instead check for it and #error out
if it somehow leaks into scope.

Tested a complete build to sets on x86 from a clean source tree.
2004-06-22 04:36:23 +00:00
christos e71f17c257 - Wrap around #if !_NETBSD_SOURCE the definitions of u_{long,int,short,char}
- Protect dirfd() macro so that we don't re-define it.

These changes make my build proceed further.

The problem is that automatically generated files, might include system
files before they include anything else (for example our yacc skeleton
includes <stdlib.h> before it does anything else). This foils the scheme
of defining _POSIX_SOURCE and friends so that _NETBSD_SOURCE does not
get defined; in fact, we include many files with _NETBSD_SOURCE defined,
enough to cause confusion in compat_defs.h which tries to re-define things.
2004-06-21 23:14:42 +00:00
jmc 0a6d68b570 On NetBSD boxes make sure and provide prototypes for strtouq since quad_t gets
exposed all the time, but routines which use it do not. Otherwise callers
of strtouq will lose.
XXX: Need to come back through here and clean up the configure tests better
for this
2004-06-21 22:13:32 +00:00
jmc b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
thorpej a72980c494 Oops, missed a spot where we need to handle group_from_gid() separately. 2004-06-18 20:24:03 +00:00
thorpej 594733dd5a Handle group_from_gid() on its own. 2004-06-18 20:17:01 +00:00
jmc 09709f97dd Before sucking in stdlib.h check if this is NetBSD. If so, explicitly make
sure to use _POSIX_C_SOURCE and undef _NETBSD_SOURCE so the myriad of NetBSD
extentions don't get pulled into scope (and likely conflict at some point
with branched code trying to build on -current due to drift). Fixes PR#25533

XXX: The entire process here is just wacky and the entire cross tools process
needed to be reviewed to build clean w. just _POSIX_C_SOURCE or the equiv
set on NetBSD hosts or this will lose again somewhere..
2004-06-14 06:13:15 +00:00
sjg 5d1af908f6 Apply patch from OGAWA Takaya to fix FreeBSD hosted builds.
The trick is to force use of the NetBSD versions of user_from_{uid,gid}().

PR: 24843
2004-05-18 22:14:35 +00:00
matt d4793b28a9 Add a compat definition of __packed. 2004-04-24 15:46:24 +00:00
christos dbe056a805 more constification suggested by kleink. 2004-04-23 14:46:31 +00:00
christos 5c424ffc08 adjust to constification of cget*() 2004-04-23 14:38:16 +00:00
lukem 171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
uwe 3f02ec91cd If SIZE_MAX is not defined, but SIZE_T_MAX is defined (e.g. FreeBSD),
define SIZE_MAX as SIZE_T_MAX.
2003-08-27 18:33:26 +00:00
lukem deeae012af If HAVE_SYS_ENDIAN_H, pull in <sys/endian.h>. Fixes build.sh on FreeBSD 5.1.
Fix from Grant Beattie <grant@>
2003-07-27 07:56:37 +00:00
fredb c0326dd8e8 As discussed briefly on tech-toolchain, AIX doesn't have "u_long",
so add a check for that. Partial fix for PR toolchain/22177.
2003-07-18 13:45:15 +00:00
uwe 0bbb587407 Add atoll(3) to libnbcompat. We need it when building target's gcc
for a 64-bit target on a 32-bit host.

NB: There seems to be a bug in either gcc itself or the way we import
it, b/c the incorrect #define HAVE_ATOLL is picked from (e.g. for
sparc64) gnu/usr.bin/gcc/arch/sparc64/auto-host.h - so when gen*
auxilary (host) programs are built in gnu/usr.bin/gcc/backend, they
incorrectly pick-up target's HAVE_ATOLL.

For now providing atoll(3) in libnbcompat is a simple and sufficient
workaround.
2003-06-03 03:16:48 +00:00
thorpej 72ec5d6a9c Check for sys/socket.h and socklen_t. 2003-03-13 04:30:39 +00:00
uwe 4eb408dcd9 Avoid cgetcap &co prototypes conflicting with those provided by the host.
With this change we can cross-compile on FreeBSD 4.x.
2003-01-31 20:50:29 +00:00
uwe af823cea6c Provide __SCCSID() needed by pwd_mkdb. 2003-01-27 01:17:47 +00:00
lukem 336730e201 replace missing strsuftoll(3) 2002-11-29 13:00:22 +00:00
christos 1391513680 PR/18733: Jed Davis: define _PATH_DEFTAPE; pax needs it. 2002-10-20 00:42:20 +00:00
lukem dba0caccee Implement replacements for lchflags(), lchmod(), and lchown(),
which first lstat(2) the target and return EINVAL if it's a symlink,
and then call ch{flags,mod,own} as appropriate.
Removes the need for hokey code inside the tools themselves...
2002-10-08 00:28:36 +00:00
lukem 8b42f7b9d9 Provide strtoll() in libnbcompat.
Should fix relevant build issue on HP-UX and MacOS X hosts.
2002-10-06 12:09:34 +00:00
lukem b9472f8280 Fix from Giles Lean:
HP-UX has MAP_ANONYMOUS but not MAP_ANON
2002-09-30 00:39:21 +00:00
thorpej d92d489497 * Check for mkstemp() and mkdtemp(), and build them into libnbcompat
if necessary.
* mktemp is now a host-tool, so nuke the lame script (which isn't even
  properly installed during the tools bootstrap).
2002-09-14 04:30:27 +00:00
bjh21 82a564def5 Add __restrict to the set of tokens we #define away: our glob.h uses it. 2002-09-13 23:35:34 +00:00
pooka d8c01a3d2a Fine-grain checking somewhat:
* check for user_from_uid() in addition to pwcache_userdb()
* check for svis() in addition to vis()
2002-07-03 17:16:26 +00:00
bjh21 a3112ce1b9 Rather than hardcoding two possible locations of the POSIX shell (for
Solaris and everything else), set _PATH_BSHELL to the first occurrence of
"sh" on the path.  This should be rather more portable.
2002-04-24 19:41:58 +00:00
bjh21 a64574e0e7 Add test for alloca() and <alloca.h>, since Sun Workshop C 5.0 needs this. 2002-04-23 00:13:50 +00:00
bjh21 bfebd5429d <stdint.h> belongs before <sys/endian.h>. 2002-04-22 23:40:10 +00:00
bjh21 35d3ac9968 Define __CONCAT if the host doesn't. 2002-04-22 23:39:38 +00:00
lukem 7de4309228 add UINT32_MAX if it's not defined 2002-04-22 15:09:19 +00:00
bjh21 6619533896 Add a stub issetugid() for platforms that don't have it. For now, we assume
that no host program will be installed set-id, so the stub function always
returns 0.
2002-04-18 15:31:51 +00:00
bjh21 55b93a6461 Add htobe16() and friends, #ifndef HAVE_SYS_ENDIAN_H. 2002-04-04 17:49:20 +00:00
bjh21 79cd9fb3ab Replace a spurious hard space (\xa0) with a normal one. 2002-04-04 17:28:33 +00:00
tv fa8abf3083 Need DEV_BSIZE and roundup() for makefs on non-NetBSD hosts. 2002-03-07 22:46:07 +00:00
tv 259a2ab95f Add some more bits of host compatibility. 2002-02-26 22:29:38 +00:00
lukem 64d97711a2 remove btodb() hack now that makefs doesn't need it anymore.
the #define was wrong anyway; it was x<<9 instead of x>>9
2002-02-06 15:39:01 +00:00
tv 9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
lukem 2b616edfca - Replace pwcache(3) if necessary (pwcache_userdb(3) is checked for).
Tested on -current and 1.5.3.
- Wrap some long lines.
2002-01-24 04:05:27 +00:00
thorpej d00b294ffa Split compat definitions into a separate file so that autoconf
doesn't comment out #undef's that we want to keep.
2002-01-22 20:42:59 +00:00