Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
devel/util-linux: Unbreak on FreeBSD 13.2 and set pkgconfigdir
* Remove bswap compatibility "hacks" as we now have glibc compatible ones in supported releases * Set pkgconfigdir so .pc files ends up in correct path PR: 242996 Reviewed by: Warner Losh <imp@bsdimp.com>, yuri (maintainer)
- Loading branch information
Daniel Engberg
authored and
Daniel Engberg
committed
Jun 26, 2023
1 parent
7a00365
commit 770f3a4
Showing
2 changed files
with
12 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,11 @@ | ||
commit a38d1f69fee5ca7e883b09ed3668a7da3b161051 | ||
Author: Warner Losh <imp@FreeBSD.org> | ||
Date: Fri Apr 29 15:29:44 2022 -0600 | ||
|
||
BSD: Use byteswap.h and endian.h defined macos when present | ||
|
||
Newer versions of FreeBSD will have a glibc compatible | ||
byteswap.h. Currently, this file assumes that FreeBSD requires | ||
bswap{16,32,64} to always be defined. This isn't the case when we're | ||
using the byteswap.h file (which is enabled by HAVE_BYTESWAP_H | ||
define). Assume that if byteswap.h and endian.h are present, then the | ||
proper macros are defined. Otherwise, assume that sys/endian.h is | ||
present and paper over the small differences between the BSDs for this | ||
file. | ||
|
||
Signed-off-by: Warner Losh <imp@bsdimp.com> | ||
|
||
--- include/bitops.h | ||
--- include/bitops.h.orig 2023-06-25 21:35:59 UTC | ||
+++ include/bitops.h | ||
@@ -20,6 +20,12 @@ | ||
# include <sys/endian.h> | ||
#endif | ||
|
||
+#if !(defined(HAVE_BYTESWAP_H) && defined(HAVE_ENDIAN_H)) | ||
+/* | ||
+ * When both byteswap.h and endian.h are preseent, the proper macros are defined | ||
+ * as those files are glibc compatible. Otherwise, compensate for the slightly | ||
+ * different interfaces between the different BSDs. | ||
+ */ | ||
#if defined(__OpenBSD__) | ||
# include <sys/types.h> | ||
@@ -25,7 +25,7 @@ | ||
# define be16toh(x) betoh16(x) | ||
@@ -47,6 +53,7 @@ | ||
# define bswap_32(x) OSSwapInt32(x) | ||
# define bswap_64(x) OSSwapInt64(x) | ||
#endif | ||
+#endif | ||
|
||
/* | ||
* Fallbacks | ||
# define be32toh(x) betoh32(x) | ||
# define be64toh(x) betoh64(x) | ||
-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) | ||
+#elif defined(__NetBSD__) || defined(__DragonFly__) | ||
# define bswap_16(x) bswap16(x) | ||
# define bswap_32(x) bswap32(x) | ||
# define bswap_64(x) bswap64(x) |