1
0
mirror of https://github.com/rclone/rclone.git synced 2025-10-06 05:47:10 +02:00

build: make rclone build with wasip1/wasm as well as js/wasm

Fixes #7831
This commit is contained in:
Nick Craig-Wood
2025-08-20 21:59:37 +01:00
parent 693ca3215f
commit 23e9066b4f
84 changed files with 112 additions and 80 deletions

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
// Package azureblob provides an interface to the Microsoft Azure blob object storage system
package azureblob

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package azureblob

View File

@@ -1,6 +1,6 @@
// Test AzureBlob filesystem interface
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package azureblob

View File

@@ -1,7 +1,7 @@
// Build for azureblob for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || solaris || js
//go:build plan9 || solaris || js || wasm
// Package azureblob provides an interface to the Microsoft Azure blob object storage system
package azureblob

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package azurefiles provides an interface to Microsoft Azure Files
package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package azurefiles

View File

@@ -1,7 +1,7 @@
// Build for azurefiles for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package azurefiles provides an interface to Microsoft Azure Files
package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package cache implements a virtual provider to cache existing remotes.
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js && !race
//go:build !plan9 && !js && !wasm && !race
package cache_test

View File

@@ -1,6 +1,6 @@
// Test Cache filesystem interface
//go:build !plan9 && !js && !race
//go:build !plan9 && !js && !wasm && !race
package cache_test

View File

@@ -1,7 +1,7 @@
// Build for cache for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package cache implements a virtual provider to cache existing remotes.
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js && !race
//go:build !plan9 && !js && !wasm && !race
package cache_test

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,5 +1,4 @@
//go:build !plan9 && !js
// +build !plan9,!js
//go:build !plan9 && !js && !wasm
package cache

View File

@@ -1,4 +1,4 @@
//go:build windows || plan9 || js || linux
//go:build windows || plan9 || js || wasm || linux
package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js && !linux
//go:build !windows && !plan9 && !js && !wasm && !linux
package local

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js
//go:build plan9 || js || wasm
package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js
//go:build !windows && !plan9 && !js && !wasm
package local

View File

@@ -1,4 +1,4 @@
//go:build dragonfly || plan9 || js
//go:build dragonfly || plan9 || js || wasm
package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js
//go:build !windows && !plan9 && !js && !wasm
package local

View File

@@ -1,4 +1,4 @@
//go:build windows || plan9 || js
//go:build windows || plan9 || js || wasm
package local

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
// Package oracleobjectstorage provides an interface to the OCI object storage system.
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,7 +1,7 @@
// Build for oracleobjectstorage for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || solaris || js
//go:build plan9 || solaris || js || wasm
// Package oracleobjectstorage provides an interface to the OCI object storage system.
package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js
//go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage

View File

@@ -1,3 +1,5 @@
//go:build !wasm
// Package protondrive implements the Proton Drive backend
package protondrive

View File

@@ -1,3 +1,5 @@
//go:build !wasm
package protondrive_test
import (

View File

@@ -0,0 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build wasm
// Package protondrive implements the Proton Drive backend
package protondrive

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package qingstor provides an interface to QingStor object storage
// Home: https://www.qingcloud.com/

View File

@@ -1,6 +1,6 @@
// Test QingStor filesystem interface
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package qingstor

View File

@@ -1,7 +1,7 @@
// Build for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package qingstor provides an interface to QingStor object storage
// Home: https://www.qingcloud.com/

View File

@@ -1,6 +1,6 @@
// Upload object to QingStor
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package qingstor

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
// Package sftp provides a filesystem interface using github.com/pkg/sftp
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,6 +1,6 @@
// Test Sftp filesystem interface
//go:build !plan9
//go:build !plan9 && !wasm
package sftp_test

View File

@@ -1,7 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9
//go:build plan9 || wasm
// Package sftp provides a filesystem interface using github.com/pkg/sftp
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -74,6 +74,7 @@ var osarches = []string{
"plan9/amd64",
"solaris/amd64",
"js/wasm",
"wasip1/wasm",
}
// Special environment flags for a given arch

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package cachestats provides the cachestats command.
package cachestats

View File

@@ -1,7 +1,7 @@
// Build for cache for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package cachestats provides the cachestats command.
package cachestats

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package mountlib

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js
//go:build plan9 || js || wasm
package mountlib

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package ncdu implements a text based user interface for exploring a remote
package ncdu

View File

@@ -1,7 +1,7 @@
// Build for ncdu for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package ncdu implements a text based user interface for exploring a remote
package ncdu

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js && !noselfupdate
//go:build !windows && !plan9 && !js && !wasm && !noselfupdate
package selfupdate

View File

@@ -1,4 +1,4 @@
//go:build (plan9 || js) && !noselfupdate
//go:build (plan9 || js || wasm) && !noselfupdate
package selfupdate

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
// Package sftp implements an SFTP server to serve an rclone VFS
package sftp

View File

@@ -3,7 +3,7 @@
//
// We skip tests on platforms with troublesome character mappings
//go:build !windows && !darwin && !plan9
//go:build !windows && !darwin && !plan9 && !wasm
package sftp

View File

@@ -1,7 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build plan9
//go:build plan9 || wasm
// Package sftp implements an SFTP server to serve an rclone VFS
package sftp

View File

@@ -1,6 +1,6 @@
// Daemonization stub for non-Unix platforms (common definitions)
//go:build windows || plan9 || js
//go:build windows || plan9 || js || wasm
package fs

View File

@@ -1,6 +1,6 @@
// Daemonization interface for Unix platforms (common definitions)
//go:build !windows && !plan9 && !js
//go:build !windows && !plan9 && !js && !wasm
package fs

View File

@@ -1,4 +1,4 @@
//go:build !plan9
//go:build !plan9 && !wasm
package fserrors

View File

@@ -0,0 +1,21 @@
//go:build wasm
package fserrors
import (
"syscall"
)
func init() {
retriableErrors = append(retriableErrors,
syscall.EPIPE,
syscall.ETIMEDOUT,
syscall.ECONNREFUSED,
//syscall.EHOSTDOWN,
syscall.EHOSTUNREACH,
syscall.ECONNABORTED,
syscall.EAGAIN,
//syscall.EWOULDBLOCK,
syscall.ECONNRESET,
)
}

View File

@@ -1,6 +1,6 @@
// Log the panic under unix to the log file
//go:build !windows && !solaris && !plan9 && !js
//go:build !windows && !solaris && !plan9 && !js && !wasm
package log

View File

@@ -2,7 +2,7 @@
//
// This library exports the core rc functionality
//go:build js
//go:build js || wasm
package main

View File

@@ -1,4 +1,4 @@
//go:build illumos || js || plan9 || solaris
//go:build illumos || js || wasm || plan9 || solaris
package diskusage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
// Package kv provides key/value database.
package kv

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js
//go:build !plan9 && !js && !wasm
package kv

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js
//go:build plan9 || js || wasm
// Package kv provides key/value database.
package kv

View File

@@ -1,7 +1,7 @@
// Package mmap implements a large block memory allocator using
// anonymous memory maps.
//go:build !plan9 && !windows && !js
//go:build !plan9 && !windows && !js && !wasm
package mmap

View File

@@ -1,6 +1,6 @@
// Fallback Alloc and Free for unsupported OSes
//go:build plan9 || js
//go:build plan9 || js || wasm
package mmap

View File

@@ -1,4 +1,4 @@
//go:build !js
//go:build !js && !wasm
package terminal

View File

@@ -1,4 +1,4 @@
//go:build js
//go:build js || wasm
package terminal