[
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
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
|
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