LIBC_SCCS
Warner Losh
imp at bsdimp.com
Fri Apr 27 23:36:59 UTC 2018
On Fri, Apr 27, 2018 at 4:19 PM, John Baldwin <jhb at freebsd.org> wrote:
> I suspect no one cares, but for whatever reason our current handling of the
> LIBC_SCCS macro in some of our libraries annoys me. In theory it seems
> like
> LIBC_SCCS's purpose is to control whether or not old SCCS IDs from Berkeley
> are included in libc's sources when libc is built. (Similar to how macros
> control the behavior of __FBSDID().) However, we use an odd construct in
> the tree. First, we define LIBC_SCCS by default in the CFLAGS of various
> libraries (libkvm, libutil, libthr, libc, etc.) which in theory would
> enable
> the IDs, but then we explicitly wrap them in #if 0, e.g.:
>
> #if defined(LIBC_SCCS) && !defined(lint)
> #if 0
> static char sccsid[] = "@(#)kvm_hp300.c 8.1 (Berkeley) 6/4/93";
> #endif
> #endif /* LIBC_SCCS and not lint */
>
> I'd rather that we make LIBC_SCCS actually work by removing the #if 0 (and
> perhaps the lint baggage) but then remove it from the default CFLAGS to
> preserve the existing behavior by default. Does anyone else care if I do
> this?
>
I'm cool with it. Why not do __SCCS_ID( "@(#)kvm_hp300.c 8.1 (Berkeley)
6/4/93");?
I don't know if we need a separate #ifdef for each SCCS_ID subtree in our
build. Either it's there, or it's not. Default: not. It would also let us
put them in separate sections ala our freebsd id macros.
I'm slightly against removing it altogether, though I can see a good case
for it. I have a visceral reaction that puts me in the 'against complete
removal' camp, but only just.
Warner
More information about the freebsd-arch
mailing list