Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

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

Closed
wants to merge 1 commit into from

Conversation

nkakuev
Copy link
Contributor

@nkakuev 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
Copy link
Contributor

adamv commented Oct 20, 2012

What does MacPorts do?

@nkakuev
Copy link
Contributor Author

nkakuev commented Oct 21, 2012

It uses '--layout=tagged'.

@manphiz
Copy link
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
Copy link
Contributor

adamv commented Jan 8, 2013

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

@MikeMcQuaid
Copy link
Member

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

@Homebrew Homebrew 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.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants