Project

General

Profile

Design #1697

Specifying BOOST in configure

Added by John Abbott over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Cleaning
Target version:
Start date:
18 Aug 2022
Due date:
% Done:

100%

Estimated time:
4.49 h
Spent time:

Description

The code handling the BOOST libraries in configure is an "unholy mess".

If the user specifies no BOOST option then configure tries to search for BOOST.

I am now inclined to simplify this:
  • if no BOOST option is specified then compilation is without BOOST
  • new configure option --with-boost which assumes a standard system installation.
  • the old option to specify where the BOOST libraries are remains (in case not a standard system installation)

This new approach should allow me to simplify the configure script... I hope!


Related issues

Related to CoCoA-5 - Bug #1695: boost-find-lib.shClosed2022-08-16

Related to CoCoA-5 - Design #1696: Which BOOST libs are actually needed?Closed2022-08-18

Related to CoCoALib - Support #1700: boost_1_80_0Closed2022-10-14

Related to CoCoALib - Feature #1360: configure script: add flags for "only cocoalib" or "both cocoalib and cocoa5" (for boost)Closed2019-11-01

History

#1 Updated by John Abbott over 1 year ago

  • Related to Bug #1695: boost-find-lib.sh added

#2 Updated by John Abbott over 1 year ago

  • Related to Design #1696: Which BOOST libs are actually needed? added

#3 Updated by John Abbott over 1 year ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

In a sense there is no difference between --with-boost and --also-build-CoCoA5
(except that one is clearly boolean, while the other can specify where to find the lib)

Mmmm.

#4 Updated by John Abbott over 1 year ago

  • Assignee set to John Abbott
  • % Done changed from 10 to 50

After discussions with Anna, we will try a new configure option --only-cocoalib (which supplants --no-boost).
If --only-cocoalib is not specified then BOOST is assumed to be system-wide installed unless --with-boost=XXX is specified.

Specifying --only-cocoalib and a BOOST or READLINE option will give an error (currently)
[maybe a warning would be better? This would allow easier testing perhaps?]

I have modified configure; it seems fine on my Linux box.

#5 Updated by Anna Maria Bigatti over 1 year ago

#6 Updated by Anna Maria Bigatti over 1 year ago

I would change --with-boost with --with-boost-hdrs or --with-boost-incdir (or similar) to highlight that for boost we point to the include dir, instead of passing the library file (as it is for all other external libraries)

"--with-boost-hdrs=/Users/XXXXXXXXXXX/boost_1_80_0/include/" 

[I use a minimal personal installation of boost for experimental purposes]

#7 Updated by Anna Maria Bigatti over 1 year ago

It seems that -Bstatic works only for linux

CoCoAInterpreter: linking everything together
ld: unknown option: -Bstatic
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CoCoAInterpreter] Error 1

I changed BOOST_LDLIBS=-Wl,-Bstatic -lboost_filesystem -Wl,-Bdynamic into BOOST_LDLIBS=-lboost_filesystem and my compilation goes a little further

#8 Updated by John Abbott over 1 year ago

  • Status changed from In Progress to Feedback
  • % Done changed from 50 to 90
  • Estimated time set to 2.99 h

Anna: I think this issue no longer exists with the new/revised configuration system (scripts).
Correct? If so, please close.

#9 Updated by John Abbott over 1 year ago

  • Related to Feature #1360: configure script: add flags for "only cocoalib" or "both cocoalib and cocoa5" (for boost) added

#10 Updated by John Abbott over 1 year ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time changed from 2.99 h to 4.49 h

I have made a major revision to doc/txt/ExternalLibs-BOOST.txt
I think it is now up-to-date.

Closing.

Also available in: Atom PDF