diff --git a/build/jam/HeadersRules b/build/jam/HeadersRules index 2e658e777a..b111dcba81 100644 --- a/build/jam/HeadersRules +++ b/build/jam/HeadersRules @@ -160,6 +160,22 @@ rule PrivateHeaders } +rule PrivateBuildHeaders +{ + # PrivateBuildHeaders + # + # Returns the directory names for the private build header dirs identified + # by . + + local list = $(1) ; + local dirs ; + for i in $(list) { + dirs += [ FDirName $(HAIKU_TOP) headers build private $(i) ] ; + } + return $(dirs) ; +} + + rule LibraryHeaders { # LibraryHeaders @@ -273,6 +289,23 @@ rule UsePrivateObjectHeaders } +rule UsePrivateBuildHeaders +{ + # UsePrivateBuildHeaders [ : ] ; + # + # Adds the private build C header dirs given by to the header + # search dirs of the subdirectory. + # specifies whether to add the dirs as system or local header + # search dirs. Defaults to "true". + # NOTE: This rule must be invoked *before* the rule that builds the objects. + + local system = $(2) ; + system ?= true ; + + UseHeaders [ PrivateBuildHeaders $(1) ] : $(system) ; +} + + rule UseCppUnitHeaders { SubDirSysHdrs [ FDirName $(HAIKU_TOP) headers tools cppunit ] ;