]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
wpa: Restructure wpa build
authorCy Schubert <cy@FreeBSD.org>
Thu, 20 May 2021 21:28:17 +0000 (14:28 -0700)
committerCy Schubert <cy@FreeBSD.org>
Mon, 13 Sep 2021 21:12:02 +0000 (14:12 -0700)
commit5654815fd3604e024eefdcb34904d3a7c883e8c5
tree96b9670d2c5ca516a9d3f0e4ac2a6b2fb6a6da91
parentc3ec04ec6fbfe7cdfe521e625f42a7daef567265
wpa: Restructure wpa build

The current WPA build assumes a flat namespace. However the latest sources
from w1.fi now have a duplicate config.c, in two separate subdirectories.
The flat namespace will overwrite config.o with the output from the most
recently modified config.c, of which there are two of them.

This commit resolves this problem by building each component in
wpa's src subdirectory tree into its own .a archive, just as the w1.fi
upstream build as used by the port does. The advantages of this approach
are:

1. Duplicate source file names, i.e. config.c in the wpa_supplicant
   direcory and another config.c in src/utils in the next wpa
   will result in both compiles writing to the same .o file.

2. This restructure simplifies maintanence. A develper needs only to add
   new files as identified by git status in the vendor branch to the
   appropriate Makefile within the usr.sbin/wpa tree. This also reduces
   time required to prepare a new import and should reduce error.

3. The new wpa build structure more closely represents the build as
   performed by the upstream tarball.

This is in preparation for the next wpa update from w1.fi.

Reviewed by: philip
Tested by: philip
MFC after: 2 months
Differential Revision: https://reviews.freebsd.org/D30372

(cherry picked from commit 25ecdc7d52770caf1c9b44b5ec11f468f6b636f3)
26 files changed:
share/mk/src.libnames.mk
usr.sbin/wpa/Makefile
usr.sbin/wpa/Makefile.crypto
usr.sbin/wpa/Makefile.inc
usr.sbin/wpa/hostapd/Makefile
usr.sbin/wpa/hostapd_cli/Makefile
usr.sbin/wpa/src/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/ap/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/common/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/crypto/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/drivers/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/eap_common/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/eap_peer/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/eap_server/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/eapol_auth/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/eapol_supp/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/l2_packet/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/radius/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/rsn_supp/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/tls/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/utils/Makefile [new file with mode: 0644]
usr.sbin/wpa/src/wps/Makefile [new file with mode: 0644]
usr.sbin/wpa/wpa_cli/Makefile
usr.sbin/wpa/wpa_passphrase/Makefile
usr.sbin/wpa/wpa_priv/Makefile
usr.sbin/wpa/wpa_supplicant/Makefile