diff -urN molmol_orig/makedef molmol/makedef --- molmol_orig/makedef 1969-12-31 16:00:00.000000000 -0800 +++ molmol/makedef 2005-05-28 09:44:47.000000000 -0700 @@ -0,0 +1,60 @@ + TIFFDIR = @PREFIX@/lib + + JPEGDIR = @PREFIX@/lib + + PNGDIR = @PREFIX@/lib + ZLIBDIR = /usr/lib + +# If you configured any of the above three image formats, uncomment +# the following four lines, and delete the non-relevant parts if +# necessary, i. e. if you did not configure all three formats. +# + IMGDEF = -DTIFF_SUPPORT -DJPEG_SUPPORT -DPNG_SUPPORT + IMGINCL = -I$(TIFFDIR) -I$(JPEGDIR) -I$(PNGDIR) -I$(ZLIBDIR) + IMGLIB = $(TIFFDIR)/libtiff.3.dylib $(JPEGDIR)/libjpeg.dylib \ + $(PNGDIR)/libpng.dylib $(ZLIBDIR)/libz.dylib + +# Some systems do not have the float versions of various math functions, +# uncomment the following lines if this is the case + + MISSFUNC = -Dsqrtf=sqrt -Dexpf=exp -Dlogf=log \ + -Dsinf=sin -Dcosf=cos \ + -Dfabsf=fabs -DMAXINT=INT_MAX + + # -Dceilf=ceil + +CPP = /usr/bin/cpp + +MCPPFLAGS = $(MISSFUNC) -I/usr/X11R6/include -I@PREFIX@/include -no-cpp-precomp -bind_at_load + +CC = /usr/bin/gcc + +MCFLAGS = -O -bind_at_load + +RANLIB = /usr/bin/ranlib + +WAIT = /bin/sleep 2 + +SHELL = /bin/sh + +SGDEVDIR = ogl x11 no pov rib vrml1 vrml2 ps fm + +SGDEVDEF = -DSG_DEV_OGL -DSG_DEV_X11 -DSG_DEV_NO -DSG_DEV_POV -DSG_DEV_RIB -DSG_DEV_VRML1 -DSG_DEV_VRML2 -DSG_DEV_PS -DSG_DEV_CPS -DSG_DEV_FM3 -DSG_DEV_FM4 + +PUDEVDIR = motif tty + +PUDEVDEF = -DPU_DEV_MOTIF -DPU_DEV_TTY + +IODEVDIR = motx11 motogl ttyno + +IODEVDEF = -DIO_DEV_MOTIF_X11 -DIO_DEV_MOTIF_OGL -DIO_DEV_TTY_NO + + +MOTIFDEF = -DFUNCPROTO + +SYSLIB = -L/usr/lib -L@PREFIX@/lib -L/usr/X11R6/lib \ + -lX11 -lXm -lXmu -lXt -lXp -lXpm -lX11 -lXext \ + -lSM -lICE -lm -lc -lGLU -lGL -lGLw -lmx + +TOOLSDIR = $(TOP)/tools +SGDIR = $(TOP)/sg diff -urN molmol_orig/molmol molmol/molmol --- molmol_orig/molmol 2003-01-20 17:44:58.000000000 -0800 +++ molmol/molmol 2005-05-28 09:44:48.000000000 -0700 @@ -1,9 +1,9 @@ -#!/bin/ksh +#!/bin/zsh # # startup script for MOLMOL # -MOLMOLHOME=/opt/group/MOLMOL +MOLMOLHOME=@PREFIX@/share/molmol export MOLMOLHOME export MOLMOLDEV @@ -11,55 +11,8 @@ osrel=`uname -r` osmaj=`echo $osrel | awk -F. '{print $1}'` osmin=`echo $osrel | awk -F. '{print $2}'` -localdev= -glxdev= - -if [ $ostype = "IRIX" -o $ostype = "IRIX64" ]; then - if [ $osmaj -eq 6 -a $osmin -ge 2 -o $osmaj -gt 6 ]; then - arch=sgi6 - localdev=Motif/OpenGL - glxdev=Motif/OpenGL - elif [ $osmaj -eq 5 -a $osmin -ge 3 -o $osmaj -gt 5 ]; then - arch=sgi5 - localdev=Motif/OpenGL - glxdev=Motif/OpenGL - else - arch=sgi4 - localdev=Motif/GL - fi - MONITOR=72HZ; export MONITOR -elif [ $ostype = "AIX" ]; then - arch=aix - localdev=Motif/OpenGL -elif [ $ostype = "HP-UX" ]; then - arch=hp - localdev=Motif/OpenGL - glxdev=Motif/OpenGL -elif [ $ostype = "OSF1" ]; then - arch=dec - localdev=Motif/OpenGL -elif [ $ostype = "Linux" ]; then - arch=lnx - localdev=Motif/OpenGL -elif [ $ostype = "SunOS" ]; then - if [ $osmaj -eq 5 -a $osmin -ge 4 -o $osmaj -gt 5 ]; then - arch=sol - localdev=Motif/OpenGL - else - arch=sun - fi -else - arch=unknown -fi - -if [ $ostype = "SunOS" ]; then - xdpy=/usr/openwin/bin/xdpyinfo -elif [ $ostype = "HP-UX" ]; then - xdpy=/usr/contrib/bin/X11/xdpyinfo -else - xdpy=/usr/bin/X11/xdpyinfo -fi - +localdev=Motif/OpenGL +glxdev=Motif/OpenGL printUsage () { echo "Usage: molmol -ht2as [-o dev] [-r range] [-f macro] files" echo "" @@ -209,7 +162,7 @@ fi if [ "$input" = "-" -o -n "$nograph" ]; then - $MOLMOLHOME/molmol.$arch $xopt + echo "LineBond solid 1 " >>| $startmacro ; @PREFIX@/share/molmol/src/main/molmol $xopt else - $MOLMOLHOME/molmol.$arch $xopt < /dev/null + echo "LineBond solid 1 " >>| $startmacro ; @PREFIX@/share/molmol/src/main/molmol $xopt < /dev/null fi diff -urN molmol_orig/molmol.orig molmol/molmol.orig --- molmol_orig/molmol.orig 1969-12-31 16:00:00.000000000 -0800 +++ molmol/molmol.orig 2005-05-28 09:44:48.000000000 -0700 @@ -0,0 +1,215 @@ +#!/bin/ksh +# +# startup script for MOLMOL +# + +MOLMOLHOME=/opt/group/MOLMOL +export MOLMOLHOME +export MOLMOLDEV + +ostype=`uname` +osrel=`uname -r` +osmaj=`echo $osrel | awk -F. '{print $1}'` +osmin=`echo $osrel | awk -F. '{print $2}'` +localdev= +glxdev= + +if [ $ostype = "IRIX" -o $ostype = "IRIX64" ]; then + if [ $osmaj -eq 6 -a $osmin -ge 2 -o $osmaj -gt 6 ]; then + arch=sgi6 + localdev=Motif/OpenGL + glxdev=Motif/OpenGL + elif [ $osmaj -eq 5 -a $osmin -ge 3 -o $osmaj -gt 5 ]; then + arch=sgi5 + localdev=Motif/OpenGL + glxdev=Motif/OpenGL + else + arch=sgi4 + localdev=Motif/GL + fi + MONITOR=72HZ; export MONITOR +elif [ $ostype = "AIX" ]; then + arch=aix + localdev=Motif/OpenGL +elif [ $ostype = "HP-UX" ]; then + arch=hp + localdev=Motif/OpenGL + glxdev=Motif/OpenGL +elif [ $ostype = "OSF1" ]; then + arch=dec + localdev=Motif/OpenGL +elif [ $ostype = "Linux" ]; then + arch=lnx + localdev=Motif/OpenGL +elif [ $ostype = "SunOS" ]; then + if [ $osmaj -eq 5 -a $osmin -ge 4 -o $osmaj -gt 5 ]; then + arch=sol + localdev=Motif/OpenGL + else + arch=sun + fi +else + arch=unknown +fi + +if [ $ostype = "SunOS" ]; then + xdpy=/usr/openwin/bin/xdpyinfo +elif [ $ostype = "HP-UX" ]; then + xdpy=/usr/contrib/bin/X11/xdpyinfo +else + xdpy=/usr/bin/X11/xdpyinfo +fi + +printUsage () { + echo "Usage: molmol -ht2as [-o dev] [-r range] [-f macro] files" + echo "" + echo " -h print this message" + echo " -t TTY interface (no graphics)" + echo " -o name alternate input/output device" + echo " -2 stereo mode (OpenGL only)" + echo " -a display all atoms instead of backbone" + echo " -s superimpose complete backbone" + echo " -r range superimpose backbone of given range" + echo " -f file execute macro file (- for standard input)" + echo " files DG, PDB, Angle or Dump files" +} + +nograph= +xopt= +bb=y +super= +range= +input= +while getopts hto:2asr:f: option; do + case $option in + h) printUsage + exit 0;; + t) nograph=y;; + 2) xopt=-stereo;; + a) bb=;; + s) super=y;; + r) range=$OPTARG;; + f) input=$OPTARG;; + o) MOLMOLDEV=$OPTARG;; + *) printUsage + echo "" + echo "passing unknown options to Xt" + break;; + esac +done +shift `expr $OPTIND - 1` + +display=$DISPLAY + +while [ -n "$*" ]; do + case $1 in + -bg | -ba*) xopt="$xopt $1 $2"; shift 2;; + -bd) xopt="$xopt $1 $2"; shift 2;; + -bw | -borderw*) xopt="$xopt $1 $2"; shift 2;; + -borderc*) xopt="$xopt $1 $2"; shift 2;; + -d*) xopt="$xopt $1 $2"; display=$2; shift 2;; + -fg | -for*) xopt="$xopt $1 $2"; shift 2;; + -fn | -fon*) xopt="$xopt $1 $2"; shift 2;; + -g*) xopt="$xopt $1 $2"; shift 2;; + -n*) xopt="$xopt $1 $2"; shift 2;; + -t*) xopt="$xopt $1 $2"; shift 2;; + -x*) xopt="$xopt $1 $2"; shift 2;; + -* | +*) xopt="$xopt $1"; shift;; + *) break;; + esac +done + +magictmp=/tmp/molmol_magic$$ + +if [ ! -d $HOME/molmol ]; then + mkdir $HOME/molmol +fi +startmacro=$HOME/molmol/options.mac +cp /dev/null $startmacro + +if [ -n "$*" ]; then + if [ -f $HOME/molmol/dump ]; then + mv -f $HOME/molmol/dump $HOME/molmol/dump.old + fi + echo "0 long 0x3b7a12f9 MOLMOL" > $magictmp + echo "0 long 0xf9127a3b MOLMOL" >> $magictmp + ( + for i in $*; do + case `file -m $magictmp $i` in + *MOLMOL) echo "ReadDump $i" + bb= + continue;; + esac + line1=`awk '/^@/ {print; exit}; NR > 20 {exit}' $i` + case $line1 in + @\*) echo "ReadSybyl $i" + bb= + continue;; + esac + line1=`awk 'NR == 1; NR > 1 {exit}' $i` + case $line1 in + \#*) echo "ReadAng $i" + continue;; + esac + line4=`awk 'NR == 4 {print $1}; NR > 4 {exit}' $i` + case $line4 in + [A-Z]|[A-Z][A-Za-z]) echo "ReadXyz $i" + bb= + continue;; + [A-Z]*) echo "ReadPdb $i" + continue;; + esac + echo "ReadDg $i" + done + if [ -n "$range" ]; then + echo "SelectAtom ':$range && bb'" + echo "Fit to_first" + echo "SelectAtom ''" + fi + if [ -n "$super" ]; then + echo "SelectAtom 'bb'" + echo "Fit to_first" + echo "SelectAtom ''" + fi + if [ -n "$bb" ]; then + echo "SelectBond '! bb'" + echo "StyleBond invisible" + echo "SelectBond 'bb'" + fi + ) >> $startmacro +fi + +if [ -n "$input" -a "$input" != "-" ]; then + if [ -r $input ]; then + echo "XMacUser $input" >> $startmacro + else + echo "XMacStand $input" >> $startmacro + fi +fi + +trap "rm -f $startmacro $magictmp" 0 1 2 15 + +if [ -n "$nograph" ]; then + MOLMOLDEV=TTY/NO +elif [ -n "$MOLMOLDEV" ]; then + true # already set +elif [ -n "$localdev" -a \( $display = ":0" -o $display = ":0.0" \) ]; then + MOLMOLDEV=$localdev +elif [ -x $xdpy ]; then + xdpyout=`$xdpy -d $display 2>&1 | egrep 'GLX|unable'` + case $xdpyout in + *unable*) MOLMOLDEV=TTY/NO + nograph=y + continue;; + *GLX*) if [ -n "$glxdev" ]; then + MOLMOLDEV=$glxdev + fi + continue;; + esac +fi + +if [ "$input" = "-" -o -n "$nograph" ]; then + $MOLMOLHOME/molmol.$arch $xopt +else + $MOLMOLHOME/molmol.$arch $xopt < /dev/null +fi diff -urN molmol_orig/src/iodev/IODev.c molmol/src/iodev/IODev.c --- molmol_orig/src/iodev/IODev.c 2001-05-27 14:03:30.000000000 -0700 +++ molmol/src/iodev/IODev.c 2005-05-28 11:03:09.000000000 -0700 @@ -44,7 +44,6 @@ #endif #ifdef IO_DEV_MOTIF_OGL extern void IOMotifOGLSetDev(void); -extern void IOMotifOGLDSetDev(void); #endif #ifdef IO_DEV_MOTIF_XGL extern void IOMotifXGLSetDev(void); @@ -76,7 +75,6 @@ #endif #ifdef IO_DEV_MOTIF_OGL {"Motif/OpenGL", IOMotifOGLSetDev}, - {"Motif/OpenGLD", IOMotifOGLDSetDev}, #endif #ifdef IO_DEV_MOTIF_XGL {"Motif/XGL", IOMotifXGLSetDev}, diff -urN molmol_orig/src/iodev/IODev.c-dist molmol/src/iodev/IODev.c-dist --- molmol_orig/src/iodev/IODev.c-dist 1969-12-31 16:00:00.000000000 -0800 +++ molmol/src/iodev/IODev.c-dist 2005-05-28 09:44:50.000000000 -0700 @@ -0,0 +1,149 @@ +/* +************************************************************************ +* +* IODev.c - management of I/O devices +* +* Copyright (c) 1994 +* +* ETH Zuerich +* Institut fuer Molekularbiologie und Biophysik +* ETH-Hoenggerberg +* CH-8093 Zuerich +* +* SPECTROSPIN AG +* Industriestr. 26 +* CH-8117 Faellanden +* +* All Rights Reserved +* +* Date of last modification : 01/05/27 +* Pathname of SCCS file : /tmp_mnt/net/sn/homeb/rkoradi/molmol-master/src/iodev/SCCS/s.IODev.c +* SCCS identification : 1.10 +* +************************************************************************ +*/ + +#include +#include + +#include + +#include +#include +#include + +#ifdef IO_DEV_TTY_NO +extern void IOTTYNOSetDev(void); +#endif +#ifdef IO_DEV_MOTIF_X11 +extern void IOMotifX11SetDev(void); +#endif +#ifdef IO_DEV_MOTIF_GL +extern void IOMotifGLSetDev(void); +extern void IOMotifGLDSetDev(void); +#endif +#ifdef IO_DEV_MOTIF_OGL +extern void IOMotifOGLSetDev(void); +extern void IOMotifOGLDSetDev(void); +#endif +#ifdef IO_DEV_MOTIF_XGL +extern void IOMotifXGLSetDev(void); +#endif +#ifdef IO_DEV_WIN_OGL +extern void IOWinOGLSetDev(void); +extern void IOWinOGLDSetDev(void); +#endif + +IODev *CurrIODevP; + +typedef void (*DevSetF) (void); + +typedef struct { + char *name; + DevSetF set; +} DevListEntry; + +static DevListEntry DevList[] = { +#ifdef IO_DEV_TTY_NO + {"TTY/NO", IOTTYNOSetDev}, +#endif +#ifdef IO_DEV_MOTIF_X11 + {"Motif/X11", IOMotifX11SetDev}, +#endif +#ifdef IO_DEV_MOTIF_GL + {"Motif/GL", IOMotifGLSetDev}, + {"Motif/GLD", IOMotifGLDSetDev}, +#endif +#ifdef IO_DEV_MOTIF_OGL + {"Motif/OpenGL", IOMotifOGLSetDev}, + {"Motif/OpenGLD", IOMotifOGLDSetDev}, +#endif +#ifdef IO_DEV_MOTIF_XGL + {"Motif/XGL", IOMotifXGLSetDev}, +#endif +#ifdef IO_DEV_WIN_OGL + {"Windows/OpenGL", IOWinOGLSetDev}, + {"Windows/OpenGLD", IOWinOGLDSetDev}, +#endif +}; + +IORes +IOSetDevice(char *devName) +{ + int listSize, i; + + listSize = sizeof(DevList) / sizeof(DevList[0]); + + for (i = 0; i < listSize; i++) + if (strcmp(DevList[i].name, devName) == 0) { + DevList[i].set(); + PuSetDevice(CurrIODevP->puDevName); + SgSetDevice(CurrIODevP->sgDevName); + return IO_RES_OK; + } + + return IO_RES_ERR; +} + +IORes +IOInit(char *appName, int *argcP, char *argv[]) +{ + return CurrIODevP->init(appName, argcP, argv); +} + +IORes +IOCleanup(void) +{ + return CurrIODevP->cleanup(); +} + +IORes +IOSetWindow(PuWindow win) +{ + PuSetWindow(win); + return CurrIODevP->setWindow(win); +} + +void +IOEndFrame(void) +{ + CurrIODevP->endFrame(); +} + +IORes +IOStartDump(char *format, char *fileName, + SgPlotOrient orient, int w, int h, int quality, float gamma) +{ + if (CurrIODevP->startDump == NULL) { + IORaiseError("dumping of image not supported by IO device"); + return IO_RES_ERR; + } + + return CurrIODevP->startDump(format, fileName, orient, w, h, quality, gamma); +} + +IORes +IOEndDump(void) +{ + return CurrIODevP->endDump(); +} diff -urN molmol_orig/src/motogl/MotOGL.c molmol/src/motogl/MotOGL.c --- molmol_orig/src/motogl/MotOGL.c 2000-05-29 09:31:51.000000000 -0700 +++ molmol/src/motogl/MotOGL.c 2005-05-28 09:44:50.000000000 -0700 @@ -31,7 +31,7 @@ #include #define BOOL MOTIF_BOOL /* hack to avoid naming conflict */ -#include +#include #undef BOOL #include diff -urN molmol_orig/src/os/GFile.c molmol/src/os/GFile.c --- molmol_orig/src/os/GFile.c 2001-06-17 11:59:17.000000000 -0700 +++ molmol/src/os/GFile.c 2005-05-28 11:04:20.000000000 -0700 @@ -38,7 +38,6 @@ const INT32 GFMagic = 0x3b7a12f9; #ifndef __linux__ -extern char *sys_errlist[]; #endif extern int errno; diff -urN molmol_orig/tools/include/values.h molmol/tools/include/values.h --- molmol_orig/tools/include/values.h 1969-12-31 16:00:00.000000000 -0800 +++ molmol/tools/include/values.h 2005-05-28 09:44:52.000000000 -0700 @@ -0,0 +1,2 @@ +#include +#include