Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] Common definitions for Assembler and C-source

2005-07-28 by Paul Curtis

Aalt,

> Works nice, this is indeed what I like.
> There is only one concern, how about the case sensitivity? Am 
> I just lucky that I don't encounter problems in the Windows 
> environment?
> 
> Wait.... I am receiving mail of Michael.
> 
> Michael writes:
> <<CrossWorks for ARM always C pre-processes assembly code 
> files - case sensitive filenames on windows can be problematic.>>
> 
> Wow, the response of Rowley support is impressive. In the 
> past I have seen very fast response times of 15 minutes. But 
> now it is -5 minutes. I have an answer before I asked the 
> question. Very Good.

I believe there are two issues with case sensitivity.

In the Unix world, the compiler driver sends files with extension .S to
the assemble pre-processed by cpp, whereas files with a .s extension are
sent straight to the assembler--hence, pre-processing is controlled by
the case-sensitive extension, but Windows doesn't have that case
sensitivity (e.g. a plain FAT16 volume with no VFAT).  At a command line
on Windows, TYPE FOO.S is the same as TyPE Foo.S.  Same happens for
C/C++ files, where .C was generally a C++ file and .c a C file, but now
most compilation tools are converging to .c and .cpp.

The second thing, of course, is the #include <Config.h> vs #include
<config.h> if there are two "config.h" files.  In Windows, you have the
possibility of including the wrong file if there are two files with the
same names but different capitalisations.

In general things work--it's moving from Windows case-insensitive file
systems to Unix case-sensitive file systems that usually throw up
problems.

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.