[Mesa-dev] [PATCH 1/1] Use getprogname from stdlib.h on all BSDs and APPLE

coypu at sdf.org coypu at sdf.org
Thu Dec 21 04:05:59 UTC 2017


On Wed, Dec 20, 2017 at 09:54:09AM -0600, Rob Herring wrote:
> Android could be added here. Android has had getprogname since
> Lollipop and we don't support versions older than that. It could be a
> follow-on patch too.

Attached is a modified patch for this.

I've switched the macro to use __ANDROID__ which was recommended
upstream/GCC docs clarify it is defined.
(There's a lot of other instances of #ifdef ANDROID in the tree,
though).

I've tested and uclibc built with buildroot's config does define
program_invocation_short_name like glibc, but apparently it is optional
(and not default yes). I'm assuming we want to keep the fallback for it.
-------------- next part --------------
>From 64142efdd55c090078ee0da1131ba06fb5b60418 Mon Sep 17 00:00:00 2001
From: Maya Rashish <coypu at sdf.org>
Date: Sun, 17 Dec 2017 21:48:01 +0200
Subject: [PATCH 1/1] Use getprogname on all BSDs, APPLE, ANDROID

Remove EOL NetBSD < 1.x (this macro never worked, since we don't
include sys/param.h).
Remove EOL FreeBSD < 4.4

Use __ANDROID__ to macro check android, as recommended upstream.

Functional change for OpenBSD and ANDROID.
---
 src/util/xmlconfig.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/util/xmlconfig.c b/src/util/xmlconfig.c
index 60a6331..7c3582e 100644
--- a/src/util/xmlconfig.c
+++ b/src/util/xmlconfig.c
@@ -48,19 +48,8 @@ extern char *program_invocation_name, *program_invocation_short_name;
 #    define GET_PROGRAM_NAME() program_invocation_short_name
 #elif defined(__CYGWIN__)
 #    define GET_PROGRAM_NAME() program_invocation_short_name
-#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2)
-#    include <osreldate.h>
-#    if (__FreeBSD_version >= 440000)
-#        include <stdlib.h>
-#        define GET_PROGRAM_NAME() getprogname()
-#    endif
-#elif defined(__NetBSD__) && defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 106000100)
-#    include <stdlib.h>
-#    define GET_PROGRAM_NAME() getprogname()
-#elif defined(__DragonFly__)
-#    include <stdlib.h>
-#    define GET_PROGRAM_NAME() getprogname()
-#elif defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
+      defined(__DragonFly__) || defined(__APPLE__) || defined(__ANDROID__)
 #    include <stdlib.h>
 #    define GET_PROGRAM_NAME() getprogname()
 #elif defined(__sun)
@@ -92,7 +81,7 @@ __getProgramName()
 #endif
 
 #if !defined(GET_PROGRAM_NAME)
-#    if defined(__OpenBSD__) || defined(NetBSD) || defined(__UCLIBC__) || defined(ANDROID)
+#    if defined(__UCLIBC__)
 /* This is a hack. It's said to work on OpenBSD, NetBSD and GNU.
  * Rogelio M.Serrano Jr. reported it's also working with UCLIBC. It's
  * used as a last resort, if there is no documented facility available. */
-- 
2.15.1



More information about the mesa-dev mailing list