From: "Marcus H. Mendenhall" <marcus.h.mendenhall@vanderbilt.edu>
To: contribute@opendx.org, linuxppc-dev@lists.linuxppc.org
Subject: DX on LinuxPPC (working, sort of!)
Date: Fri, 04 Jun 1999 16:45:41 -0500 [thread overview]
Message-ID: <37584905.8886A497@vanderbilt.edu> (raw)
[-- Attachment #1: Type: text/plain, Size: 661 bytes --]
I have sort of got a running copy of DX on my LinuxPPC R4 system on a
Powermac G3/300 running. There are some bizarre user interface bugs
(buttons keep getting bigger everytime a panel updates), but the diffs
attached below are at least enough to make it compile and run. For some
reason, I also have to manually start the server (dxexec -r &) and then
connect to port 1900 to get things working. A major problem was that
libpthreads breaks some internal handling of the errno global variable,
so I disabled it in the configure.in script for linuxppc.
If anyone else out there is working on this, please let me know.
Marcus Mendenhall
Vanderbilt University
[-- Attachment #2: Unknown Document --]
[-- Type: text/plain, Size: 8948 bytes --]
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/aclocal.m4 dx-4.0.1.mhm/aclocal.m4
--- dx-4.0.1/aclocal.m4 Thu May 27 15:43:09 1999
+++ dx-4.0.1.mhm/aclocal.m4 Fri Jun 4 15:20:02 1999
@@ -285,15 +285,18 @@
if test $unameS = "CYGWIN_95-4.0" ; then
ARCH=cygwin
fi
if test $unameS = "Linux" ; then
- isit=`echo $unameM | egrep "i.86"`
- if test ! -z "$isit" ; then
- ARCH=linux86
- else
- ARCH=unknown
- fi
- fi
+ isit=`echo $unameM | egrep "i.86"`
+ if test ! -z "$isit" ; then
+ ARCH=linux86
+ elif test $unameM = "ppc" ; then
+ ARCH="linuxppc"
+ else
+ ARCH=unknown
+ fi
+ fi
+
if test $unameS = "IRIX" || test $unameS = "IRIX64" ; then
ARCH=sgi
fi
if test $unameS = "AIX" ; then
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/bin/dx.workerscript dx-4.0.1.mhm/bin/dx.workerscript
--- dx-4.0.1/bin/dx.workerscript Wed Mar 24 09:17:20 1999
+++ dx-4.0.1.mhm/bin/dx.workerscript Wed Jun 2 09:54:52 1999
@@ -109,10 +109,15 @@
breaksw
case Linux:
- set exarch=linux86
- set uiarch=linux86
+ if ($thismach == "ppc") then
+ set exarch="linuxppc"
+ set uiarch="linuxppc"
+ else
+ set exarch=linux86
+ set uiarch=linux86
+ endif
set remote=/usr/bin/rsh
breaksw
@@ -1438,8 +1443,9 @@
case solaris:
case aviion:
case alphax:
case linux86:
+ case linuxppc:
breaksw
default:
echo "DX user interface does not run on this architecture"
if test $unameS = "Linux" ; then
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/configure.in dx-4.0.1.mhm/configure.in
--- dx-4.0.1/configure.in Thu May 27 15:32:01 1999
+++ dx-4.0.1.mhm/configure.in Fri Jun 4 15:19:56 1999
@@ -88,9 +88,13 @@
dnl A couple libs for cygwin
AC_CHECK_LIB(ICE, IceConnectionNumber)
AC_CHECK_LIB(SM, SmcSetProperties)
AC_CHECK_LIB(REXP, regcomp)
+
+if test "$ARCH" != "linuxppc" ; then
AC_CHECK_LIB(pthread, pthread_getspecific)
+fi
+
DX_CHECK_HEADERS(fcntl.h limits.h malloc.h strings.h sys/file.h sys/ioctl.h sys/time.h unistd.h sys/types.h sys/sysconfig.h sys/un.h values.h wait.h sys/wait.h sys/utsname.h signal.h sys/signal.h process.h sys/filio.h CC/osfcn.h CC/libc.h )
AC_CHECK_FUNCS(getcwd gethostname gettimeofday mkdir mkfifo mktime putenv re_comp regcmp select socket strcspn strdup strerror strspn strstr strtod strtol strtoul uname popen vfork trunc _popen spawnvp _spawnvp regcomp sysmp sysconf)
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/include/dx/arch.h dx-4.0.1.mhm/include/dx/arch.h
--- dx-4.0.1/include/dx/arch.h Mon May 10 10:45:10 1999
+++ dx-4.0.1.mhm/include/dx/arch.h Wed Jun 2 09:26:40 1999
@@ -106,9 +106,9 @@
/* program to run for remote shell */
#define RSH "/usr/bin/rsh"
-#ifdef linux86
+#if defined(linux86) || defined(linuxppc)
#undef F_CHAR_READY
#define F_CHAR_READY(fp) ((fp)->_IO_read_ptr < (fp)->_IO_read_end)
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/exec/dpexec/lex.c dx-4.0.1.mhm/src/exec/dpexec/lex.c
--- dx-4.0.1/src/exec/dpexec/lex.c Wed May 19 12:07:18 1999
+++ dx-4.0.1.mhm/src/exec/dpexec/lex.c Wed Jun 2 09:26:40 1999
@@ -9,9 +9,9 @@
#include <dxconfig.h>
/* this has to be before stdio.h gets included. */
-#if !defined(os2) && !defined(linux86)
+#if !defined(os2) && !defined(linux86) && !defined(linuxppc)
#ifdef GETC
#undef GETC
#endif
#define GETC getc
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/exec/dpexec/loader.c dx-4.0.1.mhm/src/exec/dpexec/loader.c
--- dx-4.0.1/src/exec/dpexec/loader.c Thu May 20 10:14:43 1999
+++ dx-4.0.1.mhm/src/exec/dpexec/loader.c Wed Jun 2 09:26:40 1999
@@ -84,9 +84,9 @@
#endif /* hp700 */
-#if defined(sun4) || defined(solaris) || defined(sgi) || defined(alphax) || defined(aviion) || defined(linux86) || defined(cygwin)
+#if defined(sun4) || defined(solaris) || defined(sgi) || defined(alphax) || defined(aviion) || defined(linux86) || defined(cygwin) || defined(linuxppc)
#include <dlfcn.h>
typedef void *Handle;
#define __HANDLE_DEF
@@ -101,9 +101,9 @@
#define dlerror _dlerror
#endif
-#endif /* sun4 or solaris or sgi or alpha or aviion of linux86 */
+#endif /* sun4 or solaris or sgi or alpha or aviion or linux86 or linuxppc */
/* default for unsupported platforms */
#ifndef __HANDLE_DEF
@@ -573,9 +573,9 @@
#endif /* hp700 */
-#if defined(sun4) || defined(solaris) || defined(sgi) || defined(alphax) || defined(aviion) || defined(linux86) || defined(cygwin)
+#if defined(sun4) || defined(solaris) || defined(sgi) || defined(alphax) || defined(aviion) || defined(linux86) || defined(cygwin) || defined(linuxppc)
#define __ROUTINES_DEF
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/exec/dxmods/_compoper1.c dx-4.0.1.mhm/src/exec/dxmods/_compoper1.c
--- dx-4.0.1/src/exec/dxmods/_compoper1.c Mon May 10 10:45:17 1999
+++ dx-4.0.1.mhm/src/exec/dxmods/_compoper1.c Wed Jun 2 09:26:40 1999
@@ -456,8 +456,11 @@
#endif
#ifdef cygwin
# define trunc(x) ((float)((int)(x)))
#endif
+#ifdef linuxppc
+# define trunc(x) ((float)((int)(x)))
+#endif
#ifdef linux86
# define trunc(x) ((float)((int)(x)))
#endif
#ifdef aviion
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/exec/libdx/memory.c dx-4.0.1.mhm/src/exec/libdx/memory.c
--- dx-4.0.1/src/exec/libdx/memory.c Thu May 27 10:53:48 1999
+++ dx-4.0.1.mhm/src/exec/libdx/memory.c Wed Jun 2 09:26:40 1999
@@ -1017,8 +1017,21 @@
#define SMALL(x) ((int)x<(int)large)
#define LARGE(x) ((int)x>=(int)large)
#endif
+#ifdef linuxppc
+#define initvalues
+#define SMALL_BASE 0 /* use data segment */
+#define SMALL_GET _dxfgetmem /* expand by using DosSetMem */
+#define LARGE_GET _dxfgetmem /* expand by using DosSetMem */
+#define LARGE_INIT 2 MEG /* doesn't matter; consistent w/ sgi */
+#define LARGE_INCR 2 MEG /* doesn't matter; consistent w/ sgi */
+#define SIZE_ROUND 2 MEG /* doesn't matter; consistent w/ sgi */
+#define MALLOC_NONE 1 /* provide malloc from global arena */
+#define SMALL(x) ((int)x<(int)large)
+#define LARGE(x) ((int)x>=(int)large)
+#endif
+
#ifdef DXD_WIN
#define initvalues
#define SMALL_BASE 0 /* use data segment */
#define SMALL_GET _dxfgetmem /* expand by using DosSetMem */
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/exec/libdx/message.c dx-4.0.1.mhm/src/exec/libdx/message.c
--- dx-4.0.1/src/exec/libdx/message.c Mon May 10 10:45:45 1999
+++ dx-4.0.1.mhm/src/exec/libdx/message.c Wed Jun 2 09:26:40 1999
@@ -270,9 +270,9 @@
void
DXPrintError(char *s)
{
extern int sys_nerr;
-#ifndef linux86
+#if !HAVE_SYS_ERRLIST
extern char *sys_errlist[];
#endif
char *msg, *errnomsg;
static int been_here = 0;
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/ui++/dxuilib/Network.C dx-4.0.1.mhm/src/ui++/dxuilib/Network.C
--- dx-4.0.1/src/ui++/dxuilib/Network.C Tue May 25 19:38:25 1999
+++ dx-4.0.1.mhm/src/ui++/dxuilib/Network.C Wed Jun 2 09:26:40 1999
@@ -1184,9 +1184,9 @@
{
extern
FILE* yyin; /* parser input stream */
-#if defined(linux86) || defined(cygwin)
+#if defined(linux86) || defined(cygwin) || defined(linuxppc)
int yylineno;
#else
extern int yylineno; /* lexer line number */
#endif
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/ui++/dxuilib/PacketIF.C dx-4.0.1.mhm/src/ui++/dxuilib/PacketIF.C
--- dx-4.0.1/src/ui++/dxuilib/PacketIF.C Mon May 10 10:46:16 1999
+++ dx-4.0.1.mhm/src/ui++/dxuilib/PacketIF.C Wed Jun 2 09:26:40 1999
@@ -21,9 +21,9 @@
#include "Application.h"
#include "ErrorDialogManager.h"
-#if defined(linux86) || defined(cygwin)
+#if defined(linux86) || defined(cygwin) || defined(linuxppc)
extern "C" {
#include <errno.h>
}
#else
@@ -1361,9 +1361,9 @@
ushort port;
int fd;
int sts;
int oldPort;
-#if !defined(linux86) && !defined(cygwin)
+#if !defined(linux86) && !defined(cygwin) && !defined(linuxppc)
extern int errno;
#endif
int tries;
fd_set fds;
diff -r -U4 -x Makefile -x *.o -x *.a -x *.so dx-4.0.1/src/ui++/startup/StartupWindow.C dx-4.0.1.mhm/src/ui++/startup/StartupWindow.C
--- dx-4.0.1/src/ui++/startup/StartupWindow.C Mon May 10 10:46:29 1999
+++ dx-4.0.1.mhm/src/ui++/startup/StartupWindow.C Wed Jun 2 09:26:40 1999
@@ -64,9 +64,9 @@
// went away and that it's ok to start another one when the user asks.
// On these platforms, the pipe doesn't work that way so we'll make a
// polling loop that runs once every few seconds and checks the child pid.
//
-#if defined(ibm6000) || defined(hp700) || defined(alphax) || defined(sun4) || defined(linux86) || defined(cygwin)
+#if defined(ibm6000) || defined(hp700) || defined(alphax) || defined(sun4) || defined(linux86) || defined(cygwin) || defined(linuxppc)
#define USE_WAIT3 1
#endif
#if USE_WAIT3
reply other threads:[~1999-06-04 21:45 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=37584905.8886A497@vanderbilt.edu \
--to=marcus.h.mendenhall@vanderbilt.edu \
--cc=contribute@opendx.org \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.