3 aap suggestions

Pavol Juhas <[email protected]> Fri, 25 Nov 2005 13:02:19 -0500
Newsgroups gmane.comp.tools.aap.devel
Message-ID <[email protected]>
Hello,

I have been using aap (version 1.079) for some time and I am quite
impressed.  However, there are few things that could be improved:

(1) aap is not using correct linker when linking c++ objects.

Example:
    # main.aap contains single line ":program hello : hello.cpp"
    # clean build works
    $ aap
    Aap:  g++       -MM hello.cpp > build-Linux2_6_12_1_1381_FC3/hello.cpp.aap
    Aap: g++    -O2  -c -o build-Linux2_6_12_1_1381_FC3/hello.o hello.cpp
    Aap: g++  -O2 -o hello build-Linux2_6_12_1_1381_FC3/hello.o 
    # but building from objects does not
    $ rm hello                               
    $ aap
    Aap: cc  -O2 -o hello build-Linux2_6_12_1_1381_FC3/hello.o 
    build-Linux2_6_12_1_1381_FC3/hello.o(.text+0x12): In function `main':
    : undefined reference to `std::cout'
    ...

Can this be fixed so that aap uses g++ as a linker when linking c++ objects?

(2) :toolsearch raises exception when it cannot find some tool.

I am running my code on 2 different architectures - on the group linux
box and on university x86_64 high-performance linux cluster.  The later
system has Intel c-compiler, which is not available on the group
machine.  I created new tools file, intelcc.py, put it to the
~/.aap/tools directory on cluster and used

    :toolsearch intelcc gcc

in my main.aap.  I thought this would work on both systems and aap would
choose gcc if intelcc was not defined.  However aap raises an exception
and dies if it cannot find intelcc.py

(3) when ~/.aap/tools contains some files, aap ignores default tools in 
    /usr/local/share/aap/tools

doc/aap/ref-commands.html#cmd-usetool  says that 3 directories are
searched for compiler tools, and they must contain __init__.py.   In
fact only one directory is searched.  Python uses for all imports the
first package directory that contains __init__.py, therefore aap can
find only tools in ~/.aap/tools, and the remaining directories are
ignored.  I think the solution would be to add all tools directories
into sys.path (maybe only temporarily inside toolsearch or usetool
functions) or to use lower-level python import statements, so that all
tools directories could be searched.

Is it possible to fix these 3 issues?  Thanks,

Pavol


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click