From 53508faa9cba923751653901ba21d6025da46e5b Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Mon, 12 Nov 2012 20:18:00 -0700 Subject: [PATCH 04/10] Be sure to filter empty sources (h/t to Tuncer and Joe Norton) --- src/rebar_port_compiler.erl | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/rebar_port_compiler.erl b/src/rebar_port_compiler.erl index 71b27a5..70ee308 100644 --- a/src/rebar_port_compiler.erl +++ b/src/rebar_port_compiler.erl @@ -248,16 +248,17 @@ needs_link(SoName, NewBins) -> %% get_specs(Config, AppFile) -> - case rebar_config:get_local(Config, port_specs, []) of - [] -> - %% No spec provided. Construct a spec - %% from old-school so_name and sources - [port_spec_from_legacy(Config, AppFile)]; - PortSpecs -> - Filtered = filter_port_specs(PortSpecs), - OsType = os:type(), - [get_port_spec(Config, OsType, Spec) || Spec <- Filtered] - end. + Specs = case rebar_config:get_local(Config, port_specs, []) of + [] -> + %% No spec provided. Construct a spec + %% from old-school so_name and sources + [port_spec_from_legacy(Config, AppFile)]; + PortSpecs -> + Filtered = filter_port_specs(PortSpecs), + OsType = os:type(), + [get_port_spec(Config, OsType, Spec) || Spec <- Filtered] + end, + [S || S <- Specs, S#spec.sources /= []]. port_spec_from_legacy(Config, AppFile) -> %% Get the target from the so_name variable -- 1.8.1.4