From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32460 invoked by alias); 14 Oct 2007 21:03:29 -0000 Received: (qmail 32438 invoked by uid 22791); 14 Oct 2007 21:03:22 -0000 X-Spam-Check-By: sourceware.org Received: from snape.ecoscentric.com (HELO snape.ecoscentric.com) (212.13.207.199) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 14 Oct 2007 21:03:15 +0000 Received: from localhost (snape.ecoscentric.com [127.0.0.1]) by snape.ecoscentric.com (Postfix) with ESMTP id 959FCDC80DB; Sun, 14 Oct 2007 22:03:12 +0100 (BST) Received: from snape.ecoscentric.com ([127.0.0.1]) by localhost (snape.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Rv9kHm1ncTnt; Sun, 14 Oct 2007 22:03:11 +0100 (BST) Received: from delenn.bartv.net (unknown [212.13.207.199]) by snape.ecoscentric.com (Postfix) with ESMTP id 49B03DC8081; Sun, 14 Oct 2007 22:03:11 +0100 (BST) Date: Sun, 14 Oct 2007 21:03:00 -0000 Message-Id: From: Bart Veer To: Jay Foster CC: ecos-discuss@ecos.sourceware.org In-reply-to: <74C9525D67A5FF4791614FDB06593BB10429A3BE@mail.systech.com> (message from Jay Foster on Fri, 12 Oct 2007 10:40:18 -0700) References: <74C9525D67A5FF4791614FDB06593BB10429A3BE@mail.systech.com> Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] CDL Interface Configury X-SW-Source: 2007-10/txt/msg00085.txt.bz2 >>>>> "Jay" == Jay Foster writes: Jay> I'm having a problem using the cdl_interface CDL configury. I Jay> have a CDL package where I have: Jay> requires (CYGINT_XXX == 1) Jay> cdl_interface CYGINT_XXX { Jay> display "" Jay> } Jay> I (currently) do not have any implementations for this Jay> interface enabled. I would expect to get a CDL configure Jay> error, but do not. Instead, I get: Jay> U CYGINT_XXX, new inferred value 1 Jay> as output from ecosconfig. Why is that? How do I make Jay> ecosconfig fail if the requirement is not met, rather than Jay> inferring a value for it? The result of the ecosconfig not Jay> failing is that the compile then fails later, since there is Jay> no implementation code. This should not be happening, and when I try it in my world I get reported conflict from ecosconfig as expected. Within libcdl an interface is not directly modifiable, it should be impossible for the inference engine to change its value directly. Instead the only ways in which the inference engine can affect an interface is by making it active or inactive, or by changing the state/value of something that implements the interface. If you look at the generated ecos.ecc file, what does it say about CYGINT_XXX? My ecos.ecc contains the following: cdl_interface CYGINT_XXX { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # package CYGPKG_DEVS_FRAMEBUF_SYNTH # Requires: CYGINT_XXX == 1 }; >>>>> "Andrew" == Andrew Lunn writes: Andrew> The interface should be declared outside of the package Andrew> that requires it be implemented. No, there is no such requirement within CDL. If the parent package has an active_if on the interface then things can get confusing, but that is a separate issue. Here we are talking about requires properties. Bart -- Bart Veer eCos Configuration Architect eCosCentric Limited The eCos experts http://www.ecoscentric.com/ Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571 Registered in England and Wales: Reg No 4422071. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss