Object files have platform specific extensions
This commit is contained in:
parent
b6b0a1e592
commit
810175b6c9
|
@ -29,7 +29,7 @@ func FiletypeFromString (ext string) (Filetype, bool) {
|
|||
// FiletypeFromExt returns a filetype based on the given filename extension.
|
||||
func FiletypeFromExt (target generator.Target, ext string) (Filetype, bool) {
|
||||
switch ext {
|
||||
case ".o": return FiletypeObject, true
|
||||
case targetObjExt(target): return FiletypeObject, true
|
||||
case targetSoExt(target): return FiletypeLibrary, true
|
||||
case ".s": return FiletypeAssembly, true
|
||||
case ".ll": return FiletypeIR, true
|
||||
|
@ -55,7 +55,7 @@ func (filetype Filetype) String () string {
|
|||
func (filetype Filetype) Ext (target generator.Target) string {
|
||||
switch filetype {
|
||||
case FiletypeUnknown: return ""
|
||||
case FiletypeObject: return ".o"
|
||||
case FiletypeObject: return targetObjExt(target)
|
||||
case FiletypeLibrary: return targetSoExt(target)
|
||||
case FiletypeAssembly: return ".s"
|
||||
case FiletypeIR: return ".ll"
|
||||
|
@ -77,6 +77,15 @@ func targetSoExt (target generator.Target) string {
|
|||
}
|
||||
}
|
||||
|
||||
func targetObjExt (target generator.Target) string {
|
||||
// TODO: more research is required here
|
||||
switch target.OS {
|
||||
case "win32": return ".obj"
|
||||
default: return ".o"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func targetExeExt (target generator.Target) string {
|
||||
// TODO: more research is required here
|
||||
switch target.OS {
|
||||
|
|
Loading…
Reference in New Issue