Properly fix Lex/Yacc dependency following Ingo's advice
* By setting HDRGRIST to match SOURCE_GRIST in MultiArchDirSetup, the include scanning in Jam will work properly: the generated header will have the same grist as what the include scan looks for. * Remove the now unneeded workaround from netresolv Jamfile.
This commit is contained in:
@@ -739,10 +739,13 @@ rule MultiArchSubDirSetup architectures
|
|||||||
$(var) on $(architectureObject) = $($(var)) ;
|
$(var) on $(architectureObject) = $($(var)) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# adjust SOURCE_GRIST
|
# adjust SOURCE_GRIST and HDRGRIST
|
||||||
SOURCE_GRIST on $(architectureObject)
|
SOURCE_GRIST on $(architectureObject)
|
||||||
= $(SOURCE_GRIST:E=)!$(architecture) ;
|
= $(SOURCE_GRIST:E=)!$(architecture) ;
|
||||||
|
|
||||||
|
HDRGRIST on $(architectureObject)
|
||||||
|
= $(HDRGRIST:E=)!$(architecture) ;
|
||||||
|
|
||||||
# Adjust the subdir's object dirs that are architecture dependent. To
|
# Adjust the subdir's object dirs that are architecture dependent. To
|
||||||
# avoid duplicating the code from SetupObjectsDir, we call it. Since it
|
# avoid duplicating the code from SetupObjectsDir, we call it. Since it
|
||||||
# sets global variables, we set these variables on our object, call
|
# sets global variables, we set these variables on our object, call
|
||||||
|
|||||||
@@ -5,10 +5,15 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
|||||||
on $(architectureObject) {
|
on $(architectureObject) {
|
||||||
local architecture = $(TARGET_PACKAGING_ARCH) ;
|
local architecture = $(TARGET_PACKAGING_ARCH) ;
|
||||||
|
|
||||||
|
#HDRGRIST = [ FGrist $(SUBDIR_TOKENS) $(architecture) ] ;
|
||||||
|
|
||||||
UseHeaders [ FDirName $(SUBDIR) include ] : true ;
|
UseHeaders [ FDirName $(SUBDIR) include ] : true ;
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
|
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
|
||||||
: true ;
|
: true ;
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;
|
UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;
|
||||||
|
UseHeaders [ FDirName
|
||||||
|
$(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCHS[1]))
|
||||||
|
kits network netresolv ] ;
|
||||||
SubDirSysHdrs $(SUBDIR) ;
|
SubDirSysHdrs $(SUBDIR) ;
|
||||||
|
|
||||||
# private sources for this port
|
# private sources for this port
|
||||||
@@ -24,18 +29,14 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
|||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) resolv ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) resolv ] ;
|
||||||
|
|
||||||
{
|
{
|
||||||
# we want to have the xxx_r functions, too
|
# we want to have the xxx_r functions, IPv6, and md5 implementation
|
||||||
|
# we also need to use our BSD compatibility functions
|
||||||
local defines = _REENTRANT=1 USE_MD5=1 _BSD_SOURCE ;
|
local defines = _REENTRANT=1 USE_MD5=1 _BSD_SOURCE ;
|
||||||
defines = [ FDefines $(defines) ] ;
|
defines = [ FDefines $(defines) ] ;
|
||||||
SubDirCcFlags $(defines) ;
|
SubDirCcFlags $(defines) ;
|
||||||
SubDirC++Flags $(defines) ;
|
SubDirC++Flags $(defines) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# the header doesn't appear to get the architecture gristed, so
|
|
||||||
# make the dependency explicit
|
|
||||||
Includes <src!kits!network!netresolv!$(architecture)>nslexer.l
|
|
||||||
: <src!kits!network!netresolv!$(architecture)>nsparser.h ;
|
|
||||||
|
|
||||||
MergeObject <netresolv!$(architecture)>netresolv.o :
|
MergeObject <netresolv!$(architecture)>netresolv.o :
|
||||||
# dst
|
# dst
|
||||||
dst_api.c
|
dst_api.c
|
||||||
@@ -79,8 +80,8 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
|||||||
getservent_r.c
|
getservent_r.c
|
||||||
hesiod.c
|
hesiod.c
|
||||||
nsdispatch.c
|
nsdispatch.c
|
||||||
nsparser.y
|
|
||||||
nslexer.l
|
nslexer.l
|
||||||
|
nsparser.y
|
||||||
sethostent.c
|
sethostent.c
|
||||||
vars6.c
|
vars6.c
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user