History log of /src/tools/compat/defs.mk.in |
Revision | | Date | Author | Comments |
1.17 |
| 03-Jun-2023 |
lukem | tools/compat: support all bsd.own.mk disabled warnings
Check the host CC support for all the warnings now in <bsd.own.mk> and override appropriately in defs.mk.
In general there's a 1:1 mapping, with the special case CC_WNO_ADDRESS_OF_PACKED_MEMBER which is set from both @CC_WNO_ADDRESS_OF_PACKED_MEMBER@ (gcc) and @CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ (clang).
|
1.16 |
| 03-Jun-2023 |
lukem | bsd.own.mk: rename GCC_NO_* to CC_WNO_*
Rename compiler-warning-disable variables from GCC_NO_warning to CC_WNO_warning where warning is the full warning name as used by the compiler.
GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH
Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
|
1.15 |
| 30-May-2023 |
lukem | tools/compat: disable host CC warnings
Determine if the host CC supports flags to disable various warnings similar to <bsd.own.mk> GCC_*, CLANG_*, and CC_*, and override the <bsd.own.mk> equivalents in defs.mk.
Silences "warning: unknown warning option '...'" from our source. External source (e.g., binutils and gcc) need their own fixes to enhance their detection of supported clang compiler flags.
|
1.14 |
| 30-May-2023 |
lukem | tools/compat: detect supported host compiler flags
Define NB_CC_FLAG(FLAG) to use AX_CHECK_COMPILE_FLAG to determine if the host compiler supports FLAG and define and AC_SUBST CC_FLAG if so.
Use workarounds to force clang to hard-fail on unknown -Wwarning, and gcc to use -WWARN to check unknown -Wno-WARN because the latter doesn't cause an error in gcc.
In the future we could use NB_CC_FLAG([-fcommon]) for older NetBSD release branches compiled with host gcc 10+.
Rework Darwin -no-cpp-precomp check to use NB_CC_FLAG(). Note: this flag probably hasn't been required on macOS (Darwin) for a long time, but serves as a good example on how to use this.
Display varaibles at the end of configure to show what was detected.
|
1.13 |
| 30-May-2023 |
lukem | tools/compat: don't expose HAVE_PTHREAD_H to make
Non of the tools Makefiles needs HAVE_PTHREAD_H, so don't AC_SUBST it or provide in defs.mk.
|
1.12 |
| 02-Dec-2012 |
apb | Change the default value of COMPATLIB_UNINSTALLED to no, now that all users of comapt/defs.mk have been adjusted. This is the last commit related to fixing PR 47188.
|
1.11 |
| 02-Dec-2012 |
apb | Add two variables to tools/compat/defs.mk.in:
COMPATLIB_UNINSTALLED: If "yes", then use the files from the .OBJDIR of NETBSDSRCDIR/tools/compat. Otherwise, use the files from TOOLDIR.
COMPATLIB_NO_LIB: If "yes" then do not use the library (but still use the include files).
COMPATLIB_UNINSTALLED defaults to "yes" for now, but this will soon be changed to "no.
|
1.10 |
| 14-Aug-2011 |
apb | branches: 1.10.2; 1.10.8; Detect the presence of <pthread.h>, and add a HAVE_PTHREAD_H variable in defs.mk.
|
1.9 |
| 20-Jun-2004 |
jmc | 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
|
1.8 |
| 27-Oct-2003 |
lukem | branches: 1.8.2; 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).
|
1.7 |
| 28-Apr-2003 |
bjh21 | Add a new feature-test macro, _NETBSD_SOURCE. If this is defined by the application, all NetBSD interfaces are made visible, even if some other feature-test macro (like _POSIX_C_SOURCE) is defined. <sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE, _POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve existing behaviour.
This has two major advantages: + Programs that require non-POSIX facilities but define _POSIX_C_SOURCE can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS. + It makes most of the #ifs simpler, in that they're all now ORs of the various macros, rather than having checks for (!defined(_ANSI_SOURCE) || !defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.
I've tried not to change the semantics of the headers in any case where _NETBSD_SOURCE wasn't defined, but there were some places where the current semantics were clearly mad, and retaining them was harder than correcting them. In particular, I've mostly normalised things so that _ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE, _XOPEN_SOURCE and _NETBSD_SOURCE in that order.
Tested by building for vax, encouraged by thorpej, and uncontested in tech-userlevel for a week.
|
1.6 |
| 13-Mar-2003 |
thorpej | Move -no-cpp-precomp logic to defs.mk.
|
1.5 |
| 15-Sep-2002 |
thorpej | Add a HOST_BSHELL make var which contains the path to the working shell.
|
1.4 |
| 31-Jan-2002 |
tv | branches: 1.4.2; 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.
|
1.3 |
| 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
1.2 |
| 21-Jan-2002 |
tv | Make many host tools compile on non-NetBSD hosts. Not complete, but very nearly there.
|
1.1 |
| 11-Dec-2001 |
tv | Add the framework for autoconf-based src/tools/compat structure. This will (after it is more fleshed out) allow the host tools to work more cleanly on non-NetBSD hosts.
|
1.4.2.1 |
| 01-Dec-2002 |
he | Pull up revision 1.5 (requested by thorpej in ticket #825): Add a HOST_BSHELL make variable which contains the path to the working shell.
|
1.8.2.1 |
| 22-Jun-2004 |
tron | Pull up revision 1.9 (requested by jmc in ticket #527): 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
|
1.10.8.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.10.2.1 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|