<div class="gmail_quote">On Mon, Oct 11, 2010 at 12:00 PM, H Hartley Sweeten <span dir="ltr">&lt;<a href="mailto:hartleys@visionengravers.com" target="_blank">hartleys@visionengravers.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>On Sunday, October 10, 2010 2:35 PM, Martin Banky wrote:<br>
&gt; On Fri, Oct 8, 2010 at 2:59 PM, H Hartley Sweeten &lt;<a href="mailto:hartleys@visionengravers.com" target="_blank">hartleys@visionengravers.com</a>&gt; wrote:<br>
&gt;&gt;<br>
</div><div>&gt;&gt; Is there a way to setup a .mk file for a package to configure and install<br>
&gt;&gt; the package into a place other than /bin, /sbin, /usr/bin or /usr/sbin?<br>
&gt;&gt; Or is this actually handled internally by the .configure of the package?&gt;<br>
&gt;<br>
</div><div>&gt; Yes, you would need to setup the .mk file to install the package into a<br>
&gt; different location. It will depend on the package type. If it&#39;s an<br>
&gt; autotools package, then you will have to do one of two things. The choice<br>
&gt; would be based on whether the existing options are acceptable, but just<br>
&gt; need to be added to, then add/change (PKG)_CONF_OPT, or the existing<br>
&gt; options are not acceptable, then redefine (PKG)_CONFIGURE_CMDS. If it&#39;s<br>
&gt; a gentargets package, then the only choice you have is to change<br>
&gt; (PKG)_CONFIGURE_CMDS. If it&#39;s a manual makefile package, then you will<br>
&gt; have to add/change the configuration step, if it has one, and/or the<br>
&gt; installation step, if necessary. I would suggest that you read<br>
&gt; buildroot/docs/buildroot.html. It has a lot of good information about<br>
&gt; creating and changing packages.<br>
<br>
</div>Thanks for the reply.<br>
<br>
My package is autotools based.  Currently my *.mk looks something like this.<br>
<br>
<br>
FOO_VERSION = 0.0.1<br>
FOO_SOURCE = foo-$(FOO_VERSION).tar.gz<br>
FOO_SITE = <a href="http://dummysite" target="_blank">http://dummysite</a><br>
FOO_AUTORECONF = YES<br>
FOO_INSTALL_STAGING = NO<br>
FOO_INSTALL_TARGET = YES<br>
<br>
FOO_CONF_OPT = --with-freetype-prefix=$(STAGING_DIR)/usr \<br>
                --with-sdl-prefix=$(STAGING_DIR)/usr \<br>
                --with-sdl-exec-prefix=$(STAGING_DIR)/usr<br>
<br>
FOO_DEPENDENCIES = sdl sdl_image<br>
<br>
$(eval $(call AUTOTARGETS,package,foo))<br>
<br>
<br>
To install the package inro a different location I assume I need to override the<br>
--prefix option in the ./configure step.  But this appears to be hardcoded to<br>
/usr in <a href="http://Makefile.autotools.in" target="_blank">Makefile.autotools.in</a>:<br>
<br>
# Configure package for target<br>
define $(2)_CONFIGURE_CMDS<br>
        (cd $$($$(PKG)_SRCDIR) &amp;&amp; rm -rf config.cache &amp;&amp; \<br>
        $$(TARGET_CONFIGURE_OPTS) \<br>
        $$(TARGET_CONFIGURE_ARGS) \<br>
        $$($$(PKG)_CONF_ENV) \<br>
        ./configure \<br>
                $$(if $$(filter YES,$$($$(PKG)_USE_CONFIG_CACHE)),--cache-file=&quot;$(BUILD_DIR)/tgt-config.cache&quot;,) \<br>
                --target=$$(GNU_TARGET_NAME) \<br>
                --host=$$(GNU_TARGET_NAME) \<br>
                --build=$$(GNU_HOST_NAME) \<br>
                --prefix=/usr \<br>
                --exec-prefix=/usr \<br>
                --sysconfdir=/etc \<br>
                $$(DISABLE_DOCUMENTATION) \<br>
                $$(DISABLE_NLS) \<br>
                $$(DISABLE_LARGEFILE) \<br>
                $$(DISABLE_IPV6) \<br>
                $$(QUIET) $$($$(PKG)_CONF_OPT) \<br>
        )<br>
<br>
Will adding --prefix/{somedir} to FOO_CONF_OPT override this?<br>
<br>
Thanks,<br>
<font color="#888888">Hartley</font></blockquote></div>Hartley,<br>     No, you&#39;ll need to redefine (PKG)_CONFIGURE_CMDS.<br><br>Martin<br>