--- loncom/build/help_graphics_converter.pl 2002/07/17 15:45:49 1.2 +++ loncom/build/help_graphics_converter.pl 2012/01/02 11:37:02 1.5 @@ -28,6 +28,30 @@ use strict; +## +# Sub to determine the relative modification dates of files: +# +# @param file1 - First file +# @param file2 - Seond file +# +# @return - 0 if file 1's mtime is <= file2's 1 otherwise. +sub newer { + my ($file1, $file2) = @_; + + # IF file2 does not exist, return false to force the build: + + if (not (-s $file2)) { + return 0; + } + + # Check modification times if file2 exists: + + my $m1 = (stat($file1))[9]; + my $m2 = (stat($file2))[9]; + + return $m2 > $m1; +} + my $dirprefix = "../html/adm/help/"; # Check that the png directory exists @@ -35,8 +59,17 @@ if (not (-d $dirprefix . "png/")) { die "Can't convert help graphics because the png directory is not ". "installed."; } -mkdir $dirprefix . "gif/"; -mkdir $dirprefix . "eps/"; +mkdir $dirprefix . "gif/", 0755; +mkdir $dirprefix . "eps/", 0755; + +my $convert = `which convert`; +if ($convert eq '') +{ + open LOG, ">> WARNINGS"; + print LOG "**** ERROR **** ImageMagick is not installed. You must install ImageMagick to use LON-CAPA. Please see your installation instructions.\n"; + print "**** ERROR **** ImageMagick is not installed. You must install ImageMagick to use LON-CAPA. Please see your installation instructions.\n"; + exit; +} foreach my $file (glob($dirprefix . "png/*.png")) { @@ -46,8 +79,8 @@ foreach my $file (glob($dirprefix . "png print "Converting $filename... gif"; - system ("convert $file $gifdest\n") if (not (-s $gifdest)); + system ("convert $file $gifdest\n") if (not &newer($file, $gifdest)); print " eps"; - system ("convert $file $epsdest\n") if (not (-s $epsdest)); + system ("convert $file $epsdest\n") if (not &newer($file, $epsdest)); print " done.\n"; }