Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2004 10:31:29 -0800 (PST)
From:      "Valentin A. Alekseev" <valeks@novel-il.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/61322: bsd.dep.mk disallows shell generated flags in CFLAGS
Message-ID:  <200401131831.i0DIVTKI056756@www.freebsd.org>
Resent-Message-ID: <200401131840.i0DIeC79004484@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         61322
>Category:       misc
>Synopsis:       bsd.dep.mk disallows shell generated flags in CFLAGS
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 13 10:40:12 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Valentin A. Alekseev
>Release:        FreeBSD 5.2-CURRENT
>Organization:
n/a
>Environment:
FreeBSD alpha.valabs.spb.ru 5.2-CURRENT FreeBSD 5.2-CURRENT #16: Mon Jan 12 00:44:36 MSK 2004     valeks@alpha.valabs.spb.ru:/usr/obj/usr/src-5-CURRENT/sys/ALPHA  i386

>Description:
bsd.dep.mk disallows usage of shell generated CFLAGS while calling to
mkdep. So there is no portable way to, for e.g., specify place of
libxml2 includes (xml2-config --cflags).
>How-To-Repeat:
Makefile:
..
PROG= xgrep
CFLAGS+= `xml2-config --cflags`
..
Output of make depend:
$ make depend
rm -f .depend
mkdep -f .depend -a       xgrep.c
xgrep.c:6:27: libxml/parser.h: No such file or directory
xgrep.c:7:26: libxml/xpath.h: No such file or directory
mkdep: compile failed

>Fix:
Here is a patch that blindly allows ones to use any shell generated
vars in CFLAGS. Maybe it would be better to replace M`* with M`*-config and M*` with M--cflags`.

--- src/share/mk/bsd.dep.mk.orig        Tue Jan 13 20:34:30 2004         
+++ src/share/mk/bsd.dep.mk     Tue Jan 13 20:58:57 2004                                                                         
@@ -116,18 +116,18 @@                                                            rm -f ${DEPENDFILE}                                              
 .if ${SRCS:M*.[cS]} != ""                                                       ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \                       -           ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BID]*} \                   +           ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BID]*} ${CFLAGS:M`*} ${CFLAGS:M*`}\                                                
            ${.ALLSRC:M*.[cS]}                                            .endif                                                                   .if ${SRCS:M*.cc} != "" || ${SRCS:M*.C} != "" || ${SRCS:M*.cpp} != "" || \                                                      
     ${SRCS:M*.cxx} != ""                                                        ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \                       -           ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BID]*} \               +           ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BID]*} ${CFLAGS:M`*} ${CFLAGS:M*`} \                                           
            ${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cpp} ${.ALLSRC:M*.cxx}                                                 
 .endif                                                                   .if ${SRCS:M*.m} != ""                                                          ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \                       -           ${OBJCFLAGS:M-nostdinc*} ${OBJCFLAGS:M-[BID]*} \             +           ${OBJCFLAGS:M-nostdinc*} ${OBJCFLAGS:M-[BID]*} ${CFLAGS:M`*} ${CFLAGS:M*`} \                                         
            ${OBJCFLAGS:M-Wno-import*} \                                             ${.ALLSRC:M*.m}                                               .endif
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401131831.i0DIVTKI056756>