Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Exporting waf dependencies between trees?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
jasedit  
View profile  
 More options Oct 26 2012, 11:50 am
From: jasedit <jase...@gmail.com>
Date: Fri, 26 Oct 2012 08:50:27 -0700 (PDT)
Local: Fri, Oct 26 2012 11:50 am
Subject: Exporting waf dependencies between trees?

I've got two projects using waf, where one is dependent upon the other (for
ease, I'll call them common and advanced.) The advanced project references
libraries from common during build, listing the common libraries in the
'lib' argument. It looks something along these lines:

common -
  libs -
    libfoo.a
    libbar.a
    libbaz.so

advanced -
  app -
    exampleApp (the build command would be something like
"bld.program(src='example.cpp', lib=['foo', 'bar', 'baz'])")

exampleApp builds fine the first time around. However, if a change is made
to common, advanced won't relink exampleApp against the new version of the
library. I know we could write out the check() calls in advanced's
configure step to store the libraries as dependencies for the 'use' line,
which I believe would fix this issue. I'm wondering if it's possible to
export or directly use information generated by common's waf scripts to
pull this information in directly, without having to write out every
library we want to use. We've got a fairly large number of libraries in
common, which would make this difficult. Any ideas?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Nagy  
View profile  
 More options Oct 26 2012, 5:17 pm
From: Thomas Nagy <tnagy1...@gmail.com>
Date: Fri, 26 Oct 2012 23:17:19 +0200
Local: Fri, Oct 26 2012 5:17 pm
Subject: Re: [waf-users 4669] Exporting waf dependencies between trees?

How about building the whole project at once and filtering the targets
to build with --target=libname? More complex solutions involving
pkg-config scripts (with defines for API numbers) or using
bld.read_shlib/bld.read_stlib to read the libraries are also possible.

Thomas


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
jasedit  
View profile  
 More options Oct 26 2012, 7:28 pm
From: jasedit <jase...@gmail.com>
Date: Fri, 26 Oct 2012 16:28:31 -0700 (PDT)
Local: Fri, Oct 26 2012 7:28 pm
Subject: Re: [waf-users 4669] Exporting waf dependencies between trees?

The common project needs to be able to be built without the advanced tree -
the advanced tree is limited distribution, while the common tree is shared
with other projects. Is there a way to have the common tree have a
standalone waf setup, but subsume it's waf build system if advanced invokes
its build system? Would that be reasonable?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
jasedit  
View profile  
 More options Nov 9 2012, 10:42 am
From: jasedit <jase...@gmail.com>
Date: Fri, 9 Nov 2012 07:42:10 -0800 (PST)
Local: Fri, Nov 9 2012 10:42 am
Subject: Re: [waf-users 4669] Exporting waf dependencies between trees?

I'm trying to glue the two trees together, and running into some odd
issues. I modified the advanced script to look something like this:

#!/bin/python

> import os
> top='..'
> build='obj'
> def configure(ctx):
>   ctx.load('compiler_cxx')
>   ctx.env.append_unique('INCLUDES', os.path.join('..', 'common', 'libs'))
> def build(bld):
>   bld.recurse([os.path.join('..', 'common'), 'app'])

What I'm seeing is that not all targets in common are being built. The
targets which are explicitly used by advanced are built, but shared objects
which are not linked against (e.g. plugins) are left unbuilt. Oddly, if I
run "waf list" I see those plugins listed, and if I run "waf build
--target=*" those targets are built. Is there some subtle issue I'm missing
with this setup? Or can you not recurse into an arbitrary directory?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Nagy  
View profile  
 More options Nov 9 2012, 11:13 am
From: Thomas Nagy <tnagy1...@gmail.com>
Date: Fri, 9 Nov 2012 17:13:18 +0100
Local: Fri, Nov 9 2012 11:13 am
Subject: Re: [waf-users 4683] Exporting waf dependencies between trees?

The default is to build the targets under the current working
directory. When using top='..', make sure to set bld.target='*' to
force all targets.

Thomas


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
jasedit  
View profile  
 More options Nov 9 2012, 1:55 pm
From: jasedit <jase...@gmail.com>
Date: Fri, 9 Nov 2012 10:54:59 -0800 (PST)
Local: Fri, Nov 9 2012 1:54 pm
Subject: Re: [waf-users 4683] Exporting waf dependencies between trees?

Is this something that can be done inside the wscript itself? I tried
adding bld.target='*' to the script, but it just threw an error.

Jason


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas Nagy  
View profile  
 More options Nov 9 2012, 2:01 pm
From: Thomas Nagy <tnagy1...@gmail.com>
Date: Fri, 9 Nov 2012 20:00:45 +0100
Local: Fri, Nov 9 2012 2:00 pm
Subject: Re: [waf-users 4685] Exporting waf dependencies between trees?

On Fri, Nov 9, 2012 at 7:54 PM, jasedit wrote:
> Is this something that can be done inside the wscript itself? I tried adding
> bld.target='*' to the script, but it just threw an error.

Try harder, the following works for me:

"""
def build(bld):
        bld.targets= '*'
"""

Thomas


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
jasedit  
View profile  
 More options Nov 9 2012, 2:19 pm
From: jasedit <jase...@gmail.com>
Date: Fri, 9 Nov 2012 11:19:48 -0800 (PST)
Local: Fri, Nov 9 2012 2:19 pm
Subject: Re: [waf-users 4685] Exporting waf dependencies between trees?

Ah - the original string was bld.target, which doesn't work. Thanks for all
the help!

Jason


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »