From e6d0fdd6168fcc602f87a08f88e11a8b118451bc Mon Sep 17 00:00:00 2001 From: cy384 Date: Mon, 8 Jun 2020 12:53:38 -0400 Subject: [PATCH] init --- CMakeLists.txt | 16 ++++++++++++++++ LICENSE | 12 ++++++++++++ README.md | 25 +++++++++++++++++++++++++ ssheven.c | 27 +++++++++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 LICENSE create mode 100644 README.md create mode 100644 ssheven.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..724220d --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.9) + +add_application(ssheven ssheven.c CONSOLE) + +set_target_properties(ssheven PROPERTIES COMPILE_OPTIONS -ffunction-sections) + +IF(CMAKE_SYSTEM_NAME MATCHES Retro68) +# for 68k +set_target_properties(ssheven PROPERTIES LINK_FLAGS "-Wl,-gc-sections -Wl,--mac-strip-macsbug -Wl,--mac-segments -Wl,${CMAKE_CURRENT_SOURCE_DIR}/ssheven.segmap") +target_link_libraries(ssheven -lRetroConsole -lOpenTransport -lOpenTransportApp -lOpenTptInet) +ELSE() +# for PPC +set_target_properties(ssheven PROPERTIES LINK_FLAGS "-Wl,-gc-sections") +target_link_libraries(ssheven -lRetroConsole -lOpenTransportAppPPC -lOpenTransportLib -lOpenTptInternetLib -lThreadsLib) +ENDIF() + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..64cf8f0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +BSD 2-Clause License + +Copyright (c) 2020, cy384 . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7c1ddca --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +ssheven +------- +A modern SSH client for Mac OS 7/8/9 on m68k and PPC machines. + +Project status: + +* encryption libraries: ham-handedly ported and built, not yet tested at all +* console emulation: nonexistent, planning the use of libvterm for escape codes etc., going to need to make a custom window type +* UI/UX: not yet considered at all + +build +----- +More details to come as functionality is added. + +Uses Retro68 and cmake. + +Requires mbedtls and libssh2, see my (cy384's) ports of those libraries for details. + +* `mkdir build && cd build` +* `cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/powerpc-apple-macos/cmake/retroppc.toolchain.cmake` or `cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake` +* `make` + +license +------- +Licensed under the BSD 2 clause license, see LICENSE file. diff --git a/ssheven.c b/ssheven.c new file mode 100644 index 0000000..828d73e --- /dev/null +++ b/ssheven.c @@ -0,0 +1,27 @@ +/* + * ssheven + * + * Copyright (c) 2020 by cy384 + * See LICENSE file for details + */ + +// retro68 stdio/console library +#include + +// open transport +#include +#include + +// mac os threads +#include + +int main(int argc, char** argv) +{ + printf("hello, world\n"); + + printf("\n(return to exit)\n"); + getchar(); + + return 0; +} +