diff options
author | Fredrik Gustafsson <[email protected]> | 2013-06-03 16:11:47 +0200 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2013-06-03 16:11:47 +0200 |
commit | 2e0edbce734dbc684abbe7d415b4e94603a45846 (patch) | |
tree | 9de0f81ae0f194dbf2c98220511ca15157b96e93 /erts/preloaded/src/add_abstract_code | |
parent | 8d2a76bd9e0b1e846e7a820dbb8a08e969bf61bb (diff) | |
parent | 46c45db2558cda8e36dc7d977db722b1b8d8c86f (diff) | |
download | otp-2e0edbce734dbc684abbe7d415b4e94603a45846.tar.gz otp-2e0edbce734dbc684abbe7d415b4e94603a45846.tar.bz2 otp-2e0edbce734dbc684abbe7d415b4e94603a45846.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/preloaded/src/add_abstract_code')
-rw-r--r-- | erts/preloaded/src/add_abstract_code | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/erts/preloaded/src/add_abstract_code b/erts/preloaded/src/add_abstract_code new file mode 100644 index 0000000000..e670156d21 --- /dev/null +++ b/erts/preloaded/src/add_abstract_code @@ -0,0 +1,34 @@ +#!/usr/bin/env escript +%% -*- erlang -*- + +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2013. 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% +%% + +-mode(compile). + +-export([main/1]). + +main([BeamFile,AbstrFile]) -> + {ok,_,Chunks0} = beam_lib:all_chunks(BeamFile), + {ok,Abstr} = file:consult(AbstrFile), + Chunks = lists:keyreplace("Abst", 1, Chunks0, + {"Abst",term_to_binary({raw_abstract_v1,Abstr})}), + {ok,Module} = beam_lib:build_module(Chunks), + ok = file:write_file(BeamFile, Module), + init:stop(). |