Configure Options for Custom Directories

I’m wanting to change the directory layout of our RT installation just a
bit to put it more in line with the standards of our packaging & deploy
system. The configure script clearly states that this is possible with
a set of options.

Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/opt/rt4] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]

By default, make install' will install all the files in/opt/rt4/bin’, /opt/rt4/lib' etc. You can specify an installation prefix other than/opt/rt4’ using --prefix', for instance–prefix=$HOME’.

For better control, use the options below.

Fine tuning of the installation directories:
–bindir=DIR user executables [EPREFIX/bin]
–sbindir=DIR system admin executables [EPREFIX/sbin]
–libexecdir=DIR program executables [EPREFIX/libexec]
–sysconfdir=DIR read-only single-machine data [PREFIX/etc]
–sharedstatedir=DIR modifiable architecture-independent data
[PREFIX/com]
–localstatedir=DIR modifiable single-machine data [PREFIX/var]
–libdir=DIR object code libraries [EPREFIX/lib]
–includedir=DIR C header files [PREFIX/include]
–oldincludedir=DIR C header files for non-gcc [/usr/include]
–datarootdir=DIR read-only arch.-independent data root
[PREFIX/share]
–datadir=DIR read-only architecture-independent data
[DATAROOTDIR]
–infodir=DIR info documentation [DATAROOTDIR/info]
–localedir=DIR locale-dependent data [DATAROOTDIR/locale]
–mandir=DIR man documentation [DATAROOTDIR/man]
–docdir=DIR documentation root [DATAROOTDIR/doc/rt]
–htmldir=DIR html documentation [DOCDIR]
–dvidir=DIR dvi documentation [DOCDIR]
–pdfdir=DIR pdf documentation [DOCDIR]
–psdir=DIR ps documentation [DOCDIR]

However, I’m finding that of the 3 options I want to use (prefix,
sysconfdir & localstatedir), only prefix is being honored. I’ve
attached (for readability) a log of my configure command & then a grep
for one of my option values. Clearly, the configure script is ignoring
my other 2 options as they show up nowhere in the grep output except for
where the configure command is stored.

Any help?

configure-options.log (4.42 KB)

I’m wanting to change the directory layout of our RT installation
just a bit to put it more in line with the standards of our
packaging & deploy system. The configure script clearly states that
this is possible with a set of options.

However, I’m finding that of the 3 options I want to use (prefix,
sysconfdir & localstatedir), only prefix is being honored. I’ve
attached (for readability) a log of my configure command & then a
grep for one of my option values. Clearly, the configure script is
ignoring my other 2 options as they show up nowhere in the grep
output except for where the configure command is stored.

I can totally believe that autoconf and our usage is interacting
poorly. I bet you’ll have much more luck defining a custom layout
than bending autoconf. This is how the debian packages (for example)
work.

Open up config.layout, copy one of the sections, give it a different
name and then run configure with --enable-layout=mylayout
You may need to run configure.ac and/or clean out autom4te.cache to
ensure that autoconf sees your changes. This should give you a lot
more flexibility.

-kevin

I’m wanting to change the directory layout of our RT installation
just a bit to put it more in line with the standards of our
packaging & deploy system. The configure script clearly states that
this is possible with a set of options.

However, I’m finding that of the 3 options I want to use (prefix,
sysconfdir & localstatedir), only prefix is being honored. I’ve
attached (for readability) a log of my configure command & then a
grep for one of my option values. Clearly, the configure script is
ignoring my other 2 options as they show up nowhere in the grep
output except for where the configure command is stored.

I can totally believe that autoconf and our usage is interacting
poorly. I bet you’ll have much more luck defining a custom layout
than bending autoconf. This is how the debian packages (for example)
work.

Open up config.layout, copy one of the sections, give it a different
name and then run configure with --enable-layout=mylayout
You may need to run configure.ac and/or clean out autom4te.cache to
ensure that autoconf sees your changes. This should give you a lot
more flexibility.

-kevin

Thank you, Kevin. I’ll do that & report back this morning.

I’m wanting to change the directory layout of our RT installation
just a bit to put it more in line with the standards of our
packaging & deploy system. The configure script clearly states that
this is possible with a set of options.

However, I’m finding that of the 3 options I want to use (prefix,
sysconfdir & localstatedir), only prefix is being honored. I’ve
attached (for readability) a log of my configure command & then a
grep for one of my option values. Clearly, the configure script is
ignoring my other 2 options as they show up nowhere in the grep
output except for where the configure command is stored.

I can totally believe that autoconf and our usage is interacting
poorly. I bet you’ll have much more luck defining a custom layout
than bending autoconf. This is how the debian packages (for example)
work.

Open up config.layout, copy one of the sections, give it a different
name and then run configure with --enable-layout=mylayout
You may need to run configure.ac and/or clean out autom4te.cache to
ensure that autoconf sees your changes. This should give you a lot
more flexibility.

-kevin

Thank you, Kevin. I’ll do that & report back this morning.

This worked beautifully. In fact, I removed all of the other layouts &
adjusted the “relative” layout. I figured if I was manually adjusting
config.layout, I may as well make it so I don’t even have to specify a
prefix. One thing to note is that I had to add ${prefix}/ to any
relative directories or I’d get an error from /user/bin/install for
those directories because it was trying to install to the build
directory instead of the prefix I had specified.

Thanks Kevin, I appreciate the help.

This worked beautifully. In fact, I removed all of the other
layouts & adjusted the “relative” layout. I figured if I was
manually adjusting config.layout, I may as well make it so I don’t
even have to specify a prefix. One thing to note is that I had to
add ${prefix}/ to any relative directories or I’d get an error from
/user/bin/install for those directories because it was trying to
install to the build directory instead of the prefix I had
specified.

Ah, prefix and --enable-layout=relative really don’t play well
together.

Borrowing the RH or Debian one might have been easier to start with,
but I’m glad you got it to work.

-kevin