When installing on x64 system, IA32 version gets installed into "C:Program Files (x86)IntelIPP5.3.1.064ia32" and EM64T version (native) into "C:Program FilesIntelIPP5.3.1.064em64t".
I don't see a point in having the last part in the path (IA32 and EM64T) when they don't end up in the same folder.
Furthermore, NVIDIA does the great job of folder hierarchy organization for their Cg:
Cg | +-bin | +-bin.x64 | +-include | +-lib | +-lib.x64
Please note how there is no path "versioning" which Intel uses for IPP and which in my opinion serves a single purpose of making you dig through your batch files, makefiles, IDE options, etc to change it every time you install the new version. They also do not sprinkle their folders all over the filesystem — they rather keep them all in one place and they have single include for x86 and x64 version.
If you need another example, take a look at Visual Studio compiler or Platform SDK.
Platform SDK | +-bin | | | +-amd64 (em64t, x64, whatever) | +-include | +-lib | +-amd64 (em64t, x64, whatever)
I suggest you change IPP folder hierarchy to follow those conventions.
TheIPP folder structure wasdesignedin such a way that we candeliver SDK for many architecturesboth for cross-compilation environment and for native environment as a separate packages.
To move your project to another architecture you just need to specify appropriate IPPROOT variable and do not need to care about bin.xxx and lib.yyy