Due to some environment settings I cannot change, I have to build a lib using bjam instead of make. In my own development environment, I have a Makefile that can successfuly build the lib with the following options:

gcc -x c -fPIC -shared -w -I include -o libfmtkit.so -lm src/fm5x.c src/fmTXT.c   src/fmAiq.c src/fmArray.c src/fmCalc.c src/fmCandle.c src/fmCT.c src/fmCSI.c src/fmDate.c src/fmDJ.c src/fmFile.c src/fmFin.c src/fmFS.c src/fmPNF.c src/fmStr.c src/fmTc.c src/fmTrade.c src/fmTT.c

So, I want to reproduce the options above in a Jamfile The first step is replace g++ by gcc. I've already found this can be done adding the rule using gcc But when I do that I got :

$ bjam error: at /usr/share/boost-build/build/project.jam:825 error: duplicate initialization of gcc with the following parameters: error: version = 4.4.3

So, I conclude I am already using gcc instead g++. Is that right?

The second step is overwrite the options -fPIC -shared -w to the my Jamfile Below is the Jamfile:

lib fmtkit :
        src/fm5x.c
        src/fmAiq.c
        src/fmArray.c
        src/fmCSI.c
        src/fmCT.c
        src/fmCalc.c
        src/fmCandle.c
        src/fmChartW.c
        src/fmDJ.c
        src/fmDate.c
        src/fmFS.c
        src/fmFile.c
        src/fmFin.c
        src/fmGraph.c
        src/fmPNF.c
        src/fmStr.c
        src/fmTT.c
        src/fmTXT.c
        src/fmTc.c
        src/fmTrade.c

       : <include>include
       : <link>shared
;

I've passed thru the boost documentation but I've not found or I'm not able to understand how to do that into my Jamfile. Does anyone have some clue of where should I find instructions to setting that?

This is the output I get when I try to build the lib using the Jamfile described above:

$ bjam
...found 81 targets...
...updating 3 targets...
gcc.compile.c bin/gcc-4.4.3/debug/fmChartW.o
In file included from src/fmChartW.c:7:
include/fmChartW.h:163: error: expected ')' before 'hdc'
include/fmChartW.h:166: error: expected ')' before 'hdc'
include/fmChartW.h:175: error: expected ')' before 'hdc'
include/fmChartW.h:176: error: expected ')' before 'hdc'
src/fmChartW.c:13: error: expected ')' before 'hdc'
src/fmChartW.c:300: error: expected ')' before 'hdc'
src/fmChartW.c: In function 'fmChartScreenInit':
src/fmChartW.c:323: warning: implicit declaration of function 'malloc'
src/fmChartW.c:323: warning: incompatible implicit declaration of built-in function     'malloc'
src/fmChartW.c:329: warning: implicit declaration of function 'free'
src/fmChartW.c:329: warning: incompatible implicit declaration of built-in function 'free'
src/fmChartW.c: In function 'fmChartScreenClose':
src/fmChartW.c:350: warning: incompatible implicit declaration of built-in function 'free'
src/fmChartW.c: At top level:
src/fmChartW.c:396: error: expected ')' before 'hdc'
src/fmChartW.c:604: error: expected ')' before 'hdc'

"g++" -x c -O0 -fno-inline -Wall -g -fPIC    -I"include" -c -o "bin/gcc-4.4.3/debug/fmChartW.o" "src/fmChartW.c"

...failed gcc.compile.c bin/gcc-4.4.3/debug/fmChartW.o...
gcc.compile.c bin/gcc-4.4.3/debug/fmGraph.o

...

src/fmGraph.c:2544: error: 'fmSCALETYPESEMILOG' undeclared (first use in this function)
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2546: error: dereferencing pointer to incomplete type
src/fmGraph.c:2547: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2551: error: dereferencing pointer to incomplete type
src/fmGraph.c:2552: error: dereferencing pointer to incomplete type
src/fmGraph.c: In function 'fmGraphYpos':
src/fmGraph.c:2565: error: 'fmSCALETYPESEMILOG' undeclared (first use in this function)
src/fmGraph.c:2573: error: 'fmSCALETYPEINVERTED' undeclared (first use in this function)

"g++" -x c -O0 -fno-inline -Wall -g -fPIC    -I"include" -c -o "bin/gcc-4.4.3/debug/fmGraph.o" "src/fmGraph.c"

...failed gcc.compile.c bin/gcc-4.4.3/debug/fmGraph.o...
...skipped <pbin/gcc-4.4.3/debug>libfmtkit.so for lack of <pbin/gcc-    4.4.3/debug>fmChartW.o...
...failed updating 2 targets...
...skipped 1 target...
Thanks in advance