[PATCH] libdrm: enclose __FreeBSD__ behind a define

Carlos Santa carlos.santa at intel.com
Tue May 19 19:04:57 UTC 2020

Not doing the above can cause compilation errors on
platforms that don't define it.

[1/25] Compiling C object 'drm at sha/xf86drm.c.o.
FAILED: drm at sha/xf86drm.c.o
../xf86drm.c: In function 'drmGetMinorNameForFD':
../xf86drm.c:2938:7: error: "__FreeBSD__" is not defined [-Werror=undef]
 #elif __FreeBSD__
../xf86drm.c: In function 'drmParsePciBusInfo':
../xf86drm.c:3258:7 error: "__FreeBSD__" is not defined [-Werror=undef]
 #elif __FreeBSD__
../x86drm.c: In function 'drmParsePciDeviceInfo':
../x86drm.c:3427:7 error: "__FreeBSD__" is not defined [-Werror=undef]
 #elif __FreeBSD__

../x86drm.c: In function 'drmGetDeviceNameFromFd2':
../xf86drm.c:4305:7 error: "__FreeBSD__" is not defined [-Werror=undef]
 #elif __FreeBSD__
cc1: some warnigns being treated as errors
ninja: build stopped: subcommand failed.

Signed-off-by: Carlos Santa <carlos.santa at intel.com>
 xf86drm.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xf86drm.c b/xf86drm.c
index b49d42f70dbe..3965b4be366d 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -2822,7 +2822,7 @@ static bool drmNodeIsDRM(int maj, int min)
     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device/drm",
              maj, min);
     return stat(path, &sbuf) == 0;
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     char name[SPECNAMELEN];
     if (!devname_r(makedev(maj, min), S_IFCHR, name, sizeof(name)))
@@ -2935,7 +2935,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
     return NULL;
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     struct stat sbuf;
     char dname[SPECNAMELEN];
     const char *mname;
@@ -3255,7 +3255,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
     info->func = pinfo.func;
     return 0;
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     return get_sysctl_pci_bus_info(maj, min, info);
 #warning "Missing implementation of drmParsePciBusInfo"
@@ -3424,7 +3424,7 @@ static int drmParsePciDeviceInfo(int maj, int min,
     device->subdevice_id = pinfo.subdevice_id;
     return 0;
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     drmPciBusInfo info;
     struct pci_conf_io pc;
     struct pci_match_conf patterns[1];
@@ -4302,7 +4302,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
     return strdup(path);
-#elif __FreeBSD__
+#elif defined(__FreeBSD__)
     return drmGetDeviceNameFromFd(fd);
     struct stat      sbuf;

More information about the dri-devel mailing list