This repository has been archived by the owner. It is now read-only.

Added --use-system-layout option to boost formula #14749

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
4 participants
@nkakuev
Contributor

nkakuev commented Sep 5, 2012

I've added the '--use-system-layout' option to boost formula. It passes the '--layout=system' option instead of regular '--layout=tagged' to bjam and thus removes the '-mt' suffix from resulting binaries.

The case is, the default value of this option on unix-like systems (including os x) is 'system' as it is stated in bjam man page:

The default value is 'versioned' on Windows, and
'system' on Unix.
It produces binaries without any suffixes (i. e. 'libboost_chrono.a' instead of 'libboost_chrono-mt.a') which I find very handy, because a lot of software that links with boost searches for libraries without any suffixes in their names.

The 'tagged' layout (which boost formula is using at the moment) is dedicated to be used in case of several variants of Boost mostly:

tagged -- Names of boost binaries include the
encoded build properties such as variant and
threading, but do not including compiler name
and version, or Boost version. This option is
useful if you build several variants of Boost,
using the same compiler.

I see no reason in limiting the layout to 'tagged' only.

@adamv

This comment has been minimized.

Show comment Hide comment
@adamv

adamv Oct 20, 2012

Contributor

What does MacPorts do?

Contributor

adamv commented Oct 20, 2012

What does MacPorts do?

@nkakuev

This comment has been minimized.

Show comment Hide comment
@nkakuev

nkakuev Oct 21, 2012

Contributor

It uses '--layout=tagged'.

Contributor

nkakuev commented Oct 21, 2012

It uses '--layout=tagged'.

@manphiz

This comment has been minimized.

Show comment Hide comment
@manphiz

manphiz Oct 21, 2012

Contributor

IMHO tagged layout is reasonable because package may break if linked to the wrong type of libraries. It might also be beneficial to use versioned as now there are 2 to 3 compilers in Mac OS X, and they are somewhat not fully compatible. The problem here may be how to get the correct ${LDFLAGS} for software using boost. Currently there's no built-in tools in boost to do this.

Autotools user can take advantage of autoconf-archive which contains several m4 files for boost which handles all flavor of library names (they actually try to find all 'libboost-.*.{so,dylib.a}'). Not sure about other tools though.

Contributor

manphiz commented Oct 21, 2012

IMHO tagged layout is reasonable because package may break if linked to the wrong type of libraries. It might also be beneficial to use versioned as now there are 2 to 3 compilers in Mac OS X, and they are somewhat not fully compatible. The problem here may be how to get the correct ${LDFLAGS} for software using boost. Currently there's no built-in tools in boost to do this.

Autotools user can take advantage of autoconf-archive which contains several m4 files for boost which handles all flavor of library names (they actually try to find all 'libboost-.*.{so,dylib.a}'). Not sure about other tools though.

@adamv

This comment has been minimized.

Show comment Hide comment
@adamv

adamv Jan 8, 2013

Contributor

Other maintainers: help me out here when you get a chance.

Contributor

adamv commented Jan 8, 2013

Other maintainers: help me out here when you get a chance.

@MikeMcQuaid

This comment has been minimized.

Show comment Hide comment
@MikeMcQuaid

MikeMcQuaid Jan 11, 2013

Owner

This pull seems reasonable. Rebase and I'll merge.

Owner

MikeMcQuaid commented Jan 11, 2013

This pull seems reasonable. Rebase and I'll merge.

norioxkimura added a commit to norioxkimura/homebrew that referenced this pull request Jan 26, 2013

boost: add option to use system layout.
Closes #14749.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>

@xu-cheng xu-cheng locked and limited conversation to collaborators Feb 16, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.