mirror of https://github.com/OpenTTD/OpenTTD.git
Remove: MorphOS / AmigaOS support
In 10 years there is no commit to change how MorphOS works, and we have no active maintainer for it. It is unlikely it works in its current state (but not impossible). With the arrival of SDL2 (and removal of SDL), MorphOS is no longer support. There is an SDL2 port for MorphOS, but it is not maintained by upstream SDL2, and nobody can currently test it out. If anyone wants to re-add MorphOS, please do (revert this patch, fix the problems, and create a Pull Request). If you need any help doing so, let us know! It is not that we don't like MorphOS, it is that we don't have anyone fixing the problems :(
This commit is contained in:
parent
db49efe29a
commit
7784d77713
|
@ -157,7 +157,6 @@ platforms are:
|
|||
- FreeBSD (SDL)
|
||||
- Linux (SDL or Allegro)
|
||||
- macOS (universal) (Cocoa video and sound drivers)
|
||||
- MorphOS (SDL)
|
||||
- OpenBSD (SDL)
|
||||
- OS/2 (SDL)
|
||||
- Windows (Win32 GDI (faster) or SDL or Allegro)
|
||||
|
@ -551,13 +550,6 @@ instead of '`./configure`'.
|
|||
|
||||
Use '`make`', but do a '`./configure`' before the first build.
|
||||
|
||||
### MorphOS:
|
||||
|
||||
Use '`make`'. However, for the first build one has to do a '`./configure`'
|
||||
first. Note that you need the MorphOS SDK, latest libnix updates (else C++
|
||||
parts of OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
|
||||
libpng and freetype2 developer files.
|
||||
|
||||
### OS/2:
|
||||
|
||||
A comprehensive GNU build environment is required to build the OS/2 version.
|
||||
|
|
37
config.lib
37
config.lib
|
@ -559,10 +559,10 @@ check_params() {
|
|||
|
||||
# Check if all params have valid values
|
||||
|
||||
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then
|
||||
# OS only allows DETECT, UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
if [ -z "`echo $os | egrep '^(DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS)$'`" ]; then
|
||||
log 1 "configure: error: invalid option --os=$os"
|
||||
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|MORPHOS|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]"
|
||||
log 1 " Available options are: --os=[DETECT|UNIX|OSX|FREEBSD|DRAGONFLY|OPENBSD|NETBSD|HPUX|BEOS|HAIKU|SUNOS|CYGWIN|MINGW|OS2|DOS]"
|
||||
exit 1
|
||||
fi
|
||||
# cpu_type can be either 32 or 64
|
||||
|
@ -629,7 +629,7 @@ check_params() {
|
|||
detect_sse_capable_architecture
|
||||
|
||||
if [ "$enable_static" = "1" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "DOS" ]; then
|
||||
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "DOS" ]; then
|
||||
enable_static="2"
|
||||
else
|
||||
enable_static="0"
|
||||
|
@ -639,8 +639,8 @@ check_params() {
|
|||
if [ "$enable_static" != "0" ]; then
|
||||
log 1 "checking static... yes"
|
||||
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "OSX" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "DOS" ]; then
|
||||
log 1 "WARNING: static is only known to work on Windows, DOS, MacOSX and MorphOS"
|
||||
if [ "$os" != "MINGW" ] && [ "$os" != "CYGWIN" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ]; then
|
||||
log 1 "WARNING: static is only known to work on Windows, DOS, and MacOSX"
|
||||
log 1 "WARNING: use static at your own risk on this platform"
|
||||
|
||||
sleep 5
|
||||
|
@ -939,9 +939,7 @@ check_params() {
|
|||
fi
|
||||
|
||||
if [ "$enable_debug" = "0" ] && [ "$enable_profiling" = "0" ] && [ "$enable_strip" != "0" ]; then
|
||||
if [ "$os" = "MORPHOS" ]; then
|
||||
strip_arg="--strip-all --strip-unneeded --remove-section .comment"
|
||||
elif [ "$os" = "OSX" ]; then
|
||||
if [ "$os" = "OSX" ]; then
|
||||
strip_arg=""
|
||||
elif [ "$os" = "OS2" ]; then
|
||||
strip_arg=""
|
||||
|
@ -1527,10 +1525,6 @@ make_cflags_and_ldflags() {
|
|||
if [ "$enable_debug" = "0" ]; then
|
||||
# No debug, add default stuff
|
||||
OBJS_SUBDIR="release"
|
||||
if [ "$os" = "MORPHOS" ]; then
|
||||
CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS"
|
||||
LDFLAGS="$LDFLAGS -noixemul"
|
||||
fi
|
||||
|
||||
if [ "$enable_profiling" = "0" ]; then
|
||||
# -fomit-frame-pointer and -pg do not go well together (gcc errors they are incompatible)
|
||||
|
@ -1616,7 +1610,7 @@ make_cflags_and_ldflags() {
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then
|
||||
if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "OPENBSD" ] && [ "$os" != "MINGW" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "OS2" ]; then
|
||||
LIBS="$LIBS -lpthread"
|
||||
fi
|
||||
|
||||
|
@ -1624,11 +1618,6 @@ make_cflags_and_ldflags() {
|
|||
LIBS="$LIBS -lc"
|
||||
fi
|
||||
|
||||
if [ "$os" = "MORPHOS" ]; then
|
||||
# -Wstrict-prototypes generates much noise because of system headers
|
||||
CFLAGS="$CFLAGS -Wno-strict-prototypes"
|
||||
fi
|
||||
|
||||
if [ "$os" = "OPENBSD" ]; then
|
||||
LIBS="$LIBS -pthread"
|
||||
fi
|
||||
|
@ -1657,7 +1646,7 @@ make_cflags_and_ldflags() {
|
|||
fi
|
||||
|
||||
# Most targets act like UNIX, just with some additions
|
||||
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then
|
||||
if [ "$os" = "BEOS" ] || [ "$os" = "HAIKU" ] || [ "$os" = "OSX" ] || [ "$os" = "FREEBSD" ] || [ "$os" = "DRAGONFLY" ] || [ "$os" = "OPENBSD" ] || [ "$os" = "NETBSD" ] || [ "$os" = "HPUX" ] || [ "$os" = "SUNOS" ] || [ "$os" = "OS2" ]; then
|
||||
CFLAGS="$CFLAGS -DUNIX"
|
||||
fi
|
||||
# And others like Windows
|
||||
|
@ -2361,7 +2350,7 @@ detect_awk() {
|
|||
|
||||
detect_os() {
|
||||
if [ "$os" = "DETECT" ]; then
|
||||
# Detect UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, MORPHOS, BEOS, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
# Detect UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, BEOS, SUNOS, CYGWIN, MINGW, OS2, and DOS
|
||||
|
||||
# Try first via dumpmachine, then via uname
|
||||
os=`echo "$host" | tr '[A-Z]' '[a-z]' | $awk '
|
||||
|
@ -2372,7 +2361,6 @@ detect_os() {
|
|||
/openbsd/ { print "OPENBSD"; exit}
|
||||
/netbsd/ { print "NETBSD"; exit}
|
||||
/hp-ux/ { print "HPUX"; exit}
|
||||
/morphos/ { print "MORPHOS"; exit}
|
||||
/beos/ { print "BEOS"; exit}
|
||||
/haiku/ { print "HAIKU"; exit}
|
||||
/sunos/ { print "SUNOS"; exit}
|
||||
|
@ -2392,7 +2380,6 @@ detect_os() {
|
|||
/openbsd/ { print "OPENBSD"; exit}
|
||||
/netbsd/ { print "NETBSD"; exit}
|
||||
/hp-ux/ { print "HPUX"; exit}
|
||||
/morphos/ { print "MORPHOS"; exit}
|
||||
/beos/ { print "BEOS"; exit}
|
||||
/haiku/ { print "HAIKU"; exit}
|
||||
/sunos/ { print "SUNOS"; exit}
|
||||
|
@ -2406,7 +2393,7 @@ detect_os() {
|
|||
if [ -z "$os" ]; then
|
||||
log 1 "detecting OS... none detected"
|
||||
log 1 "I couldn't detect your OS. Please use --os=OS to force one"
|
||||
log 1 "Allowed values are: UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, MORPHOS, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS"
|
||||
log 1 "Allowed values are: UNIX, OSX, FREEBSD, DRAGONFLY, OPENBSD, NETBSD, HPUX, BEOS, HAIKU, SUNOS, CYGWIN, MINGW, OS2, and DOS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -3493,7 +3480,7 @@ showhelp() {
|
|||
echo " --lipo=LIPO the lipo to use (OSX ONLY) [HOST-lipo]"
|
||||
echo " --os=OS the OS we are compiling for [DETECT]"
|
||||
echo " DETECT/UNIX/OSX/FREEBSD/DRAGONFLY/OPENBSD/"
|
||||
echo " NETBSD/MORPHOS/HPUX/BEOS/SUNOS/CYGWIN/"
|
||||
echo " NETBSD/HPUX/BEOS/SUNOS/CYGWIN/"
|
||||
echo " MINGW/OS2/DOS/HAIKU"
|
||||
echo ""
|
||||
echo "Paths:"
|
||||
|
|
|
@ -121,7 +121,6 @@ AWKCOMMAND='
|
|||
"'$os'" != "HAIKU") { next; }
|
||||
if ($0 == "WIN32" && "'$os'" != "MINGW" &&
|
||||
"'$os'" != "CYGWIN" && "'$os'" != "MSVC") { next; }
|
||||
if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; }
|
||||
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
|
||||
if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; }
|
||||
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; }
|
||||
|
|
11
source.list
11
source.list
|
@ -1114,10 +1114,7 @@ music/midifile.cpp
|
|||
#else
|
||||
#if DOS
|
||||
#else
|
||||
#if MORPHOS
|
||||
#else
|
||||
music/extmidi.cpp
|
||||
#end
|
||||
music/extmidi.cpp
|
||||
#end
|
||||
#end
|
||||
#if BEOS
|
||||
|
@ -1186,11 +1183,7 @@ thread/thread.h
|
|||
#if OS2
|
||||
thread/thread_os2.cpp
|
||||
#else
|
||||
#if MORPHOS
|
||||
thread/thread_morphos.cpp
|
||||
#else
|
||||
thread/thread_pthread.cpp
|
||||
#end
|
||||
thread/thread_pthread.cpp
|
||||
#end
|
||||
#end
|
||||
#else
|
||||
|
|
|
@ -12,11 +12,6 @@
|
|||
#ifndef GEOMETRY_TYPE_HPP
|
||||
#define GEOMETRY_TYPE_HPP
|
||||
|
||||
#if defined(__AMIGA__)
|
||||
/* AmigaOS already has a Point declared */
|
||||
#define Point OTTD_Point
|
||||
#endif /* __AMIGA__ */
|
||||
|
||||
#if defined(__APPLE__)
|
||||
/* Mac OS X already has both Rect and Point declared */
|
||||
#define Rect OTTD_Rect
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
char *_log_file = NULL; ///< File to reroute output of a forked OpenTTD to
|
||||
FILE *_log_fd = NULL; ///< File to reroute output of a forked OpenTTD to
|
||||
|
||||
#if defined(UNIX) && !defined(__MORPHOS__)
|
||||
#if defined(UNIX)
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
|
@ -71,7 +71,7 @@ void DedicatedFork()
|
|||
|
||||
#else
|
||||
|
||||
/** Empty helper function call for NOT(UNIX and not MORPHOS) systems */
|
||||
/** Empty helper function call for NOT(UNIX) systems */
|
||||
void DedicatedFork() {}
|
||||
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
|
|
@ -539,16 +539,6 @@ void FioCreateDirectory(const char *name)
|
|||
CreateDirectory(OTTD2FS(name), NULL);
|
||||
#elif defined(OS2) && !defined(__INNOTEK_LIBC__)
|
||||
mkdir(OTTD2FS(name));
|
||||
#elif defined(__MORPHOS__) || defined(__AMIGAOS__)
|
||||
char buf[MAX_PATH];
|
||||
strecpy(buf, name, lastof(buf));
|
||||
|
||||
size_t len = strlen(name) - 1;
|
||||
if (buf[len] == '/') {
|
||||
buf[len] = '\0'; // Kill pathsep, so mkdir() will not fail
|
||||
}
|
||||
|
||||
mkdir(OTTD2FS(buf), 0755);
|
||||
#else
|
||||
mkdir(OTTD2FS(name), 0755);
|
||||
#endif
|
||||
|
@ -1066,7 +1056,7 @@ void DetermineBasePaths(const char *exe)
|
|||
AppendPathSeparator(tmp, lastof(tmp));
|
||||
_searchpaths[SP_PERSONAL_DIR_XDG] = stredup(tmp);
|
||||
#endif
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2) || !defined(WITH_PERSONAL_DIR)
|
||||
#if defined(DOS) || defined(OS2) || !defined(WITH_PERSONAL_DIR)
|
||||
_searchpaths[SP_PERSONAL_DIR] = NULL;
|
||||
#else
|
||||
#ifdef __HAIKU__
|
||||
|
@ -1109,13 +1099,9 @@ void DetermineBasePaths(const char *exe)
|
|||
_searchpaths[SP_SHARED_DIR] = NULL;
|
||||
#endif
|
||||
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
||||
_searchpaths[SP_WORKING_DIR] = NULL;
|
||||
#else
|
||||
if (getcwd(tmp, MAX_PATH) == NULL) *tmp = '\0';
|
||||
AppendPathSeparator(tmp, lastof(tmp));
|
||||
_searchpaths[SP_WORKING_DIR] = stredup(tmp);
|
||||
#endif
|
||||
|
||||
_do_scan_working_directory = DoScanWorkingDirectory();
|
||||
|
||||
|
@ -1135,7 +1121,7 @@ void DetermineBasePaths(const char *exe)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__) || defined(DOS) || defined(OS2)
|
||||
#if defined(DOS) || defined(OS2)
|
||||
_searchpaths[SP_INSTALLATION_DIR] = NULL;
|
||||
#else
|
||||
seprintf(tmp, lastof(tmp), "%s", GLOBAL_DATA_DIR);
|
||||
|
@ -1239,7 +1225,7 @@ void DeterminePaths(const char *exe)
|
|||
}
|
||||
|
||||
/* Make the necessary folders */
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__) && defined(WITH_PERSONAL_DIR)
|
||||
#if defined(WITH_PERSONAL_DIR)
|
||||
FioCreateDirectory(config_dir);
|
||||
if (config_dir != _personal_dir) FioCreateDirectory(_personal_dir);
|
||||
#endif
|
||||
|
|
21
src/fios.cpp
21
src/fios.cpp
|
@ -162,7 +162,7 @@ const char *FiosBrowseTo(const FiosItem *item)
|
|||
break;
|
||||
|
||||
case FIOS_TYPE_PARENT: {
|
||||
/* Check for possible NULL ptr (not required for UNIXes, but AmigaOS-alikes) */
|
||||
/* Check for possible NULL ptr */
|
||||
char *s = strrchr(_fios_path, PATHSEPCHAR);
|
||||
if (s != NULL && s != _fios_path) {
|
||||
s[0] = '\0'; // Remove last path separator character, so we can go up one level.
|
||||
|
@ -170,11 +170,6 @@ const char *FiosBrowseTo(const FiosItem *item)
|
|||
s = strrchr(_fios_path, PATHSEPCHAR);
|
||||
if (s != NULL) {
|
||||
s[1] = '\0'; // go up a directory
|
||||
#if defined(__MORPHOS__) || defined(__AMIGAOS__)
|
||||
/* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */
|
||||
} else if ((s = strrchr(_fios_path, ':')) != NULL) {
|
||||
s[1] = '\0';
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -215,21 +210,7 @@ static void FiosMakeFilename(char *buf, const char *path, const char *name, cons
|
|||
/* Don't append the extension if it is already there */
|
||||
period = strrchr(name, '.');
|
||||
if (period != NULL && strcasecmp(period, ext) == 0) ext = "";
|
||||
#if defined(__MORPHOS__) || defined(__AMIGAOS__)
|
||||
if (path != NULL) {
|
||||
unsigned char sepchar = path[(strlen(path) - 1)];
|
||||
|
||||
if (sepchar != ':' && sepchar != '/') {
|
||||
seprintf(buf, last, "%s" PATHSEP "%s%s", path, name, ext);
|
||||
} else {
|
||||
seprintf(buf, last, "%s%s%s", path, name, ext);
|
||||
}
|
||||
} else {
|
||||
seprintf(buf, last, "%s%s", name, ext);
|
||||
}
|
||||
#else
|
||||
seprintf(buf, last, "%s" PATHSEP "%s%s", path, name, ext);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -297,10 +297,6 @@ void AskExitGame()
|
|||
SetDParam(0, STR_OSNAME_BEOS);
|
||||
#elif defined(__HAIKU__)
|
||||
SetDParam(0, STR_OSNAME_HAIKU);
|
||||
#elif defined(__MORPHOS__)
|
||||
SetDParam(0, STR_OSNAME_MORPHOS);
|
||||
#elif defined(__AMIGA__)
|
||||
SetDParam(0, STR_OSNAME_AMIGAOS);
|
||||
#elif defined(__OS2__)
|
||||
SetDParam(0, STR_OSNAME_OS2);
|
||||
#elif defined(SUNOS)
|
||||
|
|
|
@ -1773,8 +1773,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1445,8 +1445,6 @@ STR_OSNAME_UNIX :يونكس
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :بي او اس
|
||||
STR_OSNAME_HAIKU :هايكو
|
||||
STR_OSNAME_MORPHOS :مورف او اس
|
||||
STR_OSNAME_AMIGAOS :اميقا
|
||||
STR_OSNAME_OS2 :او اس/2
|
||||
STR_OSNAME_SUNOS :صن
|
||||
|
||||
|
|
|
@ -1685,8 +1685,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -2098,8 +2098,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1789,8 +1789,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1721,8 +1721,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1800,8 +1800,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1895,8 +1895,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1867,8 +1867,6 @@ STR_OSNAME_UNIX :Unixu
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1799,8 +1799,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1799,8 +1799,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1803,8 +1803,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1749,8 +1749,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1803,8 +1803,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1432,8 +1432,6 @@ STR_OSNAME_UNIX :Unikso
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1833,8 +1833,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1596,8 +1596,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1803,8 +1803,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1800,8 +1800,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1983,8 +1983,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1776,8 +1776,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1794,8 +1794,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1896,8 +1896,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1798,8 +1798,6 @@ STR_OSNAME_UNIX :יוניקס
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :מערכת הפעלה בי
|
||||
STR_OSNAME_HAIKU :הייקו
|
||||
STR_OSNAME_MORPHOS :מערכת הפעלה מורפ
|
||||
STR_OSNAME_AMIGAOS :מערכת הפעלה אניגמה
|
||||
STR_OSNAME_OS2 :מערכת הפעלה או.אס שתיים
|
||||
STR_OSNAME_SUNOS :סולריס
|
||||
|
||||
|
|
|
@ -1863,8 +1863,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1637,8 +1637,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1782,8 +1782,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1772,8 +1772,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1823,8 +1823,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1772,8 +1772,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1800,8 +1800,6 @@ STR_OSNAME_UNIX :{G=f}Unix
|
|||
STR_OSNAME_OSX :{G=f}OS{NBSP}X
|
||||
STR_OSNAME_BEOS :{G=f}BeOS
|
||||
STR_OSNAME_HAIKU :{G=f}Haiku
|
||||
STR_OSNAME_MORPHOS :{G=f}MorphOS
|
||||
STR_OSNAME_AMIGAOS :{G=f}AmigaOS
|
||||
STR_OSNAME_OS2 :{G=f}OS/2
|
||||
STR_OSNAME_SUNOS :{G=f}SunOS
|
||||
|
||||
|
|
|
@ -1973,8 +1973,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1719,8 +1719,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1991,8 +1991,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1775,8 +1775,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1533,8 +1533,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1802,8 +1802,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1695,8 +1695,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -2171,8 +2171,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1800,8 +1800,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1749,8 +1749,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1951,8 +1951,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1979,8 +1979,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1782,8 +1782,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1840,8 +1840,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1926,8 +1926,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1785,8 +1785,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1800,8 +1800,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1793,8 +1793,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1542,8 +1542,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1723,8 +1723,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :ระบบปฏิบัติการ Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1772,8 +1772,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1798,8 +1798,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1901,8 +1901,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -667,8 +667,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1706,8 +1706,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -953,8 +953,6 @@ STR_OSNAME_WINDOWS :Windows
|
|||
STR_OSNAME_UNIX :Unix
|
||||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1489,8 +1489,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :هایکو
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1386,8 +1386,6 @@ STR_OSNAME_UNIX :یونیکس
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1788,8 +1788,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -1775,8 +1775,6 @@ STR_OSNAME_UNIX :Unix
|
|||
STR_OSNAME_OSX :OS{NBSP}X
|
||||
STR_OSNAME_BEOS :BeOS
|
||||
STR_OSNAME_HAIKU :Haiku
|
||||
STR_OSNAME_MORPHOS :MorphOS
|
||||
STR_OSNAME_AMIGAOS :AmigaOS
|
||||
STR_OSNAME_OS2 :OS/2
|
||||
STR_OSNAME_SUNOS :SunOS
|
||||
|
||||
|
|
|
@ -21,48 +21,12 @@
|
|||
#include "../../safeguards.h"
|
||||
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
/* the library base is required here */
|
||||
struct Library *SocketBase = NULL;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Initializes the network core (as that is needed for some platforms
|
||||
* @return true if the core has been initialized, false otherwise
|
||||
*/
|
||||
bool NetworkCoreInitialize()
|
||||
{
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
||||
/*
|
||||
* IMPORTANT NOTE: SocketBase needs to be initialized before we use _any_
|
||||
* network related function, else: crash.
|
||||
*/
|
||||
DEBUG(net, 3, "[core] loading bsd socket library");
|
||||
SocketBase = OpenLibrary("bsdsocket.library", 4);
|
||||
if (SocketBase == NULL) {
|
||||
DEBUG(net, 0, "[core] can't open bsdsocket.library version 4, network unavailable");
|
||||
return false;
|
||||
}
|
||||
|
||||
#if defined(__AMIGA__)
|
||||
/* for usleep() implementation (only required for legacy AmigaOS builds) */
|
||||
TimerPort = CreateMsgPort();
|
||||
if (TimerPort != NULL) {
|
||||
TimerRequest = (struct timerequest*)CreateIORequest(TimerPort, sizeof(struct timerequest);
|
||||
if (TimerRequest != NULL) {
|
||||
if (OpenDevice("timer.device", UNIT_MICROHZ, (struct IORequest*)TimerRequest, 0) == 0) {
|
||||
TimerBase = TimerRequest->tr_node.io_Device;
|
||||
if (TimerBase == NULL) {
|
||||
/* free resources... */
|
||||
DEBUG(net, 0, "[core] can't initialize timer, network unavailable");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* __AMIGA__ */
|
||||
#endif /* __MORPHOS__ / __AMIGA__ */
|
||||
|
||||
/* Let's load the network in windows */
|
||||
#ifdef _WIN32
|
||||
{
|
||||
|
@ -83,17 +47,6 @@ bool NetworkCoreInitialize()
|
|||
*/
|
||||
void NetworkCoreShutdown()
|
||||
{
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
||||
/* free allocated resources */
|
||||
#if defined(__AMIGA__)
|
||||
if (TimerBase != NULL) CloseDevice((struct IORequest*)TimerRequest); // XXX This smells wrong
|
||||
if (TimerRequest != NULL) DeleteIORequest(TimerRequest);
|
||||
if (TimerPort != NULL) DeleteMsgPort(TimerPort);
|
||||
#endif
|
||||
|
||||
if (SocketBase != NULL) CloseLibrary(SocketBase);
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
WSACleanup();
|
||||
#endif
|
||||
|
|
|
@ -48,13 +48,11 @@ typedef unsigned long in_addr_t;
|
|||
# endif
|
||||
# define SOCKET int
|
||||
# define INVALID_SOCKET -1
|
||||
# if !defined(__MORPHOS__) && !defined(__AMIGA__)
|
||||
# define ioctlsocket ioctl
|
||||
# define ioctlsocket ioctl
|
||||
# if !defined(BEOS_NET_SERVER)
|
||||
# define closesocket close
|
||||
# endif
|
||||
# define GET_LAST_ERROR() (errno)
|
||||
# endif
|
||||
# define GET_LAST_ERROR() (errno)
|
||||
/* Need this for FIONREAD on solaris */
|
||||
# define BSD_COMP
|
||||
|
||||
|
@ -74,7 +72,7 @@ typedef unsigned long in_addr_t;
|
|||
# include <arpa/inet.h>
|
||||
# include <net/if.h>
|
||||
/* According to glibc/NEWS, <ifaddrs.h> appeared in glibc-2.3. */
|
||||
# if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) && !defined(__HAIKU__) && !defined(__INNOTEK_LIBC__) \
|
||||
# if !defined(__sgi__) && !defined(SUNOS) && !defined(__BEOS__) && !defined(__HAIKU__) && !defined(__INNOTEK_LIBC__) \
|
||||
&& !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__) && !defined(HPUX)
|
||||
/* If for any reason ifaddrs.h does not exist on your system, comment out
|
||||
* the following two lines and an alternative way will be used to fetch
|
||||
|
@ -164,39 +162,6 @@ typedef unsigned long in_addr_t;
|
|||
|
||||
#endif /* OS/2 */
|
||||
|
||||
/* MorphOS and Amiga stuff */
|
||||
#if defined(__MORPHOS__) || defined(__AMIGA__)
|
||||
# include <exec/types.h>
|
||||
# include <proto/exec.h> /* required for Open/CloseLibrary() */
|
||||
/* MorphOS defines his network functions with UBYTE arrays while we
|
||||
* use char arrays. This gives tons of unneeded warnings */
|
||||
# define UBYTE char
|
||||
# if defined(__MORPHOS__)
|
||||
# include <sys/filio.h> /* FIO* defines */
|
||||
# include <sys/sockio.h> /* SIO* defines */
|
||||
# include <netinet/in.h>
|
||||
# else /* __AMIGA__ */
|
||||
# include <proto/socket.h>
|
||||
# endif
|
||||
|
||||
/* Make the names compatible */
|
||||
# define closesocket(s) CloseSocket(s)
|
||||
# define GET_LAST_ERROR() Errno()
|
||||
# define ioctlsocket(s, request, status) IoctlSocket((LONG)s, (ULONG)request, (char*)status)
|
||||
# define ioctl ioctlsocket
|
||||
|
||||
typedef unsigned int in_addr_t;
|
||||
typedef long socklen_t;
|
||||
extern struct Library *SocketBase;
|
||||
|
||||
# ifdef __AMIGA__
|
||||
/* for usleep() implementation */
|
||||
extern struct Device *TimerBase;
|
||||
extern struct MsgPort *TimerPort;
|
||||
extern struct timerequest *TimerRequest;
|
||||
# endif
|
||||
#endif /* __MORPHOS__ || __AMIGA__ */
|
||||
|
||||
/**
|
||||
* Try to set the socket into non-blocking mode.
|
||||
* @param d The socket to set the non-blocking more for.
|
||||
|
|
|
@ -238,11 +238,7 @@ bool NetworkTCPSocketHandler::CanSendReceive()
|
|||
FD_SET(this->sock, &write_fd);
|
||||
|
||||
tv.tv_sec = tv.tv_usec = 0; // don't block at all.
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__)
|
||||
if (select(FD_SETSIZE, &read_fd, &write_fd, NULL, &tv) < 0) return false;
|
||||
#else
|
||||
if (WaitSelect(FD_SETSIZE, &read_fd, &write_fd, NULL, &tv, NULL) < 0) return false;
|
||||
#endif
|
||||
|
||||
this->writable = !!FD_ISSET(this->sock, &write_fd);
|
||||
return FD_ISSET(this->sock, &read_fd) != 0;
|
||||
|
|
|
@ -310,11 +310,7 @@ int NetworkHTTPSocketHandler::Receive()
|
|||
}
|
||||
|
||||
tv.tv_sec = tv.tv_usec = 0; // don't block at all.
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__)
|
||||
int n = select(FD_SETSIZE, &read_fd, NULL, NULL, &tv);
|
||||
#else
|
||||
int n = WaitSelect(FD_SETSIZE, &read_fd, NULL, NULL, &tv, NULL);
|
||||
#endif
|
||||
if (n == -1) return;
|
||||
|
||||
for (NetworkHTTPSocketHandler **iter = _http_connections.Begin(); iter < _http_connections.End(); /* nothing */) {
|
||||
|
|
|
@ -118,11 +118,7 @@ public:
|
|||
}
|
||||
|
||||
tv.tv_sec = tv.tv_usec = 0; // don't block at all.
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__)
|
||||
if (select(FD_SETSIZE, &read_fd, &write_fd, NULL, &tv) < 0) return false;
|
||||
#else
|
||||
if (WaitSelect(FD_SETSIZE, &read_fd, &write_fd, NULL, &tv, NULL) < 0) return false;
|
||||
#endif
|
||||
|
||||
/* accept clients.. */
|
||||
for (SocketList::iterator s = sockets.Begin(); s != sockets.End(); s++) {
|
||||
|
|
|
@ -170,7 +170,7 @@ static void ShowHelp()
|
|||
" -P password = Password to join company\n"
|
||||
" -D [ip][:port] = Start dedicated server\n"
|
||||
" -l ip[:port] = Redirect DEBUG()\n"
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(_WIN32)
|
||||
#if !defined(_WIN32)
|
||||
" -f = Fork into the background (dedicated only)\n"
|
||||
#endif
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
@ -497,7 +497,7 @@ struct AfterNewGRFScan : NewGRFScanCallback {
|
|||
}
|
||||
};
|
||||
|
||||
#if defined(UNIX) && !defined(__MORPHOS__)
|
||||
#if defined(UNIX)
|
||||
extern void DedicatedFork();
|
||||
#endif
|
||||
|
||||
|
@ -516,7 +516,7 @@ static const OptionData _options[] = {
|
|||
GETOPT_SHORT_VALUE('l'),
|
||||
GETOPT_SHORT_VALUE('p'),
|
||||
GETOPT_SHORT_VALUE('P'),
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(_WIN32)
|
||||
#if !defined(_WIN32)
|
||||
GETOPT_SHORT_NOVAL('f'),
|
||||
#endif
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
@ -707,7 +707,7 @@ int openttd_main(int argc, char *argv[])
|
|||
if (dedicated) DEBUG(net, 0, "Starting dedicated version %s", _openttd_revision);
|
||||
if (_dedicated_forks && !dedicated) _dedicated_forks = false;
|
||||
|
||||
#if defined(UNIX) && !defined(__MORPHOS__)
|
||||
#if defined(UNIX)
|
||||
/* We must fork here, or we'll end up without some resources we need (like sockets) */
|
||||
if (_dedicated_forks) DedicatedFork();
|
||||
#endif
|
||||
|
|
|
@ -43,21 +43,6 @@
|
|||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
#include <exec/types.h>
|
||||
ULONG __stack = (1024*1024)*2; // maybe not that much is needed actually ;)
|
||||
|
||||
/* The system supplied definition of SIG_IGN does not match */
|
||||
#undef SIG_IGN
|
||||
#define SIG_IGN (void (*)(int))1
|
||||
#endif /* __MORPHOS__ */
|
||||
|
||||
#ifdef __AMIGA__
|
||||
#warning add stack symbol to avoid that user needs to set stack manually (tokai)
|
||||
// ULONG __stack =
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#if defined(WITH_SDL)
|
||||
/* the mac implementation needs this file included in the same file as main() */
|
||||
|
@ -69,13 +54,7 @@ ULONG __stack = (1024*1024)*2; // maybe not that much is needed actually ;)
|
|||
|
||||
bool FiosIsRoot(const char *path)
|
||||
{
|
||||
#if !defined(__MORPHOS__) && !defined(__AMIGAOS__)
|
||||
return path[1] == '\0';
|
||||
#else
|
||||
/* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */
|
||||
const char *s = strchr(path, ':');
|
||||
return s != NULL && s[1] == '\0';
|
||||
#endif
|
||||
}
|
||||
|
||||
void FiosGetDrives(FileList &file_list)
|
||||
|
@ -106,15 +85,8 @@ bool FiosIsValidFile(const char *path, const struct dirent *ent, struct stat *sb
|
|||
{
|
||||
char filename[MAX_PATH];
|
||||
int res;
|
||||
#if defined(__MORPHOS__) || defined(__AMIGAOS__)
|
||||
/* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */
|
||||
if (FiosIsRoot(path)) {
|
||||
res = seprintf(filename, lastof(filename), "%s:%s", path, ent->d_name);
|
||||
} else // XXX - only next line!
|
||||
#else
|
||||
assert(path[strlen(path) - 1] == PATHSEPCHAR);
|
||||
if (strlen(path) > 2) assert(path[strlen(path) - 2] != PATHSEPCHAR);
|
||||
#endif
|
||||
res = seprintf(filename, lastof(filename), "%s%s", path, ent->d_name);
|
||||
|
||||
/* Could we fully concatenate the path and filename? */
|
||||
|
@ -296,36 +268,10 @@ bool GetClipboardContents(char *buffer, const char *last)
|
|||
|
||||
/* multi os compatible sleep function */
|
||||
|
||||
#ifdef __AMIGA__
|
||||
/* usleep() implementation */
|
||||
# include <devices/timer.h>
|
||||
# include <dos/dos.h>
|
||||
|
||||
extern struct Device *TimerBase = NULL;
|
||||
extern struct MsgPort *TimerPort = NULL;
|
||||
extern struct timerequest *TimerRequest = NULL;
|
||||
#endif /* __AMIGA__ */
|
||||
|
||||
void CSleep(int milliseconds)
|
||||
{
|
||||
#if defined(__BEOS__)
|
||||
snooze(milliseconds * 1000);
|
||||
#elif defined(__AMIGA__)
|
||||
{
|
||||
ULONG signals;
|
||||
ULONG TimerSigBit = 1 << TimerPort->mp_SigBit;
|
||||
|
||||
/* send IORequest */
|
||||
TimerRequest->tr_node.io_Command = TR_ADDREQUEST;
|
||||
TimerRequest->tr_time.tv_secs = (milliseconds * 1000) / 1000000;
|
||||
TimerRequest->tr_time.tv_micro = (milliseconds * 1000) % 1000000;
|
||||
SendIO((struct IORequest *)TimerRequest);
|
||||
|
||||
if (!((signals = Wait(TimerSigBit | SIGBREAKF_CTRL_C)) & TimerSigBit) ) {
|
||||
AbortIO((struct IORequest *)TimerRequest);
|
||||
}
|
||||
WaitIO((struct IORequest *)TimerRequest);
|
||||
}
|
||||
#else
|
||||
usleep(milliseconds * 1000);
|
||||
#endif
|
||||
|
|
|
@ -83,10 +83,3 @@ const byte _openttd_revision_tagged = !!ISTAG!!;
|
|||
* version, thus making comparisons on specific revisions easy.
|
||||
*/
|
||||
const uint32 _openttd_newgrf_version = 1 << 28 | 10 << 24 | 0 << 20 | !!ISSTABLETAG!! << 19 | 28004;
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
/**
|
||||
* Variable used by MorphOS to show the version.
|
||||
*/
|
||||
extern const char morphos_versions_tag[] = "$VER: OpenTTD !!VERSION!! (!!DATE!!) OpenTTD Team [MorphOS, PowerPC]";
|
||||
#endif
|
||||
|
|
|
@ -23,13 +23,6 @@
|
|||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
#ifdef stderr
|
||||
#undef stderr
|
||||
#endif
|
||||
#define stderr stdout
|
||||
#endif /* __MORPHOS__ */
|
||||
|
||||
#include "../safeguards.h"
|
||||
|
||||
/**
|
||||
|
|
34
src/stdafx.h
34
src/stdafx.h
|
@ -29,9 +29,9 @@
|
|||
|
||||
/* It seems that we need to include stdint.h before anything else
|
||||
* We need INT64_MAX, which for most systems comes from stdint.h. However, MSVC
|
||||
* does not have stdint.h and apparently neither does MorphOS.
|
||||
* does not have stdint.h.
|
||||
* For OSX the inclusion is already done in osx_stdafx.h. */
|
||||
#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER >= 1600) && !defined(__MORPHOS__)
|
||||
#if !defined(__APPLE__) && (!defined(_MSC_VER) || _MSC_VER >= 1600)
|
||||
#if defined(SUNOS)
|
||||
/* SunOS/Solaris does not have stdint.h, but inttypes.h defines everything
|
||||
* stdint.h defines and we need. */
|
||||
|
@ -104,30 +104,6 @@
|
|||
#include <alloca.h>
|
||||
#endif
|
||||
|
||||
#if defined(__MORPHOS__)
|
||||
/* MorphOS defines certain Amiga defines per default, we undefine them
|
||||
* here to make the rest of source less messy and more clear what is
|
||||
* required for morphos and what for AmigaOS */
|
||||
#if defined(amigaos)
|
||||
#undef amigaos
|
||||
#endif
|
||||
#if defined(__amigaos__)
|
||||
#undef __amigaos__
|
||||
# endif
|
||||
#if defined(__AMIGA__)
|
||||
#undef __AMIGA__
|
||||
#endif
|
||||
#if defined(AMIGA)
|
||||
#undef AMIGA
|
||||
#endif
|
||||
#if defined(amiga)
|
||||
#undef amiga
|
||||
#endif
|
||||
/* Act like we already included this file, as it somehow gives linkage problems
|
||||
* (mismatch linkage of C++ and C between this include and unistd.h). */
|
||||
#define CLIB_USERGROUP_PROTOS_H
|
||||
#endif /* __MORPHOS__ */
|
||||
|
||||
/* Stuff for GCC */
|
||||
#if defined(__GNUC__)
|
||||
#define NORETURN __attribute__ ((noreturn))
|
||||
|
@ -331,7 +307,7 @@
|
|||
typedef unsigned char byte;
|
||||
|
||||
/* This is already defined in unix, but not in QNX Neutrino (6.x)*/
|
||||
#if (!defined(UNIX) && !defined(__CYGWIN__) && !defined(__BEOS__) && !defined(__HAIKU__) && !defined(__MORPHOS__)) || defined(__QNXNTO__)
|
||||
#if (!defined(UNIX) && !defined(__CYGWIN__) && !defined(__BEOS__) && !defined(__HAIKU__)) || defined(__QNXNTO__)
|
||||
typedef unsigned int uint;
|
||||
#endif
|
||||
|
||||
|
@ -457,8 +433,8 @@ void NORETURN CDECL error(const char *str, ...) WARN_FORMAT(1, 2);
|
|||
#define OTTD_ASSERT
|
||||
#endif
|
||||
|
||||
#if defined(MORPHOS) || defined(__NDS__) || defined(__DJGPP__)
|
||||
/* MorphOS and NDS don't have C++ conformant _stricmp... */
|
||||
#if defined(__NDS__) || defined(__DJGPP__)
|
||||
/* DJGPP doesn't have C++ conformant _stricmp... */
|
||||
#define _stricmp stricmp
|
||||
#elif defined(OPENBSD)
|
||||
/* OpenBSD uses strcasecmp(3) */
|
||||
|
|
|
@ -30,13 +30,6 @@
|
|||
#include <direct.h>
|
||||
#endif /* _WIN32 || __WATCOMC__ */
|
||||
|
||||
#ifdef __MORPHOS__
|
||||
#ifdef stderr
|
||||
#undef stderr
|
||||
#endif
|
||||
#define stderr stdout
|
||||
#endif /* __MORPHOS__ */
|
||||
|
||||
#include "../table/strgen_tables.h"
|
||||
|
||||
#include "../safeguards.h"
|
||||
|
|
|
@ -1,197 +0,0 @@
|
|||
/* $Id$ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
* OpenTTD 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, version 2.
|
||||
* OpenTTD 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 OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** @file thread_morphos.cpp MorphOS implementation of Threads. */
|
||||
|
||||
#include "../stdafx.h"
|
||||
#include "thread.h"
|
||||
#include "../debug.h"
|
||||
#include "../core/alloc_func.hpp"
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <exec/types.h>
|
||||
#include <exec/rawfmt.h>
|
||||
#include <dos/dostags.h>
|
||||
|
||||
#include <proto/dos.h>
|
||||
#include <proto/exec.h>
|
||||
|
||||
#include "../safeguards.h"
|
||||
|
||||
/**
|
||||
* avoid name clashes with MorphOS API functions
|
||||
*/
|
||||
#undef Exit
|
||||
#undef Wait
|
||||
|
||||
|
||||
/**
|
||||
* NOTE: this code heavily depends on latest libnix updates. So make
|
||||
* sure you link with new stuff which supports semaphore locking of
|
||||
* the IO resources, else it will just go foobar.
|
||||
*/
|
||||
|
||||
|
||||
struct OTTDThreadStartupMessage {
|
||||
struct Message msg; ///< standard exec.library message (MUST be the first thing in the message struct!)
|
||||
OTTDThreadFunc func; ///< function the thread will execute
|
||||
void *arg; ///< functions arguments for the thread function
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Default OpenTTD STDIO/ERR debug output is not very useful for this, so we
|
||||
* utilize serial/ramdebug instead.
|
||||
*/
|
||||
void KPutStr(CONST_STRPTR format)
|
||||
{
|
||||
RawDoFmt(format, NULL, (void (*)())RAWFMTFUNC_SERIAL, NULL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* MorphOS version for ThreadObject.
|
||||
*/
|
||||
class ThreadObject_MorphOS : public ThreadObject {
|
||||
private:
|
||||
APTR m_thr; ///< System thread identifier.
|
||||
struct MsgPort *m_replyport;
|
||||
struct OTTDThreadStartupMessage m_msg;
|
||||
bool self_destruct;
|
||||
|
||||
public:
|
||||
/**
|
||||
* Create a sub process and start it, calling proc(param).
|
||||
*/
|
||||
ThreadObject_MorphOS(OTTDThreadFunc proc, void *param, self_destruct) :
|
||||
m_thr(0), self_destruct(self_destruct)
|
||||
{
|
||||
struct Task *parent;
|
||||
|
||||
KPutStr("[OpenTTD] Create thread...\n");
|
||||
|
||||
parent = FindTask(NULL);
|
||||
|
||||
/* Make sure main thread runs with sane priority */
|
||||
SetTaskPri(parent, 0);
|
||||
|
||||
/* Things we'll pass down to the child by utilizing NP_StartupMsg */
|
||||
m_msg.func = proc;
|
||||
m_msg.arg = param;
|
||||
|
||||
m_replyport = CreateMsgPort();
|
||||
|
||||
if (m_replyport != NULL) {
|
||||
struct Process *child;
|
||||
|
||||
m_msg.msg.mn_Node.ln_Type = NT_MESSAGE;
|
||||
m_msg.msg.mn_ReplyPort = m_replyport;
|
||||
m_msg.msg.mn_Length = sizeof(struct OTTDThreadStartupMessage);
|
||||
|
||||
child = CreateNewProcTags(
|
||||
NP_CodeType, CODETYPE_PPC,
|
||||
NP_Entry, ThreadObject_MorphOS::Proxy,
|
||||
NP_StartupMsg, (IPTR)&m_msg,
|
||||
NP_Priority, 5UL,
|
||||
NP_Name, (IPTR)"OpenTTD Thread",
|
||||
NP_PPCStackSize, 131072UL,
|
||||
TAG_DONE);
|
||||
|
||||
m_thr = (APTR) child;
|
||||
|
||||
if (child != NULL) {
|
||||
KPutStr("[OpenTTD] Child process launched.\n");
|
||||
} else {
|
||||
KPutStr("[OpenTTD] Couldn't create child process. (constructors never fail, yeah!)\n");
|
||||
DeleteMsgPort(m_replyport);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* virtual */ ~ThreadObject_MorphOS()
|
||||
{
|
||||
}
|
||||
|
||||
/* virtual */ bool Exit()
|
||||
{
|
||||
struct OTTDThreadStartupMessage *msg;
|
||||
|
||||
/* You can only exit yourself */
|
||||
assert(IsCurrent());
|
||||
|
||||
KPutStr("[Child] Aborting...\n");
|
||||
|
||||
if (NewGetTaskAttrs(NULL, &msg, sizeof(struct OTTDThreadStartupMessage *), TASKINFOTYPE_STARTUPMSG, TAG_DONE) && msg != NULL) {
|
||||
/* For now we terminate by throwing an error, gives much cleaner cleanup */
|
||||
throw OTTDThreadExitSignal();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* virtual */ void Join()
|
||||
{
|
||||
struct OTTDThreadStartupMessage *reply;
|
||||
|
||||
/* You cannot join yourself */
|
||||
assert(!IsCurrent());
|
||||
|
||||
KPutStr("[OpenTTD] Join threads...\n");
|
||||
KPutStr("[OpenTTD] Wait for child to quit...\n");
|
||||
WaitPort(m_replyport);
|
||||
|
||||
GetMsg(m_replyport);
|
||||
DeleteMsgPort(m_replyport);
|
||||
m_thr = 0;
|
||||
}
|
||||
|
||||
/* virtual */ bool IsCurrent()
|
||||
{
|
||||
return FindTask(NULL) == m_thr;
|
||||
}
|
||||
|
||||
private:
|
||||
/**
|
||||
* On thread creation, this function is called, which calls the real startup
|
||||
* function. This to get back into the correct instance again.
|
||||
*/
|
||||
static void Proxy()
|
||||
{
|
||||
struct Task *child = FindTask(NULL);
|
||||
struct OTTDThreadStartupMessage *msg;
|
||||
|
||||
/* Make sure, we don't block the parent. */
|
||||
SetTaskPri(child, -5);
|
||||
|
||||
KPutStr("[Child] Progressing...\n");
|
||||
|
||||
if (NewGetTaskAttrs(NULL, &msg, sizeof(struct OTTDThreadStartupMessage *), TASKINFOTYPE_STARTUPMSG, TAG_DONE) && msg != NULL) {
|
||||
try {
|
||||
msg->func(msg->arg);
|
||||
} catch(OTTDThreadExitSignal e) {
|
||||
KPutStr("[Child] Returned to main()\n");
|
||||
} catch(...) {
|
||||
NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
/* Quit the child, exec.library will reply the startup msg internally. */
|
||||
KPutStr("[Child] Done.\n");
|
||||
|
||||
if (self_destruct) delete this;
|
||||
}
|
||||
};
|
||||
|
||||
/* static */ bool ThreadObject::New(OTTDThreadFunc proc, void *param, ThreadObject **thread, const char *name)
|
||||
{
|
||||
ThreadObject *to = new ThreadObject_MorphOS(proc, param, thread == NULL);
|
||||
if (thread != NULL) *thread = to;
|
||||
return true;
|
||||
}
|
|
@ -496,8 +496,6 @@ static uint ConvertSdlKeyIntoMy(SDL_keysym *sym, WChar *character)
|
|||
if (sym->scancode == 41) key = WKC_BACKQUOTE;
|
||||
#elif defined(__APPLE__)
|
||||
if (sym->scancode == 10) key = WKC_BACKQUOTE;
|
||||
#elif defined(__MORPHOS__)
|
||||
if (sym->scancode == 0) key = WKC_BACKQUOTE; // yes, that key is code '0' under MorphOS :)
|
||||
#elif defined(__BEOS__)
|
||||
if (sym->scancode == 17) key = WKC_BACKQUOTE;
|
||||
#elif defined(__SVR4) && defined(__sun)
|
||||
|
|
Loading…
Reference in New Issue