Commit ef1f7dea authored by hrchilds's avatar hrchilds

Update from October 15, 2003

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@99 18c085ea-50e0-402c-830e-de6fd14e8384
parent d5d42e9b
......@@ -44,6 +44,7 @@ operating systems. It is suggested that you use the same compilers.
Operating System Compiler
================ ========
AIX 5.1 g++ 3.1
Darwin 6.5 g++ 3.1
IRIX64 6.5 MIPSpro 7.3.1.1m and MIPSpro 7.3.1.2m
Redhat Linux 7.1 and 7.2 g++ 2.96
Solaris 7 g++ 2.95.2
......@@ -99,6 +100,7 @@ cd Mesa-5.0
# directory.
#
# make aix for IBM RS/6000
# make darwin for Macintosh systems running MacOS X
# make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs
# make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs
# make linux for Linux systems, make shared .so libs
......
......@@ -206,6 +206,9 @@ $0 = shift @ARGV;
# Mark C. Miller, 01May03
# Added -numrestarts option to viewer
#
# Brad Whitlock, Thu May 15 13:53:09 PST 2003
# Added support for MacOS X (Darwin).
#
# Jeremy Meredith, Wed Apr 2 10:51:33 PST 2003
# Added number of nodes to prun (needed by Q machine).
#
......@@ -269,6 +272,9 @@ $0 = shift @ARGV;
# SSH2_CLIENT, or SSH_CONNECTION environment variables.
# Added ia64 linux machine type.
#
# Brad Whitlock, Thu Aug 21 14:34:42 PST 2003
# Added support for MacOS X.
#
###############################################################################
......@@ -721,6 +727,11 @@ for ($os) {
$launch = "mpirun" if ($procs_set && $launch eq "");
last;
};
/darwin/ && do {
$archdir = "darwin-ppc";
$launch = "mpirun" if ($procs_set && $launch eq "");
last;
};
/tflops/ && do {
$archdir = "intel-tflops-ppro";
$launch = "yod" if ($procs_set && $launch eq "");
......@@ -786,9 +797,14 @@ if (-e "$visitdir/bin/$exe_name" ||
$visitarchdir = "$visitdir";
$visitbindir = "$visitdir/bin";
if($os eq "darwin" and ($exe_name eq "gui" or $exe_name eq "viewer" or $exe_name eq "xmledit" or $exe_name eq "silex"))
{
$visitbindir = "$visitbindir/$exe_name.app/Contents/MacOS";
}
$visitlibdir = "$visitdir/lib";
$visithelpdir = "$visitdir/help";
$visitplugins = "$visitdir/plugins";
$visitframeworks = "$visitdir/Frameworks";
$publicversion = 0;
# Set the version to nothing because we're running the component that
......@@ -853,9 +869,14 @@ else
$visitdir = "$visitdir/$ver";
$visitarchdir = "$visitdir/$archdir";
$visitbindir = "$visitdir/$archdir/bin";
if($os eq "darwin" and ($exe_name eq "gui" or $exe_name eq "viewer" or $exe_name eq "xmledit" or $exe_name eq "silex"))
{
$visitbindir = "$visitbindir/$exe_name.app/Contents/MacOS";
}
$visitlibdir = "$visitdir/$archdir/lib";
$visithelpdir = "$visitdir/$archdir/help";
$visitplugins = "$visitdir/$archdir/plugins";
$visitframeworks = "$visitdir/$archdir/Frameworks";
$publicversion = 1;
# Parse the version
......@@ -918,6 +939,14 @@ $ENV{LD_LIBRARYN32_PATH} = "$visitlibdir:$ENV{LD_LIBRARYN32_PATH}";
$ENV{LD_LIBRARY64_PATH} = "$visitlibdir:$ENV{LD_LIBRARY64_PATH}";
$ENV{LIBPATH} = "$visitlibdir:$ENV{LIBPATH}";
# Set up some environment flags that let VisIt run on Darwin.
if($os eq "darwin")
{
$ENV{DYLD_LIBRARY_PATH} = "$visitlibdir:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries:$ENV{DYLD_LIBRARY_PATH}";
$ENV{DYLD_BIND_AT_LAUNCH} = "1";
$ENV{DYLD_FRAMEWORK_PATH} = "$visitframeworks:${DYLD_FRAMEWORK_PATH}";
}
# Set up plugin search paths in the correct order
$visitprivateplugins = "$ENV{HOME}/.visit/$archdir/plugins";
if ($publiconly)
......@@ -1149,6 +1178,7 @@ else
print GDBFILE "directory $ENV{VISITHOME}/common/comm\n";
print GDBFILE "directory $ENV{VISITHOME}/common/state\n";
print GDBFILE "directory $ENV{VISITHOME}/common/misc\n";
print GDBFILE "directory $ENV{VISITHOME}/common/parser\n";
print GDBFILE "directory $ENV{VISITHOME}/common/plugin\n";
print GDBFILE "directory $ENV{VISITHOME}/common/utility\n";
print GDBFILE "directory $ENV{VISITHOME}/common/winutil\n";
......@@ -1192,7 +1222,6 @@ else
print GDBFILE "directory $ENV{VISITHOME}/mdserver/proxy\n";
print GDBFILE "directory $ENV{VISITHOME}/mdserver/rpc\n";
print GDBFILE "directory $ENV{VISITHOME}/viewer/main\n";
print GDBFILE "directory $ENV{VISITHOME}/common/parser\n";
print GDBFILE "directory $ENV{VISITHOME}/viewer/proxy\n";
print GDBFILE "directory $ENV{VISITHOME}/viewer/rpc\n";
print GDBFILE "directory $ENV{VISITHOME}/visitpy\n";
......
#!/bin/csh -f
###############################################################################
# Purpose:
# This script creates bundle directories, which are required for VisIt to
# run correctly on MacOS X. Without bundles, VisIt can't respond to mouse
# input.
#
# Programmer: Brad Whitlock
# Date: Fri Aug 29 13:46:10 PST 2003
#
###############################################################################
set VISITTOP = `pwd`
set VISITBIN = "$VISITTOP/bin"
set VISITLIB = "$VISITTOP/lib"
set VISITINCLUDE = "$VISITTOP/include"
if -e $VISITBIN then
# This is kind of a hack, but create the top level Frameworks directory
# because the visit script needs it to run xml2makefile without having
# to set the DYLD_LIBRARY_PATH beforehand. Without this step, configure
# fails when trying to create plugin Makefiles.
if -e Frameworks then
rm -rf Frameworks
endif
mkdir Frameworks
cp lib/libqt.dylib Frameworks/libqt.3.dylib
# Get the version and cd into the bin directory.
set VERSION = `cat VERSION`
cd $VISITBIN
##
## Create the GUI bundle.
##
if -e gui.app then
rm -f gui.app/Contents/{bin,lib}
rm -rf gui.app
endif
mkdir gui.app
mkdir gui.app/Contents
mkdir gui.app/Contents/MacOS
ln -s $VISITBIN gui.app/Contents/bin
ln -s $VISITLIB gui.app/Contents/lib
ln -s $VISITBIN/gui gui.app/Contents/MacOS/gui
ln -s $VISITBIN/visit gui.app/Contents/MacOS/visit
sed "s/PROGRAMNAME/VisIt/g" $VISITINCLUDE/Info.plist | sed "s/VERSION/$VERSION/g" > gui.app/Contents/Info.plist
echo "APPL????" > gui.app/Contents/PkgInfo
##
## Create the viewer bundle.
##
if -e viewer.app then
rm -f viewer.app/Contents/{bin,lib}
rm -rf viewer.app
endif
mkdir viewer.app
mkdir viewer.app/Contents
mkdir viewer.app/Contents/MacOS
ln -s $VISITBIN viewer.app/Contents/bin
ln -s $VISITLIB viewer.app/Contents/lib
ln -s $VISITBIN/viewer viewer.app/Contents/MacOS/viewer
ln -s $VISITBIN/visit viewer.app/Contents/MacOS/visit
sed "s/PROGRAMNAME/VisIt Viewer/g" $VISITINCLUDE/Info.plist | sed "s/VERSION/$VERSION/g" > viewer.app/Contents/Info.plist
echo "APPL????" > viewer.app/Contents/PkgInfo
##
## Create the silex bundle.
##
if -e silex.app then
rm -f silex.app/Contents/{bin,lib}
rm -rf silex.app
endif
mkdir silex.app
mkdir silex.app/Contents
mkdir silex.app/Contents/MacOS
ln -s $VISITBIN silex.app/Contents/bin
ln -s $VISITLIB silex.app/Contents/lib
ln -s $VISITBIN/silex silex.app/Contents/MacOS/silex
ln -s $VISITBIN/visit silex.app/Contents/MacOS/visit
sed "s/PROGRAMNAME/Silex/g" $VISITINCLUDE/Info.plist | sed "s/VERSION/$VERSION/g" > silex.app/Contents/Info.plist
echo "APPL????" > silex.app/Contents/PkgInfo
##
## Create the xmledit bundle.
##
if -e xmledit.app then
rm -f xmledit.app/Contents/{bin,lib}
rm -rf xmledit.app
endif
mkdir xmledit.app
mkdir xmledit.app/Contents
mkdir xmledit.app/Contents/MacOS
ln -s $VISITBIN xmledit.app/Contents/bin
ln -s $VISITLIB xmledit.app/Contents/lib
ln -s $VISITBIN/xmledit xmledit.app/Contents/MacOS/xmledit
ln -s $VISITBIN/visit xmledit.app/Contents/MacOS/visit
sed "s/PROGRAMNAME/XMLEdit/g" $VISITINCLUDE/Info.plist | sed "s/VERSION/$VERSION/g" > xmledit.app/Contents/Info.plist
echo "APPL????" > xmledit.app/Contents/PkgInfo
else
@echo "The makebundles script must be run from the top level VisIt directory."
endif
......@@ -136,6 +136,10 @@
# Jeremy Meredith, Thu Oct 9 15:44:43 PDT 2003
# Added ia64 linux machine name.
#
# Brad Whitlock, Wed Oct 8 09:33:44 PDT 2003
# Added support for MacOS X. Added darwin-ppc and removed
# tflops-intel-ppro since we probably won't ever run there.
#
#-----------------------------------------------------------------------
set DataFiles = "TRUE"
......@@ -144,7 +148,7 @@ set MesaLibs = "TRUE"
set VTKLibs = "TRUE"
set PythonExe = "TRUE"
set Compress = GZIP
set VisItDir = .
set VisItDir = `pwd`
set OSGiven = "FALSE"
set Strip = "TRUE"
set Help = "FALSE"
......@@ -239,7 +243,8 @@ endif
# Determine the operating system.
#
if("$OSGiven" == "FALSE") then
set os = `/bin/uname -s | tr "[A-Z]" "[a-z]" | tr -d "[0-9]"`
set uname = `which uname`
set os = `$uname -s | tr "[A-Z]" "[a-z]" | tr -d "[0-9]"`
endif
#
......@@ -282,10 +287,23 @@ endif
#
set Version = `cat $VisItDir/VERSION`
#
# Determine the shared library extension
#
if("$os" == "darwin") then
set SHLIB_SOEXT = "dylib"
else
set SHLIB_SOEXT = "so"
endif
#
# Determine the name of the Qt shared library.
#
set QtLibName = `cd $VisItDir/lib && ls libqt.so.?.?.?`
if ("$os" == "darwin") then
set QtLibName = `cd $VisItDir/lib && ls libqt.$SHLIB_SOEXT`
else
set QtLibName = `cd $VisItDir/lib && ls libqt.$SHLIB_SOEXT.?.?.?`
endif
#
# Check that the Qt libraries exist.
......@@ -300,8 +318,8 @@ endif
#
# Determine the names of the Mesa shared libraries.
#
set MesaOSMesaLibName = "libOSMesa.so"
set MesaMesaGLLibName = "libMesaGL.so"
set MesaOSMesaLibName = "libOSMesa.$SHLIB_SOEXT"
set MesaMesaGLLibName = "libMesaGL.$SHLIB_SOEXT"
#
# Check that the Mesa libraries exist.
......@@ -318,20 +336,20 @@ endif
#
# Determine the names of the VTK shared libraries.
#
set VTKCoLibName = "libvtkCommon.so"
set VTKFiLibName = "libvtkFiltering.so"
set VTKGrLibName = "libvtkGraphics.so"
set VTKHyLibName = "libvtkHybrid.so"
set VTKImLibName = "libvtkImaging.so"
set VTKIoLibName = "libvtkIO.so"
set VTKReLibName = "libvtkRendering.so"
set VTKExLibName = "libvtkexpat.so"
set VTKFrLibName = "libvtkfreetype.so"
set VTKFtLibName = "libvtkftgl.so"
set VTKPnLibName = "libvtkpng.so"
set VTKJpLibName = "libvtkjpeg.so"
set VTKTiLibName = "libvtktiff.so"
set VTKZlLibName = "libvtkzlib.so"
set VTKCoLibName = "libvtkCommon.$SHLIB_SOEXT"
set VTKFiLibName = "libvtkFiltering.$SHLIB_SOEXT"
set VTKGrLibName = "libvtkGraphics.$SHLIB_SOEXT"
set VTKHyLibName = "libvtkHybrid.$SHLIB_SOEXT"
set VTKImLibName = "libvtkImaging.$SHLIB_SOEXT"
set VTKIoLibName = "libvtkIO.$SHLIB_SOEXT"
set VTKReLibName = "libvtkRendering.$SHLIB_SOEXT"
set VTKExLibName = "libvtkexpat.$SHLIB_SOEXT"
set VTKFrLibName = "libvtkfreetype.$SHLIB_SOEXT"
set VTKFtLibName = "libvtkftgl.$SHLIB_SOEXT"
set VTKPnLibName = "libvtkpng.$SHLIB_SOEXT"
set VTKJpLibName = "libvtkjpeg.$SHLIB_SOEXT"
set VTKTiLibName = "libvtktiff.$SHLIB_SOEXT"
set VTKZlLibName = "libvtkzlib.$SHLIB_SOEXT"
#
# Check that the VTK libraries exist.
......@@ -368,7 +386,7 @@ endif
mkdir distribution/visit/$Version
ln -s $Version distribution/visit/current
set platforms="hp-hpux-pa sgi-irix6-mips2 sun4-sunos5-sparc ibm-aix-pwr dec-osf1-alpha linux-intel linux-ia64 linux-alpha intel-tflops-ppro"
set platforms="hp-hpux-pa sgi-irix6-mips2 sun4-sunos5-sparc ibm-aix-pwr dec-osf1-alpha linux-intel linux-ia64 linux-alpha darwin-ppc"
foreach platform ($platforms)
mkdir distribution/visit/$Version/$platform
mkdir distribution/visit/$Version/$platform/bin
......@@ -386,9 +404,11 @@ end
# Create and copy in the sample data files.
#
if ($DataFiles == "TRUE") then
echo "Creating data generation programs..."
set pwd = `pwd`
cd $VisItDir/data
make
echo "Generating data files..."
./globe
./multi_test
./testall
......@@ -463,10 +483,10 @@ switch ($os)
endsw
breaksw
case tflops:
echo "Found a TFLOPS version of visit"
set osver = tflops
set visitbindir = intel-tflops-ppro
case darwin:
echo "Found a MacOS X version of visit"
set visitbindir = darwin-ppc
set osver = "darwin"
breaksw
endsw
......@@ -477,10 +497,12 @@ set incdir = distribution/visit/$Version/$visitbindir/include
set helpdir = distribution/visit/$Version/$visitbindir/help
set plugindir = distribution/visit/$Version/$visitbindir/plugins
set javadir = distribution/visit/$Version/$visitbindir/java
set frameworkdir = distribution/visit/$Version/$visitbindir/Frameworks
#
# Copy the executables to the distribution.
#
echo "Copying executables to the distribution..."
cp $VisItDir/bin/visit distribution/visit/bin/visit
cp $VisItDir/bin/cli $bindir/cli
cp $VisItDir/bin/engine_ser $bindir/engine_ser
......@@ -517,11 +539,35 @@ cp $VisItDir/bin/makemovie.py $bindir
# copy surfcomp
cp $VisItDir/bin/surfcomp $bindir
# If we're on Darwin, Make some bundles so VisIt can run when it's unpackaged
if("$os" == "darwin") then
set graphicalApps="gui viewer silex xmledit"
set menuNames = ("VisIt" "VisIt Viewer" "Silex" "XmlEdit")
@ i = 1
set pwd = `pwd`
foreach app ($graphicalApps)
echo "Making application bundle for $app"
mkdir $bindir/$app.app
mkdir $bindir/$app.app/Contents
mkdir $bindir/$app.app/Contents/MacOS
cd $bindir/$app.app/Contents
ln -s ../../../lib lib
cd MacOS
ln -s ../../../$app $app
ln -s ../../../../../../bin/visit visit
cd $pwd
sed "s/PROGRAMNAME/$menuNames[$i]/g" $VisItDir/include/Info.plist | sed "s/VERSION/$Version/g" > $bindir/$app.app/Contents/Info.plist
echo "APPL????" > $bindir/$app.app/Contents/PkgInfo
@ i++
end
endif
#
# Copy the VisIt libraries to the distribution.
#
cp `ls $VisItDir/lib/*.so | grep -v libvtk | grep -v libqt | grep -v libpython` $libdir
cp $VisItDir/lib/libvtkqt.so $libdir
echo "Copying libraries to the distribution..."
cp `ls $VisItDir/lib/*.$SHLIB_SOEXT | grep -v libvtk | grep -v libqt | grep -v libpython` $libdir
cp $VisItDir/lib/libvtkqt.$SHLIB_SOEXT $libdir
#
# Copy the Qt libraries to the distribution.
......@@ -529,9 +575,9 @@ cp $VisItDir/lib/libvtkqt.so $libdir
cp $VisItDir/lib/$QtLibName $libdir/$QtLibName
set majorVersion = `echo $QtLibName | awk '{printf substr($1, 10, 1)}'`
set minorVersion = `echo $QtLibName | awk '{printf substr($1, 12, 1)}'`
ln -s $QtLibName $libdir/libqt.so.$majorVersion.$minorVersion
ln -s $QtLibName $libdir/libqt.so.$majorVersion
ln -s $QtLibName $libdir/libqt.so
ln -s $QtLibName $libdir/libqt.$SHLIB_SOEXT.$majorVersion.$minorVersion
ln -s $QtLibName $libdir/libqt.$SHLIB_SOEXT.$majorVersion
ln -s $QtLibName $libdir/libqt.$SHLIB_SOEXT
#
# Copy the Mesa libraries to the distribution.
......@@ -555,12 +601,12 @@ cp $VisItDir/lib/python/lib/$pyver/*.txt $libdir/python/lib/$pyve
cp $VisItDir/lib/python/lib/$pyver/*.py $libdir/python/lib/$pyver
cp $VisItDir/lib/python/lib/$pyver/*.pyc $libdir/python/lib/$pyver
cp $VisItDir/lib/python/lib/$pyver/*.pyo $libdir/python/lib/$pyver
cp $VisItDir/lib/python/lib/$pyver/*.so $libdir/python/lib/$pyver
cp $VisItDir/lib/python/lib/$pyver/*.$SHLIB_SOEXT $libdir/python/lib/$pyver
cp $VisItDir/lib/python/lib/$pyver/config/* $libdir/python/lib/$pyver/config
cp $VisItDir/lib/python/lib/$pyver/lib-dynload/* $libdir/python/lib/$pyver/lib-dynload
cp $VisItDir/lib/python/lib/$pyver/site-packages/PIL.* $libdir/python/lib/$pyver/site-packages
cp $VisItDir/lib/python/lib/$pyver/site-packages/PIL/* $libdir/python/lib/$pyver/site-packages/PIL
ln -s "python/lib/$pyver/config/lib${pyver}.so" $libdir
ln -s "python/lib/$pyver/config/lib${pyver}.$SHLIB_SOEXT" $libdir
#
# Copy the VTK libraries to the distribution.
......@@ -580,16 +626,33 @@ cp $VisItDir/lib/$VTKJpLibName $libdir/$VTKJpLibName
cp $VisItDir/lib/$VTKTiLibName $libdir/$VTKTiLibName
cp $VisItDir/lib/$VTKZlLibName $libdir/$VTKZlLibName
#
# If we're on MacOS X, also create a Frameworks directory that contains Qt.
#
if("$os" == "darwin") then
set pwd = `pwd`
mkdir $frameworkdir
cd $frameworkdir
ln -s ../lib/libqt.$SHLIB_SOEXT libqt.3.$SHLIB_SOEXT
cd $pwd
# Copy the Python framework. The link in lib/python points to the directory
# that contains the Python framework.
cp -R $VisItDir/lib/python/Python.framework $frameworkdir
endif
#
# Copy the plugins to the distribution.
#
cp $VisItDir/plugins/plots/*.so $plugindir/plots
cp $VisItDir/plugins/operators/*.so $plugindir/operators
cp $VisItDir/plugins/databases/*.so $plugindir/databases
echo "Copying plugins to the distribution..."
cp $VisItDir/plugins/plots/*.$SHLIB_SOEXT $plugindir/plots
cp $VisItDir/plugins/operators/*.$SHLIB_SOEXT $plugindir/operators
cp $VisItDir/plugins/databases/*.$SHLIB_SOEXT $plugindir/databases
#
# Copy includes
#
echo "Copying include files to the distribution..."
mkdir $incdir/visit
mkdir $incdir/mesa
mkdir $incdir/mesa/GL
......@@ -627,6 +690,7 @@ cp $VisItDir/include/qt/*.h $incdir/qt
#
# Copy the help files to the distribution.
#
echo "Copying help files to the distribution..."
cp $VisItDir/help/*.html $helpdir
if (-e $VisItDir/help/visit.helpml) then
cp $VisItDir/help/visit.helpml $helpdir
......@@ -654,11 +718,15 @@ ln -s visit-config-open $verdir/.visit/config
# Strip the executables and shared libraries.
#
if ($Strip == "TRUE") then
strip $bindir/*
strip $libdir/*
strip $plugindir/plots/*
strip $plugindir/operators/*
strip $plugindir/databases/*
if("$os" == "darwin") then
echo "We don't do library stripping on MacOS X."
else
strip $bindir/*
strip $libdir/*
strip $plugindir/plots/*
strip $plugindir/operators/*
strip $plugindir/databases/*
endif
endif
#
......