aboutsummaryrefslogtreecommitdiff
path: root/upgrade/upgrade.go
diff options
context:
space:
mode:
Diffstat (limited to 'upgrade/upgrade.go')
-rw-r--r--upgrade/upgrade.go31
1 files changed, 20 insertions, 11 deletions
diff --git a/upgrade/upgrade.go b/upgrade/upgrade.go
index 50d7d9c..9652c67 100644
--- a/upgrade/upgrade.go
+++ b/upgrade/upgrade.go
@@ -1,5 +1,5 @@
-// +build !cgo
-// +build upgrade,ignore
+//go:build !cgo && upgrade && ignore
+// +build !cgo,upgrade,ignore
package main
@@ -98,16 +98,25 @@ func mergeFile(src string, dst string) error {
func main() {
fmt.Println("Go-SQLite3 Upgrade Tool")
+ wd, err := os.Getwd()
+ if err != nil {
+ log.Fatal(err)
+ }
+ if filepath.Base(wd) != "upgrade" {
+ log.Printf("Current directory is %q but should run in upgrade directory", wd)
+ os.Exit(1)
+ }
+
// Download Amalgamation
_, amalgamation, err := download("sqlite-amalgamation-")
if err != nil {
- fmt.Println("Failed to download: sqlite-amalgamation; %s", err)
+ log.Fatalf("Failed to download: sqlite-amalgamation; %s", err)
}
// Download Source
_, source, err := download("sqlite-src-")
if err != nil {
- fmt.Println("Failed to download: sqlite-src; %s", err)
+ log.Fatalf("Failed to download: sqlite-src; %s", err)
}
// Create Amalgamation Zip Reader
@@ -127,11 +136,11 @@ func main() {
var f *os.File
switch path.Base(zf.Name) {
case "sqlite3.c":
- f, err = os.Create("sqlite3-binding.c")
+ f, err = os.Create("../sqlite3-binding.c")
case "sqlite3.h":
- f, err = os.Create("sqlite3-binding.h")
+ f, err = os.Create("../sqlite3-binding.h")
case "sqlite3ext.h":
- f, err = os.Create("sqlite3ext.h")
+ f, err = os.Create("../sqlite3ext.h")
default:
continue
}
@@ -186,9 +195,9 @@ func main() {
var f *os.File
switch path.Base(zf.Name) {
case "userauth.c":
- f, err = os.Create("userauth.c")
+ f, err = os.Create("../userauth.c")
case "sqlite3userauth.h":
- f, err = os.Create("userauth.h")
+ f, err = os.Create("../userauth.h")
default:
continue
}
@@ -211,10 +220,10 @@ func main() {
}
// Merge SQLite User Authentication into amalgamation
- if err := mergeFile("userauth.c", "sqlite3-binding.c"); err != nil {
+ if err := mergeFile("../userauth.c", "../sqlite3-binding.c"); err != nil {
log.Fatal(err)
}
- if err := mergeFile("userauth.h", "sqlite3-binding.h"); err != nil {
+ if err := mergeFile("../userauth.h", "../sqlite3-binding.h"); err != nil {
log.Fatal(err)
}