[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Relocatable programs, Smalltalk configure.ac-style

From: Reuben Thomas
Subject: Relocatable programs, Smalltalk configure.ac-style
Date: Tue, 30 Oct 2012 00:44:31 +0000

I'm working on making a Lua program with an autotools build system
relocatable, since otherwise I can't get it to install with the
standard Lua packaging tool, LuaRocks, which requires packages to be
relocatable, and doesn't tell them their final install prefix when
they build.

A bit of searching led me to Bruno's machinery for GNU Smalltalk,
which seems pretty good.

I have a question: why does the treatment of datadir substitute
exec_prefix? Surely that doesn't occur in datadir? Yet:

acl_final_datadir=`echo "${datadir}" | sed \
        -e "s,\\\${datarootdir},$datarootdir," \
        -e "s,\\\${exec_prefix},$acl_final_exec_prefix," \
        -e "s,\\\${prefix},$acl_final_prefix," `

(I need to add a similar treatment for docdir, so I wanted to make
sure I've understood.)

I see this hasn't gone into gnulib, but perhaps it could usefully go
into autoconf-archive? (The bulk of it seems to be the configure.ac
code plus relocatable.m4.)

One final note: I was trying to look at what changes were made to C
code to support relocatability, but this commit:

commit efbafa1f1ccbe6aeb963317fca633331ae26fede
Author: Paolo Bonzini <address@hidden>
Date:   Mon Mar 17 12:10:05 2008 +0100

    support relocatable installations

    2008-03-15  Paolo Bonzini  <address@hidden>

        * gst-tool.c: Support relocatable installation.
        * main.c: Support relocatable installation.

        * libgst/cint.c: Relocate MODULE_PATH.
        * libgst/dict.c: Relocate paths placed in the Smalltalk dictionary.
        * libgst/files.c: Relocate image and kernel paths.  Apply default
        executable path.
        * libgst/files.h: Remove _gst_executable_path.
        * libgst/gstpub.c: Add gst_relocate_path, gst_set_executable_path.
        * libgst/gstpub.h: Add gst_relocate_path, gst_set_executable_path.
        * libgst/sysdep.c: Add _gst_relocate_path, _gst_set_executable_path.
        * libgst/sysdep.h: Add _gst_relocate_path, _gst_set_executable_path.

seems inaccurately logged: none of those files is changed by the
commit, only configure.ac.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]