~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/emulator/utils/loaded

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%% -*- erlang -*-
 
2
%%
 
3
%% %CopyrightBegin%
 
4
%%
 
5
%% Copyright Ericsson AB 1998-2011. All Rights Reserved.
 
6
%%
 
7
%% The contents of this file are subject to the Erlang Public License,
 
8
%% Version 1.1, (the "License"); you may not use this file except in
 
9
%% compliance with the License. You should have received a copy of the
 
10
%% Erlang Public License along with this software. If not, it can be
 
11
%% retrieved online at http://www.erlang.org/.
 
12
%%
 
13
%% Software distributed under the License is distributed on an "AS IS"
 
14
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 
15
%% the License for the specific language governing rights and limitations
 
16
%% under the License.
 
17
%%
 
18
%% %CopyrightEnd%
 
19
%%
 
20
 
 
21
%% Run like:
 
22
%%   $ERL_TOP/bin/escript erts/emulator/utils/loaded
 
23
 
 
24
-mode(compile).
 
25
 
 
26
main(_) ->
 
27
    LibDir = code:lib_dir(),
 
28
    io:format("Library root is ~s\n", [LibDir]),
 
29
    Wc = filename:join(LibDir, "*/ebin/*.beam"),
 
30
    Beams = filelib:wildcard(Wc),
 
31
    BeamFileSize = lists:sum([filelib:file_size(Beam) || Beam <- Beams]),
 
32
    io:format("~w BEAM files containing ~w bytes\n",
 
33
              [length(Beams),BeamFileSize]),
 
34
    Ms = [list_to_atom(filename:rootname(filename:basename(Beam))) ||
 
35
             Beam <- Beams],
 
36
    [{module,_} = code:ensure_loaded(M) || M <- Ms],
 
37
    <<"Current code: ",T/binary>> = erlang:system_info(loaded),
 
38
    Digits = grab_digits(T),
 
39
    io:format("~w modules comprising ~s words when loaded\n",
 
40
              [length(Ms),Digits]).
 
41
 
 
42
grab_digits(<<H,T/binary>>) when $0 =< H, H =< $9 ->
 
43
    [H|grab_digits(T)];
 
44
grab_digits(<<$\n,_/binary>>) -> [].