waf: --disable-attic

Hal Murray halmurray at sonic.net
Mon Feb 21 15:52:50 UTC 2022


devel at ntpsec.org said:
> Indeed.  Right now, if anything in attic fails to build, then the entire
> build is broken, even though nothing in attic is to be installed.  IMO,  any
> item which is neither installed by 'install', nor needed to build an  item
> installed by 'install', shouldn't be included in the default build. 

Thanks.  That sounds like a good policy.

I just pushed the option to --enable-attic.

There may be something in ntpclients that doesn't get installed but does get 
built/checked.


> The OpenSSL issue is compounded by the fact that specifying an alternate
> version of OpenSSL (or any other third-party library, for that matter)  can't
> be done straightforwardly because the build fails to honor the paths
> obtained from pkg-config.  There's a special hack that's only for Linux,  and
> only for OpenSSL in one particular alternate location, that wouldn't  be
> necessary if pkg-config were respected.  The problem is that
> ctx.env.INCLUDES and ctx.env.LIBPATH weren't designed to be used for
> external libraries. 

That hack has 2 parts, depending on which code you include in it.

One use is for the case of building your own version of OpenSSL.  It works for 
both OpenSSL 3.0 on systems running 1.1 and running 1.1 on old systems that 
don't support TLS 1.3.  (NTS requires 1.3.  There are a few supported distros 
out there running old enough versions of OpenSSL that 1.3 isn't supported.)  
That part works on Linux and FreeBSD and NetBSD.  The recipe is in 
HOWTO-OpenSSL.

FreeBSD and NetBSD don't include OpenSSL in their basic distro package.  So 
the code in that area also picks up the OpenSSL distributed via their package 
system.  The previous paragraph puts things in the same place.

If pkg-config is the right way to do things, I'd be happy if somebody who 
understands that area cleaned it up.  I'll be happy to test.


> This is in ntp_machine.h, so every time an attic program  is added that uses
> clock_gettime() without including ntp_machine.h, the  entire build fails
> until I fix that program (five so far). 

I'd be happy if you patched git head.  A comment would prevent somebody like 
me from removing it if they noticed it wasn't being used.



-- 
These are my opinions.  I hate spam.





More information about the devel mailing list