Skip to content

Commit

Permalink
assembler: fix binary name for verification on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
cornelk committed Jul 26, 2023
1 parent 1587d51 commit be3e521
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 4 deletions.
8 changes: 7 additions & 1 deletion internal/assembler/asm6/external.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,22 @@ package asm6
import (
"fmt"
"os/exec"
"runtime"
"strings"
)

const (
assembler = "asm6f"
assemblerName = "asm6f"
)

// AssembleUsingExternalApp calls the external assembler and linker to generate a .nes
// ROM from the given asm file.
func AssembleUsingExternalApp(asmFile, outputFile string) error {
assembler := assemblerName
if runtime.GOOS == "windows" {
assembler += ".exe"
}

if _, err := exec.LookPath(assembler); err != nil {
return fmt.Errorf("%s is not installed", assembler)
}
Expand Down
12 changes: 10 additions & 2 deletions internal/assembler/ca65/external.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ import (
"fmt"
"os"
"os/exec"
"runtime"
"strings"
)

const (
assembler = "ca65"
linker = "ld65"
assemblerName = "ca65"
linkerName = "ld65"
)

// Config holds the ROM building configuration.
Expand All @@ -23,6 +24,13 @@ type Config struct {
// AssembleUsingExternalApp calls the external assembler and linker to generate a .nes
// ROM from the given asm file.
func AssembleUsingExternalApp(asmFile, objectFile, outputFile string, conf Config) error {
assembler := assemblerName
linker := linkerName
if runtime.GOOS == "windows" {
assembler += ".exe"
linker += ".exe"
}

if _, err := exec.LookPath(assembler); err != nil {
return fmt.Errorf("%s is not installed", assembler)
}
Expand Down
8 changes: 7 additions & 1 deletion internal/assembler/nesasm/external.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,22 @@ package nesasm
import (
"fmt"
"os/exec"
"runtime"
"strings"
)

const (
assembler = "nesasm"
assemblerName = "nesasm"
)

// AssembleUsingExternalApp calls the external assembler and linker to generate a .nes
// ROM from the given asm file.
func AssembleUsingExternalApp(asmFile, outputFile string) error {
assembler := assemblerName
if runtime.GOOS == "windows" {
assembler += ".exe"
}

if _, err := exec.LookPath(assembler); err != nil {
return fmt.Errorf("%s is not installed", assembler)
}
Expand Down

0 comments on commit be3e521

Please sign in to comment.