Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » DSDP - Real-Time Software Components (RTSC) » RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes
RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes [message #3920] Sat, 13 June 2009 14:07 Go to next message
Andreas Zoufal is currently offline Andreas Zoufal
Messages: 8
Registered: July 2009
Junior Member
Hi,

I'm starting to walk through lessons and examples for the RTSC Primer. But
the first example doesn't work on my Windows host.

Citation in http://rtsc.eclipse.org/docs-tip/RTSC_Module_Primer/Lesson_0 :
"Windows-hosted developers should surround «xdcroot» or «c6xtools» with
double-quotes "..." if these directory paths contain any spaces in their
names."

I did this and lesson 1 doesn't work. The output is:

"C:/Programme/Texas Instruments/xdctools_3_10_03"/xs xdc.tools.configuro
-c "C:/Programme/Texas Instruments/C6000 Code Generation Tools 6.1.10" -t
ti.targets.C64P -p ti.platforms.sim64Pxx -o cfgsite prog.cfg
Der Befehl ""C:/Programme/Texas Instruments/xdctools_3_10_03"" ist
entweder falsch geschrieben oder
konnte nicht gefunden werden.
gmake: *** [cfgsite/compiler.opt] Error 1

It look like the double-quotes are not in the right place. I did other
modifications in "common.mak": surround macros+extenstions with
double-quotes. This works.

Question: what will be best practice for solving the problem? And can this
configurations used on Linux hosts too?

Regards,
Andi

--- common.mak ---

## -------- common makefile -------- ##


## -------- host-specific paths -------- ##
## MODIFY THESE PATHS PER YOUR
INSTALLATION
## WINDOWS HOST -- SURROUND THESE
PATHS WITH "" "" IF THEY CONTAIN SPACES
XDCROOT = C:/Programme/Texas Instruments/xdctools_3_10_03
C6XTOOLS = C:/Programme/Texas Instruments/C6000 Code Generation Tools
6.1.10

## -------- remove command -------- ##
## LINUX HOSTS -- REPLACE
$(XDCROOT)/bin/rm WITH rm
RMCMD = $(XDCROOT)/bin/rm


## --------build tools -------- ##
CONFIGURO = "$(XDCROOT)/xs" xdc.tools.configuro
LOADER = "$(XDCROOT)/xs" xdc.tools.loader
CC = "$(C6XTOOLS)/bin/cl6x" -q

## -------- build parameters -------- ##
CONFIG = cfgsite
TARGET = ti.targets.C64P
PLATFORM = ti.platforms.sim64Pxx
PROGNAME = prog


## -------- all-rule -------- ##
all : $(PROGNAME).out


## -------- config-rule -------- ##
$(CONFIG)/linker.cmd $(CONFIG)/compiler.opt : $(PROGNAME).cfg
$(CONFIGURO) -c "$(C6XTOOLS)" -t $(TARGET) -p $(PLATFORM) -o $(CONFIG)
$(PROGNAME).cfg

## -------- compile-rule -------- ##
$(PROGNAME).obj : $(PROGNAME).c $(CONFIG)/compiler.opt
$(CC) -@$(CONFIG)/compiler.opt -c $(PROGNAME).c

## -------- link-rule -------- ##
$(PROGNAME).out : $(PROGNAME).obj $(CONFIG)/linker.cmd
$(CC) -z -c $^ -o $(PROGNAME).out -l "$(C6XTOOLS)/lib/rts64plus.lib"


## -------- test-rule -------- ##
test : $(PROGNAME).out
$(LOADER) $(PROGNAME).out

## -------- clean-rule -------- ##
clean :
$(XDCROOT)/bin/rm -rf $(CONFIG) *.obj *.out
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes [message #3928 is a reply to message #3920] Sun, 14 June 2009 13:25 Go to previous messageGo to next message
Eclipse User
Originally posted by: bob.biosbob.biz

i have to be honest with you.... i've seen so many issues with spaces in
pathnames that my best advice is: avoid them if possible!!!!

i'm not sure i understand what you did that eventually worked, but could
you send an example....

the text in the module primer was probably a little misleading, for
which we apologize....


Andreas Zoufal wrote:
> Hi,
>
> I'm starting to walk through lessons and examples for the RTSC Primer.
> But the first example doesn't work on my Windows host.
>
> Citation in
> http://rtsc.eclipse.org/docs-tip/RTSC_Module_Primer/Lesson_0 :
> "Windows-hosted developers should surround «xdcroot» or «c6xtools» with
> double-quotes "..." if these directory paths contain any spaces in their
> names."
>
> I did this and lesson 1 doesn't work. The output is:
>
> "C:/Programme/Texas Instruments/xdctools_3_10_03"/xs xdc.tools.configuro
> -c "C:/Programme/Texas Instruments/C6000 Code Generation Tools 6.1.10"
> -t ti.targets.C64P -p ti.platforms.sim64Pxx -o cfgsite prog.cfg
> Der Befehl ""C:/Programme/Texas Instruments/xdctools_3_10_03"" ist
> entweder falsch geschrieben oder
> konnte nicht gefunden werden.
> gmake: *** [cfgsite/compiler.opt] Error 1
>
> It look like the double-quotes are not in the right place. I did other
> modifications in "common.mak": surround macros+extenstions with
> double-quotes. This works.
>
> Question: what will be best practice for solving the problem? And can
> this configurations used on Linux hosts too?
>
> Regards,
> Andi
>
> --- common.mak ---
>
> ## -------- common makefile -------- ##
>
>
> ## -------- host-specific paths -------- ##
> ## MODIFY THESE PATHS PER YOUR
> INSTALLATION
> ## WINDOWS HOST -- SURROUND
> THESE PATHS WITH "" "" IF THEY CONTAIN SPACES XDCROOT =
> C:/Programme/Texas Instruments/xdctools_3_10_03
> C6XTOOLS = C:/Programme/Texas Instruments/C6000 Code Generation Tools
> 6.1.10
>
> ## -------- remove command -------- ##
> ## LINUX HOSTS -- REPLACE
> $(XDCROOT)/bin/rm WITH rm
> RMCMD = $(XDCROOT)/bin/rm
>
>
> ## --------build tools -------- ##
> CONFIGURO = "$(XDCROOT)/xs" xdc.tools.configuro
> LOADER = "$(XDCROOT)/xs" xdc.tools.loader
> CC = "$(C6XTOOLS)/bin/cl6x" -q
>
> ## -------- build parameters -------- ##
> CONFIG = cfgsite
> TARGET = ti.targets.C64P
> PLATFORM = ti.platforms.sim64Pxx
> PROGNAME = prog
>
>
> ## -------- all-rule -------- ##
> all : $(PROGNAME).out
>
>
> ## -------- config-rule -------- ##
> $(CONFIG)/linker.cmd $(CONFIG)/compiler.opt : $(PROGNAME).cfg
> $(CONFIGURO) -c "$(C6XTOOLS)" -t $(TARGET) -p $(PLATFORM) -o
> $(CONFIG) $(PROGNAME).cfg
>
> ## -------- compile-rule -------- ##
> $(PROGNAME).obj : $(PROGNAME).c $(CONFIG)/compiler.opt
> $(CC) -@$(CONFIG)/compiler.opt -c $(PROGNAME).c
>
> ## -------- link-rule -------- ##
> $(PROGNAME).out : $(PROGNAME).obj $(CONFIG)/linker.cmd
> $(CC) -z -c $^ -o $(PROGNAME).out -l "$(C6XTOOLS)/lib/rts64plus.lib"
>
>
> ## -------- test-rule -------- ##
> test : $(PROGNAME).out
> $(LOADER) $(PROGNAME).out
>
> ## -------- clean-rule -------- ##
> clean :
> $(XDCROOT)/bin/rm -rf $(CONFIG) *.obj *.out
>
>
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes [message #3933 is a reply to message #3928] Mon, 15 June 2009 11:28 Go to previous messageGo to next message
Andreas Zoufal is currently offline Andreas Zoufal
Messages: 8
Registered: July 2009
Junior Member
I agree with you, avoiding spaces in path names would be the best
solution. Unfortunately, TI uses spaces in the setup default pathes of
their products, for example:

"C:\Programme\Texas Instruments\xdctools_3_10_03" on a german Windows XP
"C:\Program Files\Texas Instruments\xdctools_3_10_03" on an english
Windows XP

Following the hint at lesson 0, I modified common.mak:

XDCROOT = "C:/Programme/Texas Instruments/xdctools_3_10_03"
C6XTOOLS = "C:/Programme/Texas Instruments/C6000 Code Generation Tools
6.1.10"

Good idea, but it seem windows doesn't allow the concatenation of quoted
pathes with sub-pathes. Running lesson1/makefile comes up with this
application name:

"C:/Programme/Texas Instruments/xdctools_3_10_03"/xs

This will not work. We need this command:

"C:/Programme/Texas Instruments/xdctools_3_10_03/xs"

You see what I mean? Other combined path names will be malformed, e.g.:

CONFIGURO = $(XDCROOT)/xs xdc.tools.configuro
LOADER = $(XDCROOT)/xs xdc.tools.loader
CC = $(C6XTOOLS)/bin/cl6x -q
...-l $(C6XTOOLS)/lib/rts64plus.lib
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes [message #3939 is a reply to message #3933] Mon, 15 June 2009 12:58 Go to previous messageGo to next message
Eclipse User
Originally posted by: bob.biosbob.biz

another approach is to use the old DOS 8.3 name that corresponds to
filenames with spaces.... no quotes would then be needed....


Andreas Zoufal wrote:
> I agree with you, avoiding spaces in path names would be the best
> solution. Unfortunately, TI uses spaces in the setup default pathes of
> their products, for example:
>
> "C:\Programme\Texas Instruments\xdctools_3_10_03" on a german Windows XP
> "C:\Program Files\Texas Instruments\xdctools_3_10_03" on an english
> Windows XP
>
> Following the hint at lesson 0, I modified common.mak:
>
> XDCROOT = "C:/Programme/Texas Instruments/xdctools_3_10_03"
> C6XTOOLS = "C:/Programme/Texas Instruments/C6000 Code Generation Tools
> 6.1.10"
>
> Good idea, but it seem windows doesn't allow the concatenation of quoted
> pathes with sub-pathes. Running lesson1/makefile comes up with this
> application name:
>
> "C:/Programme/Texas Instruments/xdctools_3_10_03"/xs
>
> This will not work. We need this command:
>
> "C:/Programme/Texas Instruments/xdctools_3_10_03/xs"
>
> You see what I mean? Other combined path names will be malformed, e.g.:
>
> CONFIGURO = $(XDCROOT)/xs xdc.tools.configuro
> LOADER = $(XDCROOT)/xs xdc.tools.loader
> CC = $(C6XTOOLS)/bin/cl6x -q
> ..-l $(C6XTOOLS)/lib/rts64plus.lib
>
>
>
>
>
>
>
>
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes [message #3964 is a reply to message #3939] Tue, 16 June 2009 07:57 Go to previous messageGo to next message
Andreas Zoufal is currently offline Andreas Zoufal
Messages: 8
Registered: July 2009
Junior Member
This may be a workaround. But anyway, the hint to use double-quotes will
not work and should be removed.
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes - SOLUTION [message #4003 is a reply to message #3964] Tue, 16 June 2009 10:58 Go to previous messageGo to next message
Andreas Zoufal is currently offline Andreas Zoufal
Messages: 8
Registered: July 2009
Junior Member
Andreas Zoufal wrote:

> This may be a workaround. But anyway, the hint to use double-quotes will
> not work and should be removed.
Re: RTSC Module Primer / Lesson 0+1 Examples / Windows Double-Quotes - SOLUTION [message #4098 is a reply to message #4003] Tue, 16 June 2009 11:03 Go to previous message
Andreas Zoufal is currently offline Andreas Zoufal
Messages: 8
Registered: July 2009
Junior Member
Sorry, here is the solution. Don't do this - put the whole path into
double-quotes:

XDCROOT = "C:/Programme/Texas Instruments/xdctools_3_10_03"
C6XTOOLS = "C:/Programme/Texas Instruments/C6000 Code Generation Tools
6.1.10"

But put every "part" which contanis spaces into double-quotes:

XDCROOT = C:/Programme/"Texas Instruments"/xdctools_3_10_03
C6XTOOLS = C:/Programme/"Texas Instruments"/"C6000 Code Generation Tools
6.1.10"

This works!

Question: will this work on Linux too? I'm not familiar enough with the
Linux file systems.

Regards,
Andi
Previous Topic:How to access a siblings config params?
Next Topic:compilation error in "RTSC Module Primer" Lesson2
Goto Forum:
  


Current Time: Sat Apr 19 18:36:44 EDT 2014

Powered by FUDForum. Page generated in 0.01970 seconds