On Wed, Apr 29, 2009 at 09:28:56AM -0400, Andy Dougherty wrote:
> No, that won't help.  installable_pbc_to_exe is already linked with 
> src/install_config.o as part of the build process.  Copying 
> src/install_config.o to the installation directory won't actually do 
> anything right now, since pbc_to_exe won't go looking for it anyway.

That's pretty easy to fix, see attached patch (assuming the .o files
are installed into $libdir/$versiondir/src which is probably wrong).
Reini Urban uses a similar patch for cygwin.

> > > and TT #540 "installed versions of 
> > > dynext/*.so still link to -lparrot in build directory" are fixed.
> > 
> > Add "--disable-rpath" to your Configure.pl call.
> 
> Yes, I realize that will work around the problem.  But it shouldn't be 
> necessary, and creates two new problems:  During the build process, 
> LD_LIBRARY_PATH (or equivalent) will need to be manually set.

Yes, that's true.

>  Then, after 
> install, LD_LIBRARY_PATH (or equivalent) will need to be set to include 
> the installed parrot library directory for every process that invokes 
> parrot.

Not if you install libparrot into /usr/lib.

Cheers,
  Michael.

-- 
Michael Schroeder                                   [email protected]
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
--- ./tools/dev/pbc_to_exe.pir.orig	2009-04-23 12:51:15.000000000 +0000
+++ ./tools/dev/pbc_to_exe.pir	2009-04-23 12:54:59.000000000 +0000
@@ -227,17 +227,23 @@ MAIN
     .param int install :optional
 
     $P0 = '_config'()
-    .local string cc, ccflags, cc_o_out, osname, build_dir, slash
+    .local string cc, ccflags, cc_o_out, osname, build_dir, includedir, versiondir, prefix, slash
     cc        = $P0['cc']
     ccflags   = $P0['ccflags']
     cc_o_out  = $P0['cc_o_out']
     osname    = $P0['osname']
     build_dir = $P0['build_dir']
+    includedir = $P0['includedir']
+    versiondir = $P0['versiondir']
+    prefix    = $P0['prefix']
     slash     = $P0['slash']
 
-    .local string includedir, pathquote
+    .local string pathquote
+    includedir = concat includedir, versiondir
+    unless prefix == build_dir goto is_installed
     includedir = concat build_dir, slash
     includedir = concat includedir, 'include'
+  is_installed:
     pathquote  = ''
     unless osname == 'MSWin32' goto not_windows
     pathquote  = '"'
@@ -277,7 +283,7 @@ MAIN
 
     $P0 = '_config'()
     .local string cc, link, link_dynamic, linkflags, ld_out, libparrot, libs, o
-    .local string rpath, osname, build_dir, slash, icushared
+    .local string rpath, osname, build_dir, libdir, versiondir, prefix, slash, icushared
     cc           = $P0['cc']
     link         = $P0['link']
     link_dynamic = $P0['link_dynamic']
@@ -289,12 +295,19 @@ MAIN
     rpath        = $P0['rpath_blib']
     osname       = $P0['osname']
     build_dir    = $P0['build_dir']
+    libdir       = $P0['libdir']
+    versiondir   = $P0['versiondir']
+    prefix       = $P0['prefix']
     slash        = $P0['slash']
     icushared    = $P0['icu_shared']
 
     .local string config, pathquote, exeprefix
     exeprefix = substr exefile, 0, 12
+    config     = concat libdir, versiondir
+    config    .= slash
+    unless prefix == build_dir goto is_installed
     config     = concat build_dir, slash
+  is_installed:
     config    .= 'src'
     config    .= slash
     if exeprefix == 'installable_' goto config_install
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to