LocaleRules: Add a second version of the catalog extraction actions.
Clang behaves slightly differently than GCC and allows us to steamroll some errors we don't care about that GCC does not.
This commit is contained in:
parent
e4fac18200
commit
d37ae86568
@ -66,8 +66,13 @@ rule ExtractCatalogEntries target : sources : signature : regexp
|
||||
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
Depends $(target) : $(sources) <build>collectcatkeys ;
|
||||
LocalClean clean : $(target).pre ;
|
||||
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
|
||||
if $(HAIKU_CC_IS_CLANG_$(TARGET_PACKAGING_ARCH)) = 1 {
|
||||
# Clang emits preprocessed source even if some included headers were not
|
||||
# found, so we can treat a return code of 1 from it as not an error.
|
||||
ExtractCatalogEntries2 $(target) : <build>collectcatkeys $(sources) ;
|
||||
} else {
|
||||
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions ExtractCatalogEntries1
|
||||
@ -79,6 +84,16 @@ actions ExtractCatalogEntries1
|
||||
$(RM) "$(1)".pre
|
||||
}
|
||||
|
||||
actions ExtractCatalogEntries2
|
||||
{
|
||||
$(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
|
||||
$(CC) -E $(CCDEFS) -DB_COLLECTING_CATKEYS $(HDRS) "$(2[2-])" > "$(1)".pre \
|
||||
|| true
|
||||
$(2[1]) $(HAIKU_CATALOG_REGEXP) -s $(HAIKU_CATALOG_SIGNATURE) \
|
||||
-w -o "$(1)" "$(1)".pre
|
||||
$(RM) "$(1)".pre
|
||||
}
|
||||
|
||||
rule LinkApplicationCatalog target : sources : signature : language
|
||||
{
|
||||
# Link catalog entries from given catkey file into output compiled catalog
|
||||
|
Loading…
Reference in New Issue
Block a user