Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] problem building managed make project with CDT 2.0

We at PalmSource had the same spacing problem with managed make string lists and our tools.  Some tools required spaces between the option and its value while others required none (ugh).  The way we patched our version of the CDT 1.2 was to add another type stringListWithSpaces to the option definition.  Inelegant but it worked.  I didn't think this way worthy of a patch suggestion yet and was hoping a more elegant solution would pop up.  Maybe another field in the option definition such as includeSpaceBetweenOptionAndValue (can't think of a shorter name :-) ).
 
Another thing: there doesn't seem to be an option that allows a string input but then does not include any option flag if the string is not present.  For example, one of our tools has an optional -locale attribute.  If the user inputs a locale such as enUS I want '-locale enUS' to show up as an option in the tool invoked by the managed make definition.  If no locale is input I want no -locale flag in the tool invocation.  Currently unless I'm missing something, the -locale will show up following by the string value of null ("") - an invalid parameter.
 
Thanks,
Brad
 
-----Original Message-----
From: cdt-dev-admin@xxxxxxxxxxx [mailto:cdt-dev-admin@xxxxxxxxxxx]On Behalf Of Sean Evoy
Sent: Wednesday, July 07, 2004 11:32 AM
To: cdt-dev@xxxxxxxxxxx
Subject: Re: [cdt-dev] problem building managed make project with CDT 2.0


Timothy,
We took the spaces out because people complained that the commands were invalid for the Win32 compilers, and the GCC tools did not seem to care if they were not there. At this point, it looks like we may need to further refine the syntax of the managed build schema to tell the generator when to put a whitespace in.

Now, this is not going to happen for 2.0.1 because it will be too destabilizing. The generator is where the actual stuff gets done, so if you like, you can supply your own makefile generator that is identical to the default with the exception that the target rule has a whitespace again. I am working on the updated Extensibility document this week, so I can fire you off the section of text that describes this new functionality when I get it done. If you are in a hurry, you can add your own generator via the makefileGenerator attribute of the target extension.

Hope this helps,

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada



Timothy Perrigo <tperrigo@xxxxxxxxxxxxx>
Sent by: cdt-dev-admin@xxxxxxxxxxx

07/06/2004 07:25 PM

Please respond to
cdt-dev

To
cdt-dev@xxxxxxxxxxx
cc
Subject
[cdt-dev] problem building managed make project with CDT 2.0





I just installed Eclipse 3.0 and the CDT 2.0 this morning, and I've
been unable to build a managed make project which previously built
without error using Eclipse 3.0 RC 1 and CDT 2.0 M9.  I keep getting an
error from the linker due to a missing space between the -o and the
artifact name (mo_2, in my case).  The exact error is "ld: unknown
flag: -omo_2"; because of the missing space, it seems to be treating it
as a linker flag, rather than the name of the output file.  When I
switched back to M9, the space is present in the g++ command line (see
below for the command lines from each version).  I am using Mac OS X,
and I know the CDT is not officially supported for my platform...is
this a known issue?  Should I file a bug report?

Any help would be greatly appreciated.

Thanks,
Tim Perrigo

With Eclipse 3.0 (RC 1), CDT M9 (builds successfully):

make -k all
Building file: ../src/db_util.cpp
g++ -I/Users/tperrigo/workspace/mo_2/include
-I/usr/local/include/jwsmtp-1.30
-I/Users/tperrigo/workspace/IntervalSet/include
-I/usr/local/include/boost-1_31 -I/usr/local/pgsql/include
-I/usr/local/include -O0 -g3 -DDEBUG=true -Wall -c -fmessage-length=0
-Wno-long-double -o src/db_util.o ../src/db_util.cpp
Finished building: ../src/db_util.cpp

Building target: mo_2
g++ -L/usr/local/pgsql/lib -L/usr/local/lib -o mo_2    
src/MilesServer.o src/appointment_provider.o src/db_util.o src/email.o
src/exceptions.o src/location.o src/main.o src/mo_types.o src/profile.o
src/rate_service.o src/request.o src/request_provider.o
src/request_view_data.o src/result.o src/shemp.o src/stakeholder.o  
-lpqxx -lpq -leasysoap -lcrypto -lssl -lexpat -lboost_thread-1_31
-lIntervalSet -lboost_date_time -ljwsmtp
Finished building: mo_2
Build complete for project mo_2


With Eclipse 3.0 (GA), CDT 2.0 (GA) (fails to build):

make -k all
makefile:15: no file name for `-include'
Building file: ../src/db_util.cpp
g++ -I/Users/tperrigo/workspace/mo_2/include
-I/usr/local/include/jwsmtp-1.30
-I/Users/tperrigo/workspace/IntervalSet/include
-I/usr/local/include/boost-1_31 -I/usr/local/pgsql/include
-I/usr/local/include -O0 -g3 -DDEBUG=true -Wall -c -fmessage-length=0
-Wno-long-double -o src/db_util.o ../src/db_util.cpp
Finished building: ../src/db_util.cpp

make: *** [mo_2] Error 1
make: Target `all' not remade because of errors.
Building target: mo_2
g++ -L/usr/local/pgsql/lib -L/usr/local/lib -omo_2    
src/MilesServer.o src/appointment_provider.o src/db_util.o src/email.o
src/exceptions.o src/location.o src/main.o src/mo_types.o src/profile.o
src/rate_service.o src/request.o src/request_provider.o
src/request_view_data.o src/result.o src/shemp.o src/stakeholder.o  
-lpqxx -lpq -leasysoap -lcrypto -lssl -lexpat -lboost_thread-1_31
-lIntervalSet -lboost_date_time -ljwsmtp
ld: unknown flag: -omo_2
Build complete for project mo_2


Back to the top