Final part of cleanup in Catalog.h.

* move versions of the B_TRANSLATE_...-macros used during collecting
  of catalog keys to a specific header file, which will only be picked
  up when running collectcatkeys
* fix a couple of build problems during the preprocessing of the libbe-
  sources when extracting catalog keys, all due to private headers not
  being found
* move ZombieReplicantView.h from kits/interface to
  headers/private/interface, as this way it can be picked up when
  building the libbe catalog
This commit is contained in:
Oliver Tappe 2012-04-16 00:03:28 +02:00
parent 541ff51a6e
commit 248f2283dd
5 changed files with 107 additions and 106 deletions

View File

@ -14,10 +14,14 @@ rule ExtractCatalogEntries target : sources : signature : regexp
local systemIncludesOption ;
on $(target) { # use on $(target) variable values
defines = $(DEFINES) ;
headers = $(HAIKU_CONFIG_HEADERS) $(SEARCH_SOURCE) $(SUBDIRHDRS)
$(HDRS) ;
sysHeaders = $(SUBDIRSYSHDRS) $(SYSHDRS) ;
defines = $(DEFINES) ;
# 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) ;
if $(PLATFORM) = host {
sysHeaders += $(HOST_HDRS) ;
@ -57,10 +61,8 @@ rule ExtractCatalogEntries target : sources : signature : regexp
SEARCH on $(sources) += $(SEARCH_SOURCE) ;
local subdir
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
MakeLocate $(target)
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
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) ;
@ -69,8 +71,7 @@ rule ExtractCatalogEntries target : sources : signature : regexp
actions ExtractCatalogEntries1
{
$(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
cat "$(2[2-])" \
| $(CC) -E $(CCDEFS) -DB_COLLECTING_CATKEYS $(HDRS) - > "$(1)".pre
cat "$(2[2-])" | $(CC) -E $(CCDEFS) $(HDRS) - > "$(1)".pre
$(2[1]) $(HAIKU_CATALOG_REGEXP) -s $(HAIKU_CATALOG_SIGNATURE) \
-w -o "$(1)" "$(1)".pre
}
@ -82,10 +83,8 @@ rule LinkApplicationCatalog target : sources : signature : language
# if the fingerprint matches the one from the untranslated catalog for the
# same file.
local subdir
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
MakeLocate $(target)
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
Depends $(target) : $(sources) <build>linkcatkeys ;
LocalClean clean : $(target) ;

View File

@ -63,8 +63,6 @@ private:
#define B_TRANSLATE_SYSTEM_NAME_CONTEXT "System name"
#ifndef B_COLLECTING_CATKEYS
#ifndef B_AVOID_TRANSLATION_MACROS
// macros for easy catalog-access, define B_AVOID_TRANSLATION_MACROS if
// you don't want these (in which case you need to collect the catalog keys
@ -200,95 +198,5 @@ private:
#endif /* B_AVOID_TRANSLATION_MACROS */
#else /* B_COLLECTING_CATKEYS */
// TODO: why define them here? Since we obviously control the preprocessor, we
// could simply always include a certain file that defines them; this doesn't
// really belong into a public header.
// Translation macros used when executing collectcatkeys
#undef B_TRANSLATE_CONTEXT
#undef B_TRANSLATE
#define B_TRANSLATE(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_WITH_CONTEXT
#define B_TRANSLATE_WITH_CONTEXT(string, context) \
B_CATKEY((string), (context))
#undef B_TRANSLATE_COMMENT
#define B_TRANSLATE_COMMENT(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_ALL
#define B_TRANSLATE_ALL(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_ID
#define B_TRANSLATE_ID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_SYSTEM_NAME
#define B_TRANSLATE_SYSTEM_NAME(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT)
#undef B_TRANSLATE_MARK
#define B_TRANSLATE_MARK(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_MARK_COMMENT
#define B_TRANSLATE_MARK_COMMENT(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_MARK_ALL
#define B_TRANSLATE_MARK_ALL(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_MARK_ID
#define B_TRANSLATE_MARK_ID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_MARK_SYSTEM_NAME
#define B_TRANSLATE_MARK_SYSTEM_NAME(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT, "")
#undef B_TRANSLATE_MARK_VOID
#define B_TRANSLATE_MARK_VOID(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_MARK_COMMENT_VOID
#define B_TRANSLATE_MARK_COMMENT_VOID(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_MARK_ALL_VOID
#define B_TRANSLATE_MARK_ALL_VOID(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_MARK_ID_VOID
#define B_TRANSLATE_MARK_ID_VOID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_MARK_SYSTEM_NAME_VOID
#define B_TRANSLATE_MARK_SYSTEM_NAME_VOID(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT, "")
#undef B_TRANSLATE_NOCOLLECT
#define B_TRANSLATE_NOCOLLECT(string)
#undef B_TRANSLATE_NOCOLLECT_COMMENT
#define B_TRANSLATE_NOCOLLECT_COMMENT(string, comment)
#undef B_TRANSLATE_NOCOLLECT_ALL
#define B_TRANSLATE_NOCOLLECT_ALL(string, context, comment)
#undef B_TRANSLATE_NOCOLLECT_ID
#define B_TRANSLATE_NOCOLLECT_ID(id)
#undef B_TRANSLATE_NOCOLLECT_SYSTEM_NAME
#define B_TRANSLATE_NOCOLLECT_SYSTEM_NAME(string)
#endif /* B_COLLECTING_CATKEYS */
#endif /* _CATALOG_H_ */

View File

@ -0,0 +1,95 @@
/*
* Copyright 2012, Haiku, Inc.
* Distributed under the terms of the MIT License.
*/
#ifndef _CATALOG_COLLECTOR_H_
#define _CATALOG_COLLECTOR_H_
#include_next <Catalog.h>
// Translation macros used when executing collectcatkeys
#undef B_TRANSLATE_CONTEXT
#undef B_TRANSLATE
#define B_TRANSLATE(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_WITH_CONTEXT
#define B_TRANSLATE_WITH_CONTEXT(string, context) \
B_CATKEY((string), (context))
#undef B_TRANSLATE_COMMENT
#define B_TRANSLATE_COMMENT(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_ALL
#define B_TRANSLATE_ALL(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_ID
#define B_TRANSLATE_ID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_SYSTEM_NAME
#define B_TRANSLATE_SYSTEM_NAME(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT)
#undef B_TRANSLATE_MARK
#define B_TRANSLATE_MARK(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_MARK_COMMENT
#define B_TRANSLATE_MARK_COMMENT(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_MARK_ALL
#define B_TRANSLATE_MARK_ALL(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_MARK_ID
#define B_TRANSLATE_MARK_ID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_MARK_SYSTEM_NAME
#define B_TRANSLATE_MARK_SYSTEM_NAME(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT, "")
#undef B_TRANSLATE_MARK_VOID
#define B_TRANSLATE_MARK_VOID(string) \
B_CATKEY((string), B_TRANSLATE_CONTEXT)
#undef B_TRANSLATE_MARK_COMMENT_VOID
#define B_TRANSLATE_MARK_COMMENT_VOID(string, comment) \
B_CATKEY((string), B_TRANSLATE_CONTEXT, (comment))
#undef B_TRANSLATE_MARK_ALL_VOID
#define B_TRANSLATE_MARK_ALL_VOID(string, context, comment) \
B_CATKEY((string), (context), (comment))
#undef B_TRANSLATE_MARK_ID_VOID
#define B_TRANSLATE_MARK_ID_VOID(id) \
B_CATKEY((id))
#undef B_TRANSLATE_MARK_SYSTEM_NAME_VOID
#define B_TRANSLATE_MARK_SYSTEM_NAME_VOID(string) \
B_CATKEY((string), B_TRANSLATE_SYSTEM_NAME_CONTEXT, "")
#undef B_TRANSLATE_NOCOLLECT
#define B_TRANSLATE_NOCOLLECT(string)
#undef B_TRANSLATE_NOCOLLECT_COMMENT
#define B_TRANSLATE_NOCOLLECT_COMMENT(string, comment)
#undef B_TRANSLATE_NOCOLLECT_ALL
#define B_TRANSLATE_NOCOLLECT_ALL(string, context, comment)
#undef B_TRANSLATE_NOCOLLECT_ID
#define B_TRANSLATE_NOCOLLECT_ID(id)
#undef B_TRANSLATE_NOCOLLECT_SYSTEM_NAME
#define B_TRANSLATE_NOCOLLECT_SYSTEM_NAME(string)
#endif /* _CATALOG_COLLECTOR_H_ */

View File

@ -17,8 +17,7 @@ if $(RUN_WITHOUT_APP_SERVER) != 0 {
SubDirC++Flags $(defines) ;
}
UsePrivateHeaders [ FDirName kernel ] ; # For KMessage.h
#UsePrivateHeaders syslog_daemon ; # For syslog.cpp
UsePrivateHeaders app interface kernel locale shared ;
# Build our libbe.so