Design #1697
Specifying BOOST in configure
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.
- 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
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
- Related to Support #1700: boost_1_80_0 added
#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.