This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 172200 - [discovery] Handle libtool complex output
Summary: [discovery] Handle libtool complex output
Status: NEW
Alias: None
Product: cnd
Classification: Unclassified
Component: Project Discovery (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Alexander Simon
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-14 16:25 UTC by rmartins
Modified: 2013-05-17 15:07 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rmartins 2009-09-14 16:25:32 UTC
Hi,

In order to provide more accurate/faster discovery information, libtool's complex output must be handle properly.
From issue 171937:
Alexander wrote:
"
/bin/bash ../libtool --tag=CXX --mode=compile CC -DHAVE_CONFIG_H   -I../..  -I..  -DACE_BUILD_DLL -D_REENTRANT
-D_THREAD_SAFE  -I/usr/openwin/include -g  -O -c -o libACE_la-UPIPE_Stream.lo `test -f 'UPIPE_Stream.cpp' || echo
'../../ace/'`UPIPE_Stream.cpp

IDE can only guess that it is an invoking CC compiler for "./../ace/UPIPE_Stream.cpp" source file.
"

Thanks,
Rolando
Comment 1 rmartins 2009-09-14 19:18:54 UTC
Hi,
I tried playing with libtool and found out that if we use --debug we get:
...
+ command=' g++ -DHAVE_CONFIG_H -I../.. -I.. -DACE_BUILD_DLL -W -Wall -Wpointer-arith -g3 -gdwarf-2 -pthread -pipe -O3
-MT libACE_la-Based_Pointer_Repository.lo -MD -MP -MF .deps/libACE_la-Based_Pointer_Repository.Tpo -c
../../ace/Based_Pointer_Repository.cpp  -fPIC -DPIC -o .libs/libACE_la-Based_Pointer_Repository.o'
+ rm -f .libs/libACE_la-Based_Pointer_Repository.o ''
...
So it's possible to get the "final" shell output.

Rolando

Comment 2 Leonid Lenyashin 2009-09-28 12:46:08 UTC
Please evaluate this issue
Comment 3 Alexander Simon 2009-11-10 01:13:34 UTC
For example, fragment of output of gmake --debug for litesql-0.3.5 is:
/bin/bash ../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../..    -I./../../include -g -O2   -I/usr/include/pgsql -MT mysql.lo -MD -MP -MF .deps/mysql.Tpo -c -o mysql.lo mysql.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I./../../include -g -O2 -I/usr/include/pgsql -MT mysql.lo -MD -MP -MF .deps/mysql.Tpo -c mysql.cpp  -fPIC -DPIC -o .libs/mysql.o

Fragment of output of dmake -d for litesql-0.3.5 is:
/bin/bash ../../libtool --tag=CXX    --mode=compile g++ -DHAVE_CONFIG_H -I. -I../..     -I./../../include -g -O2   -I/usr/include/pgsql -MT datasource.lo -MD -MP -MF .deps/datasource.Tpo -c -o datasource.lo datasource.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I./../../include -g -O2 -I/usr/include/pgsql -MT datasource.lo -MD -MP -MF .deps/datasource.Tpo -c datasource.cpp  -fPIC -DPIC -o .libs/datasource.o
Comment 4 Alexander Simon 2009-11-10 01:32:54 UTC
Discovery by make log works for "/bin/bash ../libtool --tag=CXX ..." in simple cases.
It is to risky add additional option to make command because:
- no compatibility of "--debug" option between gmake and dmake
- common option "-d" produce a lot of output (it can confuse user)
- output with "real compile command" depend on project/platform/tool collection (no guarantee that discovery recognizes all possible variants).

So IMHO discovery by make log is good enough now and issue is rather enhancement.