diff --git a/build/jam/LocaleRules b/build/jam/LocaleRules index 55b661f348..7fcfd693d5 100644 --- a/build/jam/LocaleRules +++ b/build/jam/LocaleRules @@ -17,11 +17,7 @@ rule ExtractCatalogEntries target : sources : signature : regexp defines = $(DEFINES) ; headers = $(HAIKU_CONFIG_HEADERS) $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ; - - # insert specific header folder containing the Catalog.h that should be - # used when collecting the catalog keys: - sysHeaders = [ FDirName $(HAIKU_TOP) headers private locale collecting ] - $(SUBDIRSYSHDRS) $(SYSHDRS) ; + sysHeaders = $(SUBDIRSYSHDRS) $(SYSHDRS) ; if $(PLATFORM) = host { sysHeaders += $(HOST_HDRS) ; @@ -71,7 +67,8 @@ rule ExtractCatalogEntries target : sources : signature : regexp actions ExtractCatalogEntries1 { $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) - cat "$(2[2-])" | $(CC) -E $(CCDEFS) $(HDRS) - > "$(1)".pre + cat "$(2[2-])" \ + | $(CC) -E $(CCDEFS) -DB_COLLECTING_CATKEYS $(HDRS) - > "$(1)".pre $(2[1]) $(HAIKU_CATALOG_REGEXP) -s $(HAIKU_CATALOG_SIGNATURE) \ -w -o "$(1)" "$(1)".pre } diff --git a/headers/os/locale/Catalog.h b/headers/os/locale/Catalog.h index 17f6653b90..2d0664fefe 100644 --- a/headers/os/locale/Catalog.h +++ b/headers/os/locale/Catalog.h @@ -86,6 +86,13 @@ private: // Tip: Use a descriptive name of the class implemented in that // source-file. +#ifdef B_COLLECTING_CATKEYS + +// pull in all the macros used when collecting catalog keys. +#include + +#else + // Translation macros which may be used to shorten translation requests: #undef B_TRANSLATE #define B_TRANSLATE(string) \ @@ -172,7 +179,7 @@ private: #undef B_TRANSLATE_MARK_SYSTEM_NAME_VOID #define B_TRANSLATE_MARK_SYSTEM_NAME_VOID(string) -// Translation macros which do not let collectcatkeys try to collect the key +// Translation macros which cause collectcatkeys to ignore this key // (useful in combination with the marking macros above): #undef B_TRANSLATE_NOCOLLECT #define B_TRANSLATE_NOCOLLECT(string) \ @@ -194,6 +201,8 @@ private: #define B_TRANSLATE_NOCOLLECT_SYSTEM_NAME(string) \ B_TRANSLATE_SYSTEM_NAME(string) +#endif /* B_COLLECTING_CATKEYS */ + #endif /* B_AVOID_TRANSLATION_MACROS */ diff --git a/headers/private/locale/collecting/Catalog.h b/headers/os/locale/tools/CollectingCatalog.h similarity index 95% rename from headers/private/locale/collecting/Catalog.h rename to headers/os/locale/tools/CollectingCatalog.h index 53db39c086..49e32bc210 100644 --- a/headers/private/locale/collecting/Catalog.h +++ b/headers/os/locale/tools/CollectingCatalog.h @@ -2,16 +2,11 @@ * Copyright 2012, Haiku, Inc. * Distributed under the terms of the MIT License. */ -#ifndef _COLLECTING_CATALOG_H_ -#define _COLLECTING_CATALOG_H_ - - -#include_next +#ifndef _TOOLS_COLLECTING_CATALOG_H_ +#define _TOOLS_COLLECTING_CATALOG_H_ // Translation macros used when executing collectcatkeys -#undef B_TRANSLATION_CONTEXT - #undef B_TRANSLATE #define B_TRANSLATE(string) \ B_CATKEY((string), B_TRANSLATION_CONTEXT)