]> git.lyx.org Git - lyx.git/commitdiff
Allow reLyX to be run from the source directory
authorJosé Matox <jamatos@lyx.org>
Tue, 28 Aug 2001 20:23:46 +0000 (20:23 +0000)
committerJosé Matox <jamatos@lyx.org>
Tue, 28 Aug 2001 20:23:46 +0000 (20:23 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2608 a592a061-630c-0410-9148-cb99ea01b6c8

lib/ChangeLog
lib/reLyX/reLyX.in

index e866598361de8e44a9df3a6d409b9ad28631a25c..98c01c51343c8cdc28f164f3a02827605962bee8 100644 (file)
@@ -1,3 +1,6 @@
+2001-08-28  José Matos  <jamatos@fep.up.pt>
+       * reLyX/reLyX.in: allow reLyX to be run from the source directory.
+
 2001-08-15  John Levon  <moz@compsoc.man.ac.uk>
 
        * ui/default.ui: sanitise math/tabular entries
index 87235a18a82ab464f5a37e17715e130c26fab042..d20b78590c50522a8f3bffbf8083c1bfe0d54cec 100644 (file)
@@ -7,13 +7,15 @@
 ############################# reLyX wrapper
 use strict;
 use File::Basename;
+use Cwd 'abs_path';
 $^W = 1; # same as 'perl -w'
 
 # Variables to make global, so subroutines can use them
 use vars qw($lyxdir $lyxname);
 
 my (@maybe_dir);
-my $mainscript = "reLyXmain.pl"; 
+my $mainscript = "reLyXmain.pl";
+my $relyxdir;
 
 # Do this in a BEGIN block so it's done before the 'use lib' below
 BEGIN{
@@ -33,19 +35,37 @@ my $dir = &dirname($name);
 #    are OK, but empty or undefined values will make 'use lib' complain
 my $i = 0;
 # case 1: for developers, e.g. - reLyX and $mainscript in same directory
-$maybe_dir[$i++] = ".";
-# case 2: environment variable LYX_DIR_11x has been set
-if (exists $ENV{LYX_DIR_11x}) { $maybe_dir[$i++] = "$ENV{LYX_DIR_11x}/reLyX"};
-# case 3: ran make but not make install.
+$maybe_dir[$i++] = "$dir";
+# case 2: ran make but not make install.
 $maybe_dir[$i++] = "$dir/$srcdir";
+# case 3: environment variable LYX_DIR_11x has been set
+if (exists $ENV{LYX_DIR_11x}) { $maybe_dir[$i++] = "$ENV{LYX_DIR_11x}/reLyX"};
 # case 4: e.g., reLyX in /opt/bin, $mainscript in /opt/share/lyx/reLyX
 $maybe_dir[$i++] = "$dir/../share/$lyxname/reLyX"; # case 4
 # case 5: configure figured out where $mainscript is
 $maybe_dir[$i++] = "$lyxdir/reLyX";
+
+# Decide which one is the real directory, based on the existence of
+#    "$dir/$mainscript"
+my $found=0;
+foreach $dir (@maybe_dir) {
+    if( -e "$dir/$mainscript" ) {
+       $lyxdir = abs_path("$dir/..");
+       $relyxdir = abs_path($dir);
+       $found = 1;
+       last;
+    }
+ }
+
+if(!$found) {
+    print "reLyX directory not found.\n";
+    exit(1);
+ } 
+
 } # end BEGIN block
 
 # Now put those directories into @INC
-use lib @maybe_dir;
+use lib $relyxdir;
 
 # Now run the script. Perl will look in @INC to find the script (and
 #     other modules that $mainscript calls)