From 0e4deeb6e7d150c50d3ef07bb7af622b94911967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Tue, 8 Dec 2015 18:05:43 +0200 Subject: Makefile, cmd/geth: assemble ios xcode frameworks --- cmd/geth/library.go | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 cmd/geth/library.go (limited to 'cmd/geth/library.go') diff --git a/cmd/geth/library.go b/cmd/geth/library.go new file mode 100644 index 000000000..b8ffaaed7 --- /dev/null +++ b/cmd/geth/library.go @@ -0,0 +1,46 @@ +// Copyright 2015 The go-ethereum Authors +// This file is part of go-ethereum. +// +// go-ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// go-ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with go-ethereum. If not, see . + +// Contains a simple library definition to allow creating a Geth instance from +// straight C code. + +package main + +// #ifdef __cplusplus +// extern "C" { +// #endif +// +// extern int run(const char*); +// +// #ifdef __cplusplus +// } +// #endif +import "C" +import ( + "fmt" + "os" + "strings" +) + +//export doRun +func doRun(args *C.char) C.int { + // This is equivalent to geth.main, just modified to handle the function arg passing + if err := app.Run(strings.Split("geth "+C.GoString(args), " ")); err != nil { + fmt.Fprintln(os.Stderr, err) + return -1 + } + return 0 +} -- cgit v1.2.3