On Wed, Jun 07, 2017 at 10:30:49PM +0800, Chih-Wei Huang wrote:
> 2017-06-07 21:54 GMT+08:00 Jonathan Gray <j...@jsg.id.au>:
> > On Wed, Jun 07, 2017 at 02:45:15PM +0100, Emil Velikov wrote:
> >> On 6 June 2017 at 07:30, Chih-Wei Huang <cwhu...@android-x86.org> wrote:
> >> >>> These are are due to program_invocation_short_name/getprogname. How
> >> >>> about updating the file alike xmlconfig.c?
> >> >>
> >> >> Oh... I didn't notice that.
> >> >> Let me check.
> >> >
> >> > Well, I saw several BSD OSes define
> >> > the same context:
> >> >
> >> > #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__)
> >> > #    include <stdlib.h>
> >> > #    define GET_PROGRAM_NAME() getprogname()
> >> > #elif ...
> >> >
> >> > Not sure why has no OpenBSD?
> >> Your guess is as good as mine. Jonathan, any ideas if/who this is
> >> supposed to work for you guys?
> >
> > I have no idea where that block comes from as the latest
> > src/gallium/auxiliary/os/os_process.c
> 
> Sorry. A little off-topic.
> Yes, the original patch is about os_process.c.
> But now we are talking about xmlconfig.c
> (in src/mesa/drivers/dri/common/ )

You miss the other relevant part of that file

#if !defined(GET_PROGRAM_NAME)
#    if defined(__OpenBSD__) || defined(NetBSD) || defined(__UCLIBC__) || 
defined(ANDROID)
/* 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. */
static const char *__getProgramName () {
    extern const char *__progname;
    char * arg = strrchr(__progname, '/');
    if (arg)
        return arg+1;
    else
        return __progname;
}
#        define GET_PROGRAM_NAME() __getProgramName()
#    else
#        define GET_PROGRAM_NAME() ""
#        warning "Per application configuration won't work with your OS 
version."
#    endif
#endif

__progname exists since BSD 4.4,  OpenBSD has had getprogname() since
5.4 in 2013.  This should all be simplified to look like or use the
gallium code.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to