Loading core/Makefile +20 −3 Original line number Diff line number Diff line Loading @@ -252,8 +252,23 @@ systemimage: .PHONY: event-log-tags # Produce an event logs tag file for everything we know about, in order # to properly allocate numbers. Then produce a file that's filtered # for what's going to be installed. all_event_log_tags_file := $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt # Include tags from all packages that we know about all_event_log_tags_src := \ $(sort $(foreach m, $(ALL_MODULES), $(ALL_MODULES.$(m).EVENT_LOG_TAGS))) $(all_event_log_tags_file): PRIVATE_SRC_FILES := $(all_event_log_tags_src) $(all_event_log_tags_file): $(all_event_log_tags_src) $(hide) mkdir -p $(dir $@) $(hide) build/tools/merge-event-log-tags.py -o $@ $(PRIVATE_SRC_FILES) event_log_tags_file := $(TARGET_OUT)/etc/event-log-tags ALL_PREBUILT += $(event_log_tag_file) # Include tags from all packages included in this product. event_log_tags_src := \ Loading @@ -263,14 +278,16 @@ event_log_tags_src := \ $(ALL_MODULES.$(m).EVENT_LOG_TAGS))) $(event_log_tags_file): PRIVATE_SRC_FILES := $(event_log_tags_src) $(event_log_tags_file): $(event_log_tags_src) $(event_log_tags_file): PRIVATE_MERGED_FILE := $(all_event_log_tags_file) $(event_log_tags_file): $(event_log_tags_src) $(all_event_log_tags_file) $(hide) mkdir -p $(dir $@) $(hide) build/tools/merge-event-log-tags.py -o $@ $(PRIVATE_SRC_FILES) $(hide) build/tools/merge-event-log-tags.py -o $@ -m $(PRIVATE_MERGED_FILE) $(PRIVATE_SRC_FILES) event-log-tags: $(event_log_tags_file) ALL_DEFAULT_INSTALLED_MODULES += $(event_log_tags_file) ifneq ($(TARGET_SIMULATOR),true) # ################################################################# Loading core/base_rules.mk +1 −1 Original line number Diff line number Diff line Loading @@ -222,7 +222,7 @@ ifneq ($(strip $(filter $(LOCAL_MODULE_CLASS),APPS JAVA_LIBRARIES)),) logtags_java_sources := $(patsubst %.logtags,%.java,$(addprefix $(intermediates.COMMON)/src/, $(logtags_sources))) logtags_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(logtags_sources)) $(logtags_java_sources): $(intermediates.COMMON)/src/%.java: $(TOPDIR)$(LOCAL_PATH)/%.logtags $(TARGET_OUT)/etc/event-log-tags $(logtags_java_sources): $(intermediates.COMMON)/src/%.java: $(TOPDIR)$(LOCAL_PATH)/%.logtags $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt $(transform-logtags-to-java) endif Loading tools/merge-event-log-tags.py +27 −8 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ errors = [] warnings = [] output_file = None pre_merged_file = None # Tags with a tag number of ? are assigned a tag in the range # [ASSIGN_START, ASSIGN_LIMIT). Loading @@ -43,7 +44,7 @@ ASSIGN_START = 900000 ASSIGN_LIMIT = 1000000 try: opts, args = getopt.getopt(sys.argv[1:], "ho:") opts, args = getopt.getopt(sys.argv[1:], "ho:m:") except getopt.GetoptError, err: print str(err) print __doc__ Loading @@ -55,6 +56,8 @@ for o, a in opts: sys.exit(2) elif o == "-o": output_file = a elif o == "-m": pre_merged_file = a else: print >> sys.stderr, "unhandled option %s" % (o,) sys.exit(1) Loading @@ -71,6 +74,11 @@ for o, a in opts: by_tagname = {} by_tagnum = {} pre_merged_tags = {} if pre_merged_file: for t in event_log_tags.TagFile(pre_merged_file).tags: pre_merged_tags[t.tagname] = t for fn in args: tagfile = event_log_tags.TagFile(fn) Loading Loading @@ -140,8 +148,19 @@ def hashname(str): # assigned. We do this based on a hash of the tag name so that the # numbers should stay relatively stable as tags are added. # If we were provided pre-merged tags (w/ the -m option), then don't # ever try to allocate one, just fail if we don't have a number for name, t in sorted(by_tagname.iteritems()): if t.tagnum is None: if pre_merged_tags: try: t.tagnum = pre_merged_tags[t.tagname] except KeyError: print >> sys.stderr, ("Error: Tag number not defined for tag `%s'." +" Have you done a full build?") % t.tagname sys.exit(1) else: while True: x = (hashname(name) % (ASSIGN_LIMIT - ASSIGN_START - 1)) + ASSIGN_START if x not in by_tagnum: Loading Loading
core/Makefile +20 −3 Original line number Diff line number Diff line Loading @@ -252,8 +252,23 @@ systemimage: .PHONY: event-log-tags # Produce an event logs tag file for everything we know about, in order # to properly allocate numbers. Then produce a file that's filtered # for what's going to be installed. all_event_log_tags_file := $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt # Include tags from all packages that we know about all_event_log_tags_src := \ $(sort $(foreach m, $(ALL_MODULES), $(ALL_MODULES.$(m).EVENT_LOG_TAGS))) $(all_event_log_tags_file): PRIVATE_SRC_FILES := $(all_event_log_tags_src) $(all_event_log_tags_file): $(all_event_log_tags_src) $(hide) mkdir -p $(dir $@) $(hide) build/tools/merge-event-log-tags.py -o $@ $(PRIVATE_SRC_FILES) event_log_tags_file := $(TARGET_OUT)/etc/event-log-tags ALL_PREBUILT += $(event_log_tag_file) # Include tags from all packages included in this product. event_log_tags_src := \ Loading @@ -263,14 +278,16 @@ event_log_tags_src := \ $(ALL_MODULES.$(m).EVENT_LOG_TAGS))) $(event_log_tags_file): PRIVATE_SRC_FILES := $(event_log_tags_src) $(event_log_tags_file): $(event_log_tags_src) $(event_log_tags_file): PRIVATE_MERGED_FILE := $(all_event_log_tags_file) $(event_log_tags_file): $(event_log_tags_src) $(all_event_log_tags_file) $(hide) mkdir -p $(dir $@) $(hide) build/tools/merge-event-log-tags.py -o $@ $(PRIVATE_SRC_FILES) $(hide) build/tools/merge-event-log-tags.py -o $@ -m $(PRIVATE_MERGED_FILE) $(PRIVATE_SRC_FILES) event-log-tags: $(event_log_tags_file) ALL_DEFAULT_INSTALLED_MODULES += $(event_log_tags_file) ifneq ($(TARGET_SIMULATOR),true) # ################################################################# Loading
core/base_rules.mk +1 −1 Original line number Diff line number Diff line Loading @@ -222,7 +222,7 @@ ifneq ($(strip $(filter $(LOCAL_MODULE_CLASS),APPS JAVA_LIBRARIES)),) logtags_java_sources := $(patsubst %.logtags,%.java,$(addprefix $(intermediates.COMMON)/src/, $(logtags_sources))) logtags_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(logtags_sources)) $(logtags_java_sources): $(intermediates.COMMON)/src/%.java: $(TOPDIR)$(LOCAL_PATH)/%.logtags $(TARGET_OUT)/etc/event-log-tags $(logtags_java_sources): $(intermediates.COMMON)/src/%.java: $(TOPDIR)$(LOCAL_PATH)/%.logtags $(TARGET_OUT_COMMON_INTERMEDIATES)/all-event-log-tags.txt $(transform-logtags-to-java) endif Loading
tools/merge-event-log-tags.py +27 −8 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ errors = [] warnings = [] output_file = None pre_merged_file = None # Tags with a tag number of ? are assigned a tag in the range # [ASSIGN_START, ASSIGN_LIMIT). Loading @@ -43,7 +44,7 @@ ASSIGN_START = 900000 ASSIGN_LIMIT = 1000000 try: opts, args = getopt.getopt(sys.argv[1:], "ho:") opts, args = getopt.getopt(sys.argv[1:], "ho:m:") except getopt.GetoptError, err: print str(err) print __doc__ Loading @@ -55,6 +56,8 @@ for o, a in opts: sys.exit(2) elif o == "-o": output_file = a elif o == "-m": pre_merged_file = a else: print >> sys.stderr, "unhandled option %s" % (o,) sys.exit(1) Loading @@ -71,6 +74,11 @@ for o, a in opts: by_tagname = {} by_tagnum = {} pre_merged_tags = {} if pre_merged_file: for t in event_log_tags.TagFile(pre_merged_file).tags: pre_merged_tags[t.tagname] = t for fn in args: tagfile = event_log_tags.TagFile(fn) Loading Loading @@ -140,8 +148,19 @@ def hashname(str): # assigned. We do this based on a hash of the tag name so that the # numbers should stay relatively stable as tags are added. # If we were provided pre-merged tags (w/ the -m option), then don't # ever try to allocate one, just fail if we don't have a number for name, t in sorted(by_tagname.iteritems()): if t.tagnum is None: if pre_merged_tags: try: t.tagnum = pre_merged_tags[t.tagname] except KeyError: print >> sys.stderr, ("Error: Tag number not defined for tag `%s'." +" Have you done a full build?") % t.tagname sys.exit(1) else: while True: x = (hashname(name) % (ASSIGN_LIMIT - ASSIGN_START - 1)) + ASSIGN_START if x not in by_tagnum: Loading