mirror of
https://onedev.site.tesses.net/crosslang
synced 2026-02-08 09:05:46 +00:00
Changing version to 0.0.1
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(CrossLangPublish)
|
||||
|
||||
option(CROSSAPPPUBLISH_STATIC "Build static version" OFF)
|
||||
|
||||
if(CROSSAPPPUBLISH_STATIC)
|
||||
set(TESSESFRAMEWORK_ENABLE_RPATH OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_STATIC ON CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_EXAMPLES OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_APPS OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_SHARED OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_FETCHCONTENT ON CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(CROSSLANG_ENABLE_BINARIES OFF CACHE INTERNAL "For CrossLang" FORCE)
|
||||
else()
|
||||
set(TESSESFRAMEWORK_ENABLE_RPATH OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_STATIC OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_EXAMPLES OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_APPS OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_SHARED ON CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_FETCHCONTENT ON CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(CROSSLANG_ENABLE_BINARIES OFF CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(CMAKE_INSTALL_BINDIR "." CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(CMAKE_INSTALL_LIBDIR "." CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(CMAKE_INSTALL_PREFIX "/dir" CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(CMAKE_PLATFORM_NO_VERSIONED_SONAME ON CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
set(CMAKE_BUILD_RPATH_USE_ORIGIN ON CACHE INTERNAL "For CrossLang" FORCE)
|
||||
if (APPLE)
|
||||
set(CMAKE_INSTALL_RPATH "@executable_path/" CACHE INTERNAL "For CrossLang" FORCE)
|
||||
else()
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN/" CACHE INTERNAL "For CrossLang" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
TessesCrossLang
|
||||
GIT_REPOSITORY https://onedev.site.tesses.net/crosslang.git
|
||||
)
|
||||
|
||||
FetchContent_MakeAvailable(TessesCrossLang)
|
||||
|
||||
|
||||
|
||||
add_executable(crossapp main.cpp)
|
||||
if(CROSSAPPPUBLISH_STATIC)
|
||||
target_link_libraries(crossapp PUBLIC crosslang_static)
|
||||
else()
|
||||
install(TARGETS crossapp DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
|
||||
target_link_libraries(crossapp PUBLIC crosslang_shared)
|
||||
|
||||
endif()
|
||||
@@ -1,76 +0,0 @@
|
||||
#include <CrossLang.hpp>
|
||||
using namespace Tesses::Framework;
|
||||
using namespace Tesses::CrossLang;
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
TF_InitWithConsole();
|
||||
if(argc > 0)
|
||||
TF_AllowPortable(argv[0]);
|
||||
std::string name = argv[0];
|
||||
Tesses::Framework::Filesystem::VFSPath exePath=Tesses::Framework::Filesystem::LocalFS->SystemToVFSPath(name);
|
||||
exePath.MakeAbsolute();
|
||||
exePath.ChangeExtension(".crvm");
|
||||
|
||||
|
||||
|
||||
|
||||
GC gc;
|
||||
gc.Start();
|
||||
GCList ls(gc);
|
||||
TRootEnvironment* env = TRootEnvironment::Create(ls, TDictionary::Create(ls));
|
||||
|
||||
TStd::RegisterStd(&gc,env);
|
||||
env->LoadFileWithDependencies(&gc, Tesses::Framework::Filesystem::LocalFS, exePath);
|
||||
|
||||
|
||||
|
||||
if(env->HasVariable("WebAppMain"))
|
||||
{
|
||||
Args args(argc, argv);
|
||||
int port = 4206;
|
||||
for(auto& item : args.options)
|
||||
{
|
||||
if(item.first == "port")
|
||||
{
|
||||
port = std::stoi(item.second);
|
||||
}
|
||||
}
|
||||
|
||||
env->EnsureDictionary(&gc,"Net")->SetValue("WebServerPort", (int64_t)port);
|
||||
TList* args2 = TList::Create(ls);
|
||||
args2->Add(exePath.ToString());
|
||||
for(auto& item : args.positional)
|
||||
{
|
||||
args2->Add(item);
|
||||
}
|
||||
|
||||
auto res = env->CallFunctionWithFatalError(ls, "WebAppMain", {args2});
|
||||
auto svr2 = Tesses::CrossLang::ToHttpServer(&gc,res);
|
||||
if(svr2 == nullptr) return 1;
|
||||
Tesses::Framework::Http::HttpServer svr(port,svr2);
|
||||
svr.StartAccepting();
|
||||
TF_RunEventLoop();
|
||||
TDictionary* _dict;
|
||||
TClassObject* _co;
|
||||
if(GetObjectHeap(res,_dict))
|
||||
{
|
||||
_dict->CallMethod(ls,"Close",{});
|
||||
}
|
||||
if(GetObjectHeap(res,_co))
|
||||
{
|
||||
_co->CallMethod(ls,"","Close",{});
|
||||
}
|
||||
TF_Quit();
|
||||
}
|
||||
else {
|
||||
TList* args = TList::Create(ls);
|
||||
args->Add(exePath.ToString());
|
||||
for(int arg=1;arg<argc;arg++)
|
||||
args->Add(argv[arg]);
|
||||
auto res = env->CallFunctionWithFatalError(ls,"main",{args});
|
||||
int64_t iresult;
|
||||
if(GetObject(res,iresult))
|
||||
return (int)iresult;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(CrossLangWii)
|
||||
|
||||
|
||||
set(TESSESFRAMEWORK_FETCHCONTENT OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_RPATH OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_STATIC ON CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_EXAMPLES OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_APPS OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(TESSESFRAMEWORK_ENABLE_SHARED OFF CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
set(CROSSLANG_ENABLE_BINARIES OFF CACHE INTERNAL "For CrossLang" FORCE)
|
||||
set(MBEDTLS_DIR "/opt/devkitpro/portlibs/wii" CACHE INTERNAL "For TessesFramework" FORCE)
|
||||
|
||||
include(FetchContent)
|
||||
|
||||
FetchContent_Declare(
|
||||
TessesCrossLang
|
||||
GIT_REPOSITORY https://onedev.site.tesses.net/crosslang.git
|
||||
)
|
||||
|
||||
FetchContent_MakeAvailable(TessesCrossLang)
|
||||
|
||||
|
||||
|
||||
add_executable(boot main.cpp)
|
||||
target_link_libraries(boot PUBLIC crosslang_static)
|
||||
ogc_create_dol(boot)
|
||||
@@ -1,80 +0,0 @@
|
||||
#include <CrossLang.hpp>
|
||||
using namespace Tesses::Framework;
|
||||
using namespace Tesses::CrossLang;
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
TF_InitWithConsole();
|
||||
std::string name = "boot.dol";
|
||||
Tesses::Framework::Filesystem::VFSPath exePath=Tesses::Framework::Filesystem::LocalFS->SystemToVFSPath(name);
|
||||
exePath.MakeAbsolute();
|
||||
exePath.ChangeExtension(".crvm");
|
||||
|
||||
|
||||
|
||||
|
||||
GC gc;
|
||||
gc.Start();
|
||||
GCList ls(gc);
|
||||
TRootEnvironment* env = TRootEnvironment::Create(ls, TDictionary::Create(ls));
|
||||
|
||||
TStd::RegisterStd(&gc,env);
|
||||
env->LoadFileWithDependencies(&gc, Tesses::Framework::Filesystem::LocalFS, exePath);
|
||||
|
||||
|
||||
|
||||
if(env->HasVariable("WebAppMain"))
|
||||
{
|
||||
std::vector<std::string> argsls={"boot.dol"};
|
||||
for(int i = 0; i < argc; i++)
|
||||
{
|
||||
argsls.push_back(argv[i]);
|
||||
}
|
||||
|
||||
Args args(argsls);
|
||||
int port = 4206;
|
||||
for(auto& item : args.options)
|
||||
{
|
||||
if(item.first == "port")
|
||||
{
|
||||
port = std::stoi(item.second);
|
||||
}
|
||||
}
|
||||
|
||||
env->EnsureDictionary(&gc,"Net")->SetValue("WebServerPort", (int64_t)port);
|
||||
TList* args2 = TList::Create(ls);
|
||||
args2->Add(exePath.ToString());
|
||||
for(auto& item : args.positional)
|
||||
{
|
||||
args2->Add(item);
|
||||
}
|
||||
|
||||
auto res = env->CallFunctionWithFatalError(ls, "WebAppMain", {args2});
|
||||
auto svr2 = Tesses::CrossLang::ToHttpServer(&gc,res);
|
||||
if(svr2 == nullptr) return 1;
|
||||
Tesses::Framework::Http::HttpServer svr(port,svr2);
|
||||
svr.StartAccepting();
|
||||
TF_RunEventLoop();
|
||||
TDictionary* _dict;
|
||||
TClassObject* _co;
|
||||
if(GetObjectHeap(res,_dict))
|
||||
{
|
||||
_dict->CallMethod(ls,"Close",{});
|
||||
}
|
||||
if(GetObjectHeap(res,_co))
|
||||
{
|
||||
_co->CallMethod(ls,"","Close",{});
|
||||
}
|
||||
TF_Quit();
|
||||
}
|
||||
else {
|
||||
TList* args = TList::Create(ls);
|
||||
args->Add(exePath.ToString());
|
||||
for(int arg=0;arg<argc;arg++)
|
||||
args->Add(argv[arg]);
|
||||
auto res = env->CallFunctionWithFatalError(ls,"main",{args});
|
||||
int64_t iresult;
|
||||
if(GetObject(res,iresult))
|
||||
return (int)iresult;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/x86_64-w64-mingw32-gcc")
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-w64-mingw32-g++")
|
||||
set(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
@@ -1,7 +0,0 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/i686-w64-mingw32-gcc")
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/i686-w64-mingw32-g++")
|
||||
set(CMAKE_C_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/bash
|
||||
rm -r compilers
|
||||
mkdir -p compilers
|
||||
cd compilers
|
||||
wget https://downloads.tesses.net/cache/compilers/$1-cross.tgz
|
||||
tar xvzf $1-cross.tgz
|
||||
mv $1-cross/* .
|
||||
rmdir $1-cross
|
||||
rm $1-cross.tgz
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
mkdir compilers
|
||||
crossint pack.tcross
|
||||
@@ -1,282 +0,0 @@
|
||||
var VERSION="1.0.0.0-dev";
|
||||
var statics = [
|
||||
{
|
||||
target="powerpc-linux-musl",
|
||||
cpu = "powerpc"
|
||||
},
|
||||
{
|
||||
target="powerpc64-linux-musl",
|
||||
cpu = "powerpc64"
|
||||
},
|
||||
{
|
||||
target="i686-linux-musl",
|
||||
cpu = "i686"
|
||||
},
|
||||
{
|
||||
target="arm-linux-musleabihf",
|
||||
cpu="armv7l"
|
||||
},
|
||||
{
|
||||
target="riscv32-linux-musl",
|
||||
cpu="riscv32"
|
||||
},
|
||||
{
|
||||
target="riscv64-linux-musl",
|
||||
cpu="riscv64"
|
||||
},
|
||||
{
|
||||
target="x86_64-linux-musl",
|
||||
cpu="x86_64"
|
||||
},
|
||||
{
|
||||
target="mips-linux-musl",
|
||||
cpu="mips"
|
||||
},
|
||||
{
|
||||
target="mips64-linux-musl",
|
||||
cpu="mips64"
|
||||
},
|
||||
{
|
||||
target="aarch64-linux-musl",
|
||||
cpu="aarch64"
|
||||
}
|
||||
|
||||
];
|
||||
|
||||
func CPUS()
|
||||
{
|
||||
var p = Process.Start({
|
||||
FileName = Env.GetRealExecutablePath("nproc").ToString(),
|
||||
RedirectStandardOutput=true
|
||||
});
|
||||
var ms = new MemoryStream(true);
|
||||
p.StandardOutput.CopyTo(ms);
|
||||
return ParseLong(ms.GetBytes().ToString().Replace("\n","").Replace("\r",""));
|
||||
}
|
||||
var nproc = CPUS();
|
||||
func BuildConsoleOrServerWindowsStatic(arch)
|
||||
{
|
||||
Console.WriteLine($"Building Windows Static {arch}");
|
||||
var build_dir = "builds" / $"win-{arch}";
|
||||
var publish_dir = "publish" / $"win-{arch}";
|
||||
FS.Local.CreateDirectory(build_dir);
|
||||
FS.Local.CreateDirectory(publish_dir);
|
||||
|
||||
var args = ["-S","ConsoleOrServer","-B",build_dir.ToString(),"-DCROSSAPPPUBLISH_STATIC=ON"];
|
||||
|
||||
var file= ("WindowsToolchains"/$"{arch}.cmake").MakeAbsolute().ToString();
|
||||
|
||||
args.Add($"-DCMAKE_TOOLCHAIN_FILE={file}");
|
||||
|
||||
Process.Start({
|
||||
FileName = Env.GetRealExecutablePath("cmake").ToString(),
|
||||
Arguments = args
|
||||
}).Join();
|
||||
|
||||
|
||||
var p = new Process();
|
||||
p.FileName = Env.GetRealExecutablePath("make").ToString();
|
||||
p.WorkingDirectory = build_dir.MakeAbsolute().ToString();
|
||||
p.Arguments = [$"-j{nproc}"];
|
||||
if(p.Start())
|
||||
p.Join();
|
||||
|
||||
|
||||
|
||||
}
|
||||
func BuildConsoleOrServerLinuxStatic(dir,cmake_toolchain)
|
||||
{
|
||||
Console.WriteLine($"Building Linux Static {dir}");
|
||||
var build_dir = "builds" / $"linux-{dir}-static";
|
||||
var publish_dir = "publish" / $"linux-{dir}-static";
|
||||
FS.Local.CreateDirectory(build_dir);
|
||||
FS.Local.CreateDirectory(publish_dir);
|
||||
|
||||
var args = ["-S","ConsoleOrServer","-B",build_dir.ToString(),"-DCROSSAPPPUBLISH_STATIC=ON"];
|
||||
if(TypeOf(cmake_toolchain) == "String")
|
||||
{
|
||||
args.Add($"-DCMAKE_TOOLCHAIN_FILE={cmake_toolchain}");
|
||||
}
|
||||
Process.Start({
|
||||
FileName = Env.GetRealExecutablePath("cmake").ToString(),
|
||||
Arguments = args
|
||||
}).Join();
|
||||
|
||||
|
||||
var p = new Process();
|
||||
p.FileName = Env.GetRealExecutablePath("make").ToString();
|
||||
p.WorkingDirectory = build_dir.MakeAbsolute().ToString();
|
||||
p.Arguments = [$"-j{nproc}"];
|
||||
if(p.Start())
|
||||
p.Join();
|
||||
|
||||
|
||||
mvFile(build_dir/"crossapp", publish_dir / "crossapp");
|
||||
var info = {
|
||||
type = "archive",
|
||||
maintainer = "Mike Nolan",
|
||||
repo = "https://onedev.site.tesses.net/crosslang",
|
||||
homepage = "https://crosslang.tesseslanguage.com/",
|
||||
executable_name = "crossapp",
|
||||
executable_can_be_renamed = true,
|
||||
executable_runtime = $"linux-{dir}-static",
|
||||
description = $"Runtime files for linux-{dir}-static",
|
||||
};
|
||||
|
||||
var name = $"Tesses.CrossLang.Runtime.linux-{dir}-static";
|
||||
|
||||
var subDir = new SubdirFilesystem(FS.Local,publish_dir);
|
||||
var pkgStrm = FS.Local.OpenFile("publish"/$"{name}-{VERSION}.crvm","wb");
|
||||
FS.CreateArchive(subDir,pkgStrm, name ,VERSION, Json.Encode(info));
|
||||
pkgStrm.Close();
|
||||
}
|
||||
func BuildConsoleOrServerLinuxStaticBasedOnTarget(target,cpu)
|
||||
{
|
||||
var compiler = ("compilers"/"bin"/target).MakeAbsolute().ToString();
|
||||
var p = new Process();
|
||||
p.FileName = Env.GetRealExecutablePath("bash").ToString();
|
||||
p.Arguments = ["extract_compiler.sh",target];
|
||||
if(p.Start())
|
||||
p.Join();
|
||||
|
||||
var toolchain = $"
|
||||
set(CMAKE_C_COMPILER \"{compiler}-gcc\")
|
||||
set(CMAKE_CXX_COMPILER \"{compiler}-g++\")
|
||||
set(CMAKE_C_FLAGS \"-static-libgcc -static-libstdc++ -static\")
|
||||
set(CMAKE_CXX_FLAGS \"-static-libgcc -static-libstdc++ -static\")
|
||||
set(CMAKE_EXE_LINKER_FLAGS \"-static-libgcc -static-libstdc++ -static\")
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR {cpu})
|
||||
";
|
||||
if(target == "riscv32-linux-musl" || target == "riscv64-linux-musl")
|
||||
{
|
||||
toolchain += "set(CMAKE_POSITION_INDEPENDENT_CODE ON)\n";
|
||||
}
|
||||
FS.WriteAllText(FS.Local,"compilers"/$"{target}.cmake", toolchain);
|
||||
BuildConsoleOrServerLinuxStatic(cpu,("compilers"/$"{target}.cmake").MakeAbsolute().ToString());
|
||||
}
|
||||
func BuildConsoleOrServerLinuxShared(dir,$cmake_toolchain)
|
||||
{
|
||||
Console.WriteLine($"Building Linux Shared {dir}");
|
||||
var build_dir = "builds" / $"linux-{dir}";
|
||||
var publish_dir = "publish" / $"linux-{dir}";
|
||||
FS.Local.CreateDirectory(build_dir);
|
||||
FS.Local.CreateDirectory(publish_dir);
|
||||
|
||||
var args = ["-S","ConsoleOrServer","-B",build_dir.ToString()];
|
||||
if(TypeOf(cmake_toolchain) == "String")
|
||||
{
|
||||
args.Add($"-DCMAKE_TOOLCHAIN_FILE={cmake_toolchain}");
|
||||
}
|
||||
Process.Start({
|
||||
FileName = Env.GetRealExecutablePath("cmake").ToString(),
|
||||
Arguments = args
|
||||
}).Join();
|
||||
|
||||
|
||||
var p = new Process();
|
||||
p.FileName = Env.GetRealExecutablePath("make").ToString();
|
||||
p.WorkingDirectory = build_dir.MakeAbsolute().ToString();
|
||||
p.Arguments = [$"-j{nproc}"];
|
||||
if(p.Start())
|
||||
p.Join();
|
||||
p = new Process();
|
||||
p.FileName = Env.GetRealExecutablePath("make").ToString();
|
||||
p.WorkingDirectory = build_dir.MakeAbsolute().ToString();
|
||||
p.Arguments = ["install","DESTDIR=."];
|
||||
if(p.Start())
|
||||
p.Join();
|
||||
|
||||
mvFile(build_dir/"dir"/"crossapp", publish_dir / "crossapp");
|
||||
each(var lib : FS.Local.EnumeratePaths(build_dir/"dir"))
|
||||
{
|
||||
if(lib.GetExtension() == ".so")
|
||||
{
|
||||
mvFile(lib,publish_dir / lib.GetFileName());
|
||||
}
|
||||
}
|
||||
var info = {
|
||||
type = "archive",
|
||||
maintainer = "Mike Nolan",
|
||||
repo = "https://onedev.site.tesses.net/crosslang",
|
||||
homepage = "https://crosslang.tesseslanguage.com/",
|
||||
description = $"Runtime files for linux-{dir}",
|
||||
executable_name = "crossapp",
|
||||
executable_can_be_renamed = true,
|
||||
executable_runtime = $"linux-{dir}"
|
||||
};
|
||||
|
||||
var name = $"Tesses.CrossLang.Runtime.linux-{dir}";
|
||||
|
||||
var subDir = new SubdirFilesystem(FS.Local,publish_dir);
|
||||
var pkgStrm = FS.Local.OpenFile("publish"/$"{name}-{VERSION}.crvm","wb");
|
||||
FS.CreateArchive(subDir,pkgStrm, name ,VERSION, Json.Encode(info));
|
||||
pkgStrm.Close();
|
||||
}
|
||||
func mvFile(src,dest)
|
||||
{
|
||||
Process.Start({
|
||||
FileName = Env.GetRealExecutablePath("mv").ToString(),
|
||||
Arguments = [src.MakeAbsolute().ToString(),dest.MakeAbsolute().ToString()]
|
||||
}).Join();
|
||||
}
|
||||
func main(args)
|
||||
{
|
||||
Console.WriteLine($"Got {nproc} cpus");
|
||||
each(var arch : ["x86","x64"])
|
||||
{
|
||||
var build_dir = "build" / $"win-{arch}";
|
||||
var publish_dir = "publish" / $"win-{arch}";
|
||||
FS.Local.CreateDirectory(publish_dir);
|
||||
mvFile(build_dir/"crossapp.exe", publish_dir / "crossapp.exe");
|
||||
var info = {
|
||||
type = "archive",
|
||||
maintainer = "Mike Nolan",
|
||||
repo = "https://onedev.site.tesses.net/crosslang",
|
||||
homepage = "https://crosslang.tesseslanguage.com/",
|
||||
executable_name = "crossapp.exe",
|
||||
executable_can_be_renamed = true,
|
||||
executable_runtime = $"win-{arch}",
|
||||
description = $"Runtime files for win-{arch}",
|
||||
};
|
||||
|
||||
var name = $"Tesses.CrossLang.Runtime.win-{arch}";
|
||||
|
||||
var subDir = new SubdirFilesystem(FS.Local,publish_dir);
|
||||
var pkgStrm = FS.Local.OpenFile("publish"/$"{name}-{VERSION}.crvm","wb");
|
||||
FS.CreateArchive(subDir,pkgStrm, name ,VERSION, Json.Encode(info));
|
||||
pkgStrm.Close();
|
||||
}
|
||||
|
||||
BuildConsoleOrServerLinuxShared("x86_64");
|
||||
BuildConsoleOrServerLinuxShared("aarch64", "/opt/toolchains/arm64.cmake");
|
||||
BuildConsoleOrServerLinuxShared("armv7l", "/opt/toolchains/armhf.cmake");
|
||||
BuildConsoleOrServerLinuxShared("riscv64", "/opt/toolchains/riscv64.cmake");
|
||||
|
||||
|
||||
each(var static : statics)
|
||||
{
|
||||
BuildConsoleOrServerLinuxStaticBasedOnTarget(static.target,static.cpu);
|
||||
}
|
||||
|
||||
var info = {
|
||||
type = "archive",
|
||||
maintainer = "Mike Nolan",
|
||||
repo = "https://onedev.site.tesses.net/crosslang",
|
||||
homepage = "https://crosslang.tesseslanguage.com/",
|
||||
executable_name = "boot.dol",
|
||||
executable_can_be_renamed = false,
|
||||
executable_runtime = "wii",
|
||||
description = $"Runtime files for wii",
|
||||
};
|
||||
|
||||
var name = $"Tesses.CrossLang.Runtime.wii";
|
||||
|
||||
var subDir = new SubdirFilesystem(FS.Local,"publish"/"wii");
|
||||
var pkgStrm = FS.Local.OpenFile("publish"/$"{name}-{VERSION}.crvm","wb");
|
||||
FS.CreateArchive(subDir,pkgStrm, name ,VERSION, Json.Encode(info));
|
||||
pkgStrm.Close();
|
||||
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
bash ./pack.sh
|
||||
bash ./publish.sh
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/bash
|
||||
find publish -name "*.crvm" -exec crosslang upload-package --token="$CPKG_KEY" --host="https://cpkg.tesseslanguage.com/" "{}" \;
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
mkdir -p publish/wii
|
||||
cd Wii
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -S .. -B . -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Wii.cmake
|
||||
make -j`nproc`
|
||||
mv boot.dol ../../publish/wii/boot.dol
|
||||
@@ -1,10 +0,0 @@
|
||||
echo "Building Windows Static x86"
|
||||
cmake -S "ConsoleOrServer" -B build/win-x86 -DCROSSAPPPUBLISH_STATIC=ON -DCMAKE_TOOLCHAIN_FILE=`pwd`/WindowsToolchains/x86.cmake
|
||||
cd build/win-x86
|
||||
make -j`nproc`
|
||||
cd ../..
|
||||
echo "Building Windows Static x64"
|
||||
cmake -S "ConsoleOrServer" -B build/win-x64 -DCROSSAPPPUBLISH_STATIC=ON -DCMAKE_TOOLCHAIN_FILE=`pwd`/WindowsToolchains/x64.cmake
|
||||
cd build/win-x64
|
||||
make -j`nproc`
|
||||
cd ../..
|
||||
@@ -1,6 +1,6 @@
|
||||
# Maintainer: Mike Nolan <tesses@tesses.net>
|
||||
pkgname=crosslang # '-bzr', '-git', '-hg' or '-svn'
|
||||
pkgver=1.0.0
|
||||
pkgver=0.0.1
|
||||
pkgrel=1
|
||||
pkgdesc=""
|
||||
arch=('x86_64' 'powerpc')
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
export BUILD=$(($BUILD_NO-142))
|
||||
export DEB_VERSION=1.0.0-$BUILD
|
||||
export BUILD=$(($BUILD_NO-152))
|
||||
export DEB_VERSION=0.0.1-$BUILD
|
||||
Reference in New Issue
Block a user