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