1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#!/bin/bash 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndownloads="$HOME/software/downloads" 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownif [ ! -e /usr/include/tiffio.h ]; then 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown echo "Error: could not find file tiffio.h. Please install libtiff4-dev." 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown exit 1 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownfi 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownexport LC_ALL=C 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownmkdir -p "${downloads}" 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browncd "$(dirname $0)/.." 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownif [ -e splash2 ]; then 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown echo "Error: a directory with the name splash2 already exists. Please" 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown echo "remove it before running this script, or run this script in another" 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown echo "directory." 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown exit 1 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownfi 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown( 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown cd "$downloads" 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if [ ! -e splash2.tar.gz ]; then 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown wget -q http://www-flash.stanford.edu/apps/SPLASH/splash2.tar.gz 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fi 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if [ ! -e splash2-modified.patch.gz ]; then 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown wget -q http://www.capsl.udel.edu/splash/splash2-modified.patch.gz 30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fi 31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown) 32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browntar zxf $downloads/splash2.tar.gz 34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browncd splash2 35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browngzip -cd < "$downloads/splash2-modified.patch.gz" | patch -p1 -s 36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownpatch -p1 -s <<'EOF' 37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndiff -ru orig/splash2/codes/apps/radiosity/display.C splash2/codes/apps/radiosity/display.C 38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/radiosity/display.C 2008-05-25 10:38:52.000000000 +0200 39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/radiosity/display.C 2008-05-25 10:37:51.000000000 +0200 40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -14,6 +14,7 @@ 41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /* */ 42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /*************************************************************************/ 43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+#include <math.h> 45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #include <stdio.h> 46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown EXTERN_ENV; 48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/radiosity/Makefile 2008-05-25 10:38:52.000000000 +0200 49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/radiosity/Makefile 2008-05-25 13:05:36.000000000 +0200 50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -15,7 +15,7 @@ 51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown LOADLIBES = glibdumb/glib.a glibps/glibps.a 53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-$(TARGET): $(OBJS) 55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+$(TARGET): $(OBJS) $(LOADLIBES) 56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown $(CC) $(OBJS) $(CFLAGS) $(LOADLIBES) -o $(TARGET) $(LDFLAGS) 57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown radiosity.h: patch.h model.h parallel.h task.h 59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -29,3 +29,7 @@ 60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown visible.c: visible.C $(HS) 61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown rad_tools.c: rad_tools.C $(HS) 62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown room_model.c: room_model.C $(HS) 63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+glibdumb/glib.a: 64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ make -C glibdumb glib.a 65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+glibps/glibps.a: 66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ make -C glibps glibps.a 67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndiff -ru orig/splash2/codes/apps/raytrace/rltotiff/Makefile splash2/codes/apps/raytrace/rltotiff/Makefile 68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/raytrace/rltotiff/Makefile 2008-05-25 10:38:52.000000000 +0200 69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/raytrace/rltotiff/Makefile 2008-05-25 10:31:57.000000000 +0200 70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -4,6 +4,3 @@ 71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown include ../../../Makefile.config 72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown LDFLAGS := $(LDFLAGS) -ltiff 74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown- 75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-clean: 76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown- rm -rf $(OBJS) $(TARGET) 77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownEOF 78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownpatch -p1 -s <<EOF 81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndiff -ru orig/splash2/codes/Makefile.config splash2/codes/Makefile.config 82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/Makefile.config 2008-05-25 10:38:52.000000000 +0200 83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/Makefile.config 2008-05-25 10:14:25.000000000 +0200 84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -1,5 +1,5 @@ 85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-CC := gcc 86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+CC := @CC@ 87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-CFLAGS := -O3 -pthread -D_POSIX_C_SOURCE=200112 88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+CFLAGS := -g3 -m32 -O3 -pthread -D_POSIX_C_SOURCE=200112 89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #CFLAGS := -g3 -pthread -D_POSIX_C_SOURCE=200112 90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown CFLAGS := \$(CFLAGS) -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wdisabled-optimization 91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown CFLAGS := \$(CFLAGS) -Wpadded -Winline -Wpointer-arith -Wsign-compare -Wendif-labels 92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -5,8 +5,8 @@ 93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown CFLAGS := \$(CFLAGS) -Wpadded -Winline -Wpointer-arith -Wsign-compare -Wendif-labels 94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown LDFLAGS := -lm 95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-BASEDIR := \$(HOME)/splash2/codes 97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-MACROS := \$(BASEDIR)/null_macros/c.m4.null 98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+BASEDIR := ${PWD}/codes 99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+MACROS := \$(BASEDIR)/null_macros/c.m4.null.POSIX_BARRIER 100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown M4 := m4 -s -Ulen -Uindex 101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown x = * 103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/radiosity/elemman.C 2008-07-13 20:24:35.000000000 +0200 104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/radiosity/elemman.C 2008-07-13 20:45:15.000000000 +0200 105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -24,6 +24,7 @@ 106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #include <stdio.h> 109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+#include "drd.h" 110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown EXTERN_ENV; 112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -707,6 +708,12 @@ void process_rays(Element *e, long proce 114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown e->n_interactions = 0 ; 115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown UNLOCK(e->elem_lock->lock); 116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ { 118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ Interaction* p; 119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ for (p = i_list; p; p = p->next) 120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ DRD_IGNORE_VAR(*p); 121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ } 122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ 123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /* For each interaction, do BF-error-analysis */ 124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown bf_error_analysis_list( e, i_list, process_id ) ; 125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/radiosity/rad_main.C 2008-07-13 20:24:35.000000000 +0200 127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/radiosity/rad_main.C 2008-07-13 20:50:01.000000000 +0200 128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -30,6 +30,7 @@ 129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #include <panel.h> 130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #endif 131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #endif 132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+#include "drd.h" 133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /* ANL macro initialization */ 135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -1084,6 +1085,18 @@ void init_global(long process_id) 137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /* Initialize statistical info */ 138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown init_stat_info(process_id) ; 139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ { 141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ int i; 142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ 143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ DRD_IGNORE_VAR(global->pbar_count); 144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ for (i = 0; 145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ i < sizeof(global->task_queue) / sizeof(global->task_queue[0]); 146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ i++) 147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ { 148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ DRD_IGNORE_VAR(global->task_queue[i].n_tasks); 149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ } 150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ DRD_IGNORE_VAR(global->element_buf); 151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+ } 152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown--- orig/splash2/codes/apps/radiosity/Makefile 2008-07-13 20:24:35.000000000 +0200 156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+++ splash2/codes/apps/radiosity/Makefile 2008-07-13 20:09:27.000000000 +0200 157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown@@ -6,7 +6,7 @@ HS = model.h parallel.h patch.h radiosit 158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown include ../../Makefile.config 160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown-CFLAGS := \$(CFLAGS) -I./glibdumb -I./glibps 162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown+CFLAGS := \$(CFLAGS) -I./glibdumb -I./glibps -I../../../../../drd -I../../../../../include 163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #CCOPTS = -I -float -I/usr/include \$(CFLAGS) 165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #LDFLAGS = -lm -lpthread 166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownEOF 167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownfor m in $(find codes -name Makefile) 169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndo 170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown echo "==== $m ====" 171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown make -s -C $(dirname $m) 172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndone 173