aboutsummaryrefslogtreecommitdiffstats
path: root/lib/reltool/src/reltool.hrl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/reltool/src/reltool.hrl')
-rw-r--r--lib/reltool/src/reltool.hrl202
1 files changed, 202 insertions, 0 deletions
diff --git a/lib/reltool/src/reltool.hrl b/lib/reltool/src/reltool.hrl
new file mode 100644
index 0000000000..736daab0f0
--- /dev/null
+++ b/lib/reltool/src/reltool.hrl
@@ -0,0 +1,202 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+
+-define(APPLICATION, reltool).
+-define(MISSING_APP, '*MISSING*').
+-define(MISSING_APP_TEXT, "*MISSING*").
+
+-record(common,
+ {
+ sys_debug, % term()
+ wx_debug, % term()
+ trap_exit, % bool()
+ app_tab, % ets_tab()
+ mod_tab, % ets_tab()
+ mod_used_by_tab % ets_tab()
+ }).
+
+-record(sys,
+ {
+ %% Sources
+ root_dir, % directory()
+ lib_dirs, % [directory()]
+ escripts, % [file()]
+ mod_cond, % all | app | ebin | derived | none
+ incl_cond, % include | exclude | derived
+ apps, % [#app{}]
+
+ %% Target cond
+ boot_rel, % string()
+ rels, % [#rel{}]
+ emu_name, % string()
+ profile, % standalone | development | embedded
+ incl_sys_filters, % [regexp()]
+ excl_sys_filters, % [regexp()]
+ incl_app_filters, % [regexp()]
+ excl_app_filters, % [regexp()]
+ incl_archive_filters, % [regexp()]
+ excl_archive_filters, % [regexp()]
+ archive_opts, % [zip:create()]
+ relocatable, % bool()
+ app_type, % permanent | transient | temporary | load | none
+ app_file, % keep | strip | all
+ debug_info % keep | strip
+ }).
+
+-record(rel,
+ {
+ name, % string()
+ vsn, % string()
+ rel_apps % [#rel_app{}]
+ }).
+
+-record(rel_app,
+ {
+ name, % atom()
+ app_type, % permanent | transient | temporary | load | none
+ incl_apps % [atom()]
+ }).
+
+-record(app,
+ {%% Static info
+ name, % atom()
+ is_escript, % bool()
+ use_selected_vsn,% bool() | undefined
+ active_dir, % dir_name()
+ sorted_dirs, % [dir_name()]
+ vsn, % string() e.g. "4.7"
+ label, % string() e.g. "mnesia" or "mnesia-4.7"
+ info, % #app_info{} | undefined
+ mods, % [#mod{}]
+
+ %% Static source cond
+ mod_cond, % all | app | ebin | derived | none | undefined
+ incl_cond, % include | exclude | derived | undefined
+
+ %% Static target cond
+ debug_info, % keep | strip | undefined
+ app_file, % keep | strip | all | undefined
+ app_type, % permanent | transient | temporary | load | none
+ incl_app_filters, % [regexp()]
+ excl_app_filters, % [regexp()]
+ incl_archive_filters, % [regexp()]
+ excl_archive_filters, % [regexp()]
+ archive_opts, % [zip_create_opt()]
+
+ %% Dynamic
+ status, % missing | ok
+ uses_mods, % [atom()]
+ used_by_mods, % [atom()]
+ uses_apps, % [atom()]
+ used_by_apps, % [atom()]
+ is_pre_included, % bool()
+ is_included % bool()
+ }).
+
+-record(mod,
+ {%% Static
+ name, % atom()
+ app_name, % atom()
+ incl_cond, % include | exclude | derived | undefined
+ debug_info, % keep | strip | undefined
+ is_app_mod, % bool(),
+ is_ebin_mod, % bool(),
+ uses_mods, % [module()]
+ exists, % bool()
+ %% Dynamic
+ status, % missing | ok
+ used_by_mods, % [atom()]
+ is_pre_included, % bool() | undefined
+ is_included % bool() | undefined
+ }).
+
+%% app - Include all modules in app file
+%% ebin - Include all modules on ebin directory
+%% derived - Include only those modules that others are dependent on
+
+-record(app_info,
+ {
+ description = "",
+ id = "",
+ vsn = "",
+ modules = [],
+ maxP = infinity,
+ maxT = infinity,
+ registered = [],
+ incl_apps = [],
+ applications = [],
+ env = [],
+ mod = undefined,
+ start_phases = undefined
+ }).
+
+-record(regexp, {source, compiled}).
+
+-define(ERR_IMAGE, 0).
+-define(WARN_IMAGE, 1).
+-define(QUEST_IMAGE, 2).
+-define(TICK_IMAGE, 3).
+-define(CROSS_IMAGE, 4).
+-define(SOURCE_IMAGE, 5).
+
+-define(KEYSEARCH(Key, Pos, List),
+ reltool_utils:safe_keysearch(Key, Pos, List, ?MODULE, ?LINE)).
+
+-define(DEFAULT_LIBS, []).
+-define(DEFAULT_APPS, []).
+-define(DEFAULT_INCL_COND, derived).
+-define(DEFAULT_MOD_COND, all).
+-define(DEFAULT_REL_NAME, "start_clean").
+-define(DEFAULT_EMU_NAME, "beam").
+-define(DEFAULT_PROFILE, development).
+-define(DEFAULT_RELOCATABLE, true).
+-define(DEFAULT_APP_TYPE, permanent).
+-define(DEFAULT_APP_FILE, keep).
+-define(DEFAULT_DEBUG_INFO, keep).
+
+-define(DEFAULT_INCL_ARCHIVE_FILTERS, [".*"]).
+-define(DEFAULT_EXCL_ARCHIVE_FILTERS, ["^include$", "^priv$"]).
+-define(DEFAULT_ARCHIVE_OPTS, []).
+
+-define(DEFAULT_INCL_SYS_FILTERS, [".*"]).
+-define(DEFAULT_EXCL_SYS_FILTERS, []).
+-define(DEFAULT_INCL_APP_FILTERS, [".*"]).
+-define(DEFAULT_EXCL_APP_FILTERS, []).
+
+-define(EMBEDDED_INCL_SYS_FILTERS, ["^bin",
+ "^erts",
+ "^lib",
+ "^releases"]).
+-define(EMBEDDED_EXCL_SYS_FILTERS, ["^bin/(erlc|dialyzer|typer)(|\\.exe)$",
+ "^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$",
+ "^erts.*/bin/.*(debug|pdb)"]).
+-define(EMBEDDED_INCL_APP_FILTERS, ["^ebin",
+ "^priv",
+ "^include"]).
+-define(EMBEDDED_EXCL_APP_FILTERS, []).
+
+-define(STANDALONE_INCL_SYS_FILTERS, ["^bin/(erl|epmd)(|\\.exe|\\.ini)$",
+ "^bin/start(|_clean).boot$",
+ "^erts.*/bin",
+ "^lib$"]).
+-define(STANDALONE_EXCL_SYS_FILTERS, ["^erts.*/bin/(erlc|dialyzer|typer)(|\\.exe)$",
+ "^erts.*/bin/(start|escript|to_erl|run_erl)(|\\.exe)$",
+ "^erts.*/bin/.*(debug|pdb)"]).
+-define(STANDALONE_INCL_APP_FILTERS, ["^ebin",
+ "^priv"]).
+-define(STANDALONE_EXCL_APP_FILTERS, ["^ebin/.*\\.appup$"]).