How to make bjam use gcc instead of g++ using custom compiling and linking options
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.oIn 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
participants (1)
-
Edson Eustachio