No matter what I try, ( I set JAMBASE, specified boost-base.jam etc... I always get the following error kanita% jam -f./tools/build/allyourbase.jam -sTOOLS="suncc" ./tools/build/allyourbase.jam: line 1608: syntax error at keyword ( don't know how to make all ...found 1 target... ...can't find 1 target... kanita% Line 1608 is the one that says: rule remember-binding ( target : bound-path ) { gBINDING($(target)) = $(bound-path) ; } ... How do I make jam understand the extended syntax ? ( Using FTjam 2.3.5 ...) Sinan Karasu ---------- # (C) Copyright David Abrahams 2001. Permission to copy, use, # modify, sell and distribute this software is granted provided this # copyright notice appears in all copies. This software is provided # "as is" without express or implied warranty, and with no claim as # to its suitability for any purpose. # compute directories for invoking WS6U2 WS6U2_BIN_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)bin ; WS6U2_BIN_DIRECTORY ?= "" ; # Don't clobber tool names if WS6U2_ROOT_DIRECTORY not set WS6U2_INCLUDE_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)include ; WS6U2_STDLIB_DIRECTORY ?= $(WS6U2_ROOT_DIRECTORY)$(SLASH)lib ; flags cc LINKFLAGS <runtime-link>static : -Bstatic ; flags cc CFLAGS <debug-symbols>on : -g ; flags cc LINKFLAGS <debug-symbols>on : -g ; flags cc CFLAGS <optimization>off : -xO0 ; flags cc CFLAGS <optimization>speed : -xO4 ; # Other optimizations we might want for WS6U2 # # flags cc CFLAGS <optimization>space : -xO2 ; flags cc CFLAGS <inlining>off : -xinline=no%func ; flags cc CFLAGS <inlining>on : -xinline=%auto ; flags cc CFLAGS <inlining>full : -xinline=%auto ; flags cc CFLAGS <profiling>on : -xpg ; flags cc LINKFLAGS <profiling>on : -xpg ; flags cc DEFINES <define> ; flags cc UNDEFS <undef> ; flags cc HDRS <include> ; flags cc STDHDRS : $(WS6U2_INCLUDE_DIRECTORY) ; flags cc STDLIBPATH : $(WS6U2_STDLIB_DIRECTORY) ; flags cc CFLAGS <shared-linkable>true : -KPIC ; flags cc LINKFLAGS <shared-linkable>true : -KPIC ; flags cc LINKFLAGS <target-type>DLL : -G ; flags cc LIBPATH <library-path> ; flags cc NEEDLIBS <library-file> ; flags cc FINDLIBS <find-library> ; #### Link #### rule Link-action { # This will appear before the import library name when building a DLL, but # will be "multiplied away" otherwise. The --exclude-symbols directive # proved to be neccessary with some versions of Cygwin. ##sik IMPLIB_COMMAND on $(<) = "-Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start__ -Wl,--out-implib," ; # IMPLIB_COMMAND on $(<) = "-Wl,--out-implib," ; cc-Link-action $(<) : $(>) ; } # for cc, we repeat all libraries so that dependencies are always resolved actions cc-Link-action bind NEEDLIBS { $(WS6U2_BIN_DIRECTORY)CC $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -znodefs } # older actions # $(WS6U2_BIN_DIRECTORY)dlltool -e $(<[1]:S=:D=:G=) -l "$(<[2])" "$(>)" # $(WS6U2_BIN_DIRECTORY)CC $(LINKFLAGS) -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -o "$(<[1])" #### Cc ##### rule Cc-action { cc-Cc-action $(<) : $(>) ; } actions cc-Cc-action { $(WS6U2_BIN_DIRECTORY)cc -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### rule C++-action { cc-C++-action $(<) : $(>) ; } actions cc-C++-action { $(WS6U2_BIN_DIRECTORY)CC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I$(BOOST_ROOT) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### rule Archive-action { cc-Archive-action $(<) : $(>) ; } actions updated together piecemeal cc-Archive-action { ar ru "$(<)" "$(>)" } [Non-text portions of this message have been removed]
No matter what I try, ( I set JAMBASE, specified boost-base.jam etc... I always get the following error
kanita% jam -f./tools/build/allyourbase.jam -sTOOLS="suncc" ./tools/build/allyourbase.jam: line 1608: syntax error at keyword ( don't know how to make all ...found 1 target... ...can't find 1 target... kanita%
Line 1608 is the one that says:
rule remember-binding ( target : bound-path ) { gBINDING($(target)) = $(bound-path) ; }
...
How do I make jam understand the extended syntax ?
( Using FTjam 2.3.5 ...)
Sinan Karasu
Whilst not the same compiler, someone has just got a response from Dave
Abrahams regarding possibly a similar problem.
[Sorry I'm not a FTJam person, but hopefully if you don't resolve your
problems, Dave or someone will be able to answer any followup.]
I don't know how to reference the message from the boost-developers list, so
I'll copy/paste.
Hope it helps:
Dave's answer:
------------------------
Rats! I went to significant trouble to try to keep requirements on Boost Jam
features out of this release, but I guess I messed it up :(.
The documentation is not quite up-to-date, but updated instructions for
building Boost Jam have been checked in and can be viewed at:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/~checkout~/boost/boost/tools/
build/index.html?rev=1.6
Here are the relevant bits:
------------
a.. Download FTJam and install the binary executable where it will be found
when invoked from the command line.
a.. For easy-to-build source files, see the FTJam site on SourceForge.
b.. For Linux and Win32 pre-built executables, see the ftjam section of
the FreeType file list.
c.. If there is no pre-built FTJam executable for your platform, don't
bother downloading the source. Instead, read the Jam build instructions and
apply them directly to the Boost Jam sources in the tools/build/jam_src
subdirectory.
a.. If you acquired FTJam in the previous step, go to the
tools/build/jam_src subdirectory and invoke
jam -sBOOST_ROOT= -sBOOST_BUILD_PATH= -sJAMBASE=
a.. which will build a new copy of Jam with the Boost extensions enabled. If
FTJam complains about a missing toolset variable, follow its directions by
adding the appropriate settings, e.g.:
jam -sBOOST_ROOT= -sBOOST_BUILD_PATH= -sJAMBASE= -sJAM_TOOLSET=VISUALC -sVIS
UALC=c:/tools/msvc
a.. Replace the FTJam executable with the one in the newly-created
bin.platform subdirectory.
----- Original Message -----
From:
I had some difficulties building Boost 1.25.1 with msvc on Windows NT. If I try to use the ftjam-2.3.5 binaries and try "jam -ftools/build/allyourbase.jam -sTOOLS=msvc" I get a syntax error: "tools/build/allyourbase.jam: line 1608: syntax error at keyword ("
Using jam from the boost package seems to work with "jam -sBOOST_ROOT=. -sTOOLS=msvc", but not if I try to build it with "jam -ftools/build/allyourbase.jam -sTOOLS=msvc". Then I get: "new-split.jam: No such file or directory [...]" Hmm, it's just a bit confusing... :-(
Paul Baxter wrote:
[...]
Whilst not the same compiler, someone has just got a response from Dave Abrahams regarding possibly a similar problem. [Sorry I'm not a FTJam person, but hopefully if you don't resolve your problems, Dave or someone will be able to answer any followup.]
[...] Thanx, cd ~/boost_1_25_1/tools/build/jam_sr jam -sBOOST_ROOT= -sBOOST_BUILD_PATH= -sJAMBASE= cp bin.solaris/jam ~/bin cd ~/boost_1_25_1 jam -sBOOST_ROOT=. -sTOOLS="suncc" did the trick. It is building now.... Sinan
participants (2)
-
Paul Baxter
-
Sinan