premake/premake-core

os.findlib is not architecture aware

Aperta

#542 aperta il 14 lug 2016

 (0 commenti) (0 reazioni) (0 assegnatari)C (651 fork)auto 404
enhancementhelp wanted

Metriche repository

Star
 (3621 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

os.findlib may return the path to a 32bit lib even if the current project is configured to use the x86_64 architecture.

I am not really familiar with this but it seems to be possible to check for a compatible architecture/bitness by inspecting the file header.

Unix fifth byte of the ELF header

Value Bitness
1 32 bit
2 64 bit

Windows first two bytes of COFF header

Value Architecture
0x014c x86
0x8664 x64

Therefore one possibiliy would be to ignore incompatible files (and removing their path) until os.pathsearch returns a compatible file or nil.

Guida contributor