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