diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-07-27 20:31:20 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-07-28 11:18:44 +0200 |
commit | c3f7aa7252ad9adb51cef1e35f566883ef953aad (patch) | |
tree | 456ddfb23cdfd3aeddfc2ac71a3e86ce4748fac6 /src/ioview.cpp | |
parent | 7b3f7da0ec70e7be0e3db9524d092d9e138ed448 (diff) | |
download | sciteco-c3f7aa7252ad9adb51cef1e35f566883ef953aad.tar.gz |
added full Haiku OS support (non x86_gcc2)
* Haiku can be handled like UNIX in most respects
since it is POSIX compliant, has a UNIX-like terminal
emulator and uses ncurses.
* still the Glib platform macro is G_OS_HAIKU instead of
G_OS_UNIX, so the preprocessor conditionals had to be adapted.
* the only functional difference between a Haiku and UNIX build
is the default SCITECOCONFIG path.
We use the config path returned by Glib instead of $HOME,
so .teco_ini will be in ~/config/settings on Haiku.
Other UNIX ports appear to use the same conventions.
* Some Haiku-specific restrictions still apply:
* Haiku's terminal is xterm-compatible, but only supports
8 colors. Therefore only the terminal.tes color scheme
can be used and the terminal must be set up to
"Use bright instead of bold text".
* The terminal has artifacts. This appears to be a Haiku
bug and affects other curses applications as well.
* GTK is yet unsupported on Haiku, so there may never be
a GUI port (unless someone writes a QT GUI for SciTECO).
* SciTECO cannot be built with the legacy gcc2 used for
BeOS compatibility on Haiku. This would require too many
changes for an obsolete platform.
BeOS and the x86_gcc2 platform of Haiku will therefore
never be supported.
The PPC and ARM platforms of Haiku should work but are untested.
* a HaikuPorts recipe will be provided for the next regular
SciTECO release. This should hopefully allow installation via
HaikuDepot.
Diffstat (limited to 'src/ioview.cpp')
-rw-r--r-- | src/ioview.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/ioview.cpp b/src/ioview.cpp index 6cab3f9..71b5b9f 100644 --- a/src/ioview.cpp +++ b/src/ioview.cpp @@ -467,7 +467,7 @@ make_savepoint(const gchar *filename) undo.push(new UndoTokenRestoreSavePoint(savepoint, filename)); } -#endif /* !G_OS_UNIX */ +#endif GIOStatus IOView::save(GIOChannel *channel, guint position, gsize len, @@ -603,7 +603,7 @@ IOView::save(const gchar *filename) GError *error = NULL; GIOChannel *channel; -#ifdef G_OS_UNIX +#if defined(G_OS_UNIX) || defined(G_OS_HAIKU) GStatBuf file_stat; file_stat.st_uid = -1; file_stat.st_gid = -1; @@ -612,7 +612,7 @@ IOView::save(const gchar *filename) if (undo.enabled) { if (g_file_test(filename, G_FILE_TEST_IS_REGULAR)) { -#ifdef G_OS_UNIX +#if defined(G_OS_UNIX) || defined(G_OS_HAIKU) g_stat(filename, &file_stat); #endif attributes = get_file_attributes(filename); @@ -644,7 +644,7 @@ IOView::save(const gchar *filename) /* if file existed but has been renamed, restore attributes */ if (attributes != INVALID_FILE_ATTRIBUTES) set_file_attributes(filename, attributes); -#ifdef G_OS_UNIX +#if defined(G_OS_UNIX) || defined(G_OS_HAIKU) /* * only a good try to inherit owner since process user must have * CHOWN capability traditionally reserved to root only. @@ -698,7 +698,7 @@ expand_path(const gchar *path) return ret; } -#ifdef G_OS_UNIX +#if defined(G_OS_UNIX) || defined(G_OS_HAIKU) gchar * get_absolute_path(const gchar *path) @@ -752,7 +752,7 @@ file_is_visible(const gchar *path) return !(get_file_attributes(path) & FILE_ATTRIBUTE_HIDDEN); } -#else /* !G_OS_UNIX && !G_OS_WIN32 */ +#else /* !G_OS_UNIX && !G_OS_HAIKU && !G_OS_WIN32 */ /* * This will never canonicalize relative paths. @@ -791,6 +791,6 @@ file_is_visible(const gchar *path) return true; } -#endif /* !G_OS_UNIX && !G_OS_WIN32 */ +#endif /* !G_OS_UNIX && !G_OS_HAIKU && !G_OS_WIN32 */ } /* namespace SciTECO */ |