Changeset 93 for trunk/src/compiler.erl


Ignore:
Timestamp:
01/29/10 07:56:02 (2 years ago)
Author:
dom
Message:

Include directories can be given to compiler

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/compiler.erl

    r90 r93  
    55-module (compiler). 
    66-export ([init/2]). 
     7-export ([init/3]). 
    78 
    89init (Notify, Dir) -> 
     10    init (Notify, Dir, []). 
     11 
     12init (Notify, Dir, Options) -> 
    913    Args = [Dir, notify_me ()], 
    1014    Watcher = spawn_link (directory_watcher, init_recursive, Args), 
    11     State = {dict: new (), [], []}, 
     15    State = {dict: new (), [], [], Options}, 
    1216    loop (Notify, Watcher, State). 
    1317 
     
    1620        check -> 
    1721            Watcher ! check, 
    18             {Modules, Binaries, Removed} = State, 
     22            {Modules, Binaries, Removed, Options} = State, 
    1923            case receive_files (Watcher, Modules) of 
    2024                Modules -> 
    2125                    loop (Notify, Watcher, State); 
    2226                Changed -> 
    23                     New_state = {Changed, Binaries, Removed}, 
     27                    New_state = {Changed, Binaries, Removed, Options}, 
    2428                    compile (Notify, Watcher, New_state) 
    2529            end; 
     
    3943 
    4044compile (Notify, Watcher, State) -> 
    41     {Modules, _, _} = State, 
     45    {Modules, _, _, _} = State, 
    4246    Notify (totals (Modules)), 
    4347    Process = process_fun (Notify), 
     
    4852process_fun (Notify) -> 
    4953    fun (File, Event, Acc) when Event == found; Event == changed -> 
    50             {Modules, Binaries, Removed} = Acc, 
    51             Result = modules: compile (File), 
     54            {Modules, Binaries, Removed, Options} = Acc, 
     55            Result = modules: compile (File, Options), 
    5256            notify_result (Result, Notify), 
    5357            New_modules = dict: store (File, Result, Modules), 
    5458            Notify (totals (New_modules)), 
    5559            New_binaries = binaries (Result, Binaries), 
    56             {New_modules, New_binaries, Removed}; 
     60            {New_modules, New_binaries, Removed, Options}; 
    5761        (File, Event, Acc) when Event == lost -> 
    58             {Modules, Binaries, Removed} = Acc, 
     62            {Modules, Binaries, Removed, Options} = Acc, 
    5963            New_modules = dict: erase (File, Modules), 
    6064            New_removed = [modules: module_name (File) | Removed], 
    61             {New_modules, Binaries, New_removed}; 
     65            {New_modules, Binaries, New_removed, Options}; 
    6266        (_, _, Acc) -> 
    6367            Acc 
     
    9397 
    9498notify_end (Notify, State) -> 
    95     {Modules, _, _} = State, 
     99    {Modules, _, _, _} = State, 
    96100    notify_end (Notify, totals (Modules), State). 
    97101 
    98 notify_end (Notify, {N, N, N}, {Modules, Binaries, Removed}) -> 
     102notify_end (Notify, {N, N, N}, {Modules, Binaries, Removed, Options}) -> 
    99103    Notify ({{binaries, Binaries}, {removed, Removed}}), 
    100     {Modules, [], []}; 
     104    {Modules, [], [], Options}; 
    101105notify_end (_, _, State) -> 
    102106    State. 
Note: See TracChangeset for help on using the changeset viewer.