# # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. INSTALL_TARGETS += errorlist errorlist_FILES := \ ErrorListCDefines.h \ ErrorListCxxDefines.h \ $(NULL) errorlist_DEST = $(DIST)/include errorlist_TARGET := export include $(topsrcdir)/config/rules.mk ifdef MOZ_WIDGET_GTK CXXFLAGS += $(TK_CFLAGS) endif # We generate ErrorListCxxDefines.h from ErrorList.h using regex. The -n option # suppresses printing the pattern space, and the p at the end prints it anyway, # so we don't print lines that don't match the pattern to start with. ErrorListCxxDefines.h: ErrorList.h Makefile echo '// IWYU pragma: private, include "nsError.h"' > $@ sed -n 's/.*ERROR(\([A-Z_0-9]*\).*/#define \1 nsresult::\1/p' < $< >> $@ ErrorListCDefines.h: ErrorList.h Makefile sed 's/.*ERROR(\([A-Z_0-9]*\),\( *\)\(.*\))[^)]*/#define \1 \2((nsresult)(\3))/' < $< > $@ GARBAGE += \ ErrorListCxxDefines.h \ ErrorListCDefines.h \ $(NULL)