Add native paths for unix
This commit is contained in:
parent
9b45bc56d4
commit
11e7a83eb4
|
@ -3,30 +3,23 @@ package main
|
|||
import "os"
|
||||
import "io"
|
||||
import "fmt"
|
||||
import "path/filepath"
|
||||
import "git.tebibyte.media/fspl/fspl/cli"
|
||||
import "git.tebibyte.media/fspl/fspl/entity"
|
||||
import "git.tebibyte.media/fspl/fspl/compiler"
|
||||
import ferrors "git.tebibyte.media/fspl/fspl/errors"
|
||||
import "git.tebibyte.media/fspl/fspl/compiler/native"
|
||||
|
||||
func main () {
|
||||
// instantiate the compiler
|
||||
// FIXME: perhaps we want different paths on Windows?
|
||||
comp := new(compiler.Compiler)
|
||||
comp.Writer = os.Stderr
|
||||
comp.Resolver = compiler.NewResolver (
|
||||
"/usr/local/src/fspl",
|
||||
"/usr/src/fspl",
|
||||
"/usr/local/incude/fspl",
|
||||
"/usr/include/fspl")
|
||||
homeDir, err := os.UserHomeDir()
|
||||
|
||||
resolver, err := native.NativeResolver()
|
||||
if err != nil {
|
||||
comp.Errorln(err)
|
||||
os.Exit(2)
|
||||
}
|
||||
comp.Resolver.AddPathFront (
|
||||
filepath.Join(homeDir, ".local/src/fspl"),
|
||||
filepath.Join(homeDir, ".local/include/fspl"))
|
||||
comp.Resolver = resolver
|
||||
|
||||
// take in CLI flags
|
||||
debug := cli.NewFlag (
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
// Package native provides OS native parameters for the compilation process.
|
||||
package native
|
||||
|
||||
import "git.tebibyte.media/fspl/fspl/compiler"
|
||||
|
||||
// NativeResolver returns a resolver that resolves paths native to the operating
|
||||
// system.
|
||||
func NativeResolver () (*compiler.Resolver, error) {
|
||||
return nativeResolver()
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package native
|
||||
|
||||
import "os"
|
||||
import "path/filepath"
|
||||
import "git.tebibyte.media/fspl/fspl/compiler"
|
||||
|
||||
func nativeResolver () (*compiler.Resolver, error) {
|
||||
resolver := compiler.NewResolver (
|
||||
"/usr/local/src/fspl",
|
||||
"/usr/src/fspl",
|
||||
"/usr/local/incude/fspl",
|
||||
"/usr/include/fspl")
|
||||
homeDir, err := os.UserHomeDir()
|
||||
if err != nil { return nil, err }
|
||||
resolver.AddPathFront (
|
||||
filepath.Join(homeDir, ".local/src/fspl"),
|
||||
filepath.Join(homeDir, ".local/include/fspl"))
|
||||
return resolver, nil
|
||||
}
|
Loading…
Reference in New Issue