From: Philippe S. <phi...@ya...> - 2017-10-05 15:10:06
|
Hello plplot devs, building ocaml bindings use an ocaml specific IDL named camlidl. This tool as a first pass invoke cpp for enabling the use of macro in the source .idl file. apple cpp and gnu cpp differs at least on the following: -----------8<----------#define QUOTEME(x) #x#define RAW_ML(x) quote(mlmli, QUOTEME(x)); RAW_ML("raw ml")------------8<---------- gives, using gnu cpp: # 1 "test2.idl"# 1 "<built-in>"# 1 "<command-line>"# 1 "test2.idl" quote(mlmli, "\"raw ml\""); ... and using apple cpp # 1 "test2.idl"# 1 "<built-in>" 1# 1 "<built-in>" 3# 328 "<built-in>" 3# 1 "<command line>" 1# 1 "<built-in>" 2# 1 "test2.idl" 2 quote(mlmli, #"raw ml"); which trigger the following build error: [ 47%] Built target plplotScanning dependencies of target plplotcxx[ 48%] Building CXX object bindings/c++/CMakeFiles/plplotcxx.dir/plstream.cc.o[ 50%] Linking CXX shared library libplplotcxx.dylib[ 50%] Built target plplotcxxScanning dependencies of target target_lib_plplot_stubs[ 51%] Generating plplot_core.idl, plplot_core.mli, plplot_core.ml, plplot_core_stubs.c, plplot_core.hFile plplot_core.idl, line 330, column 13: Illegal character #make[2]: *** [bindings/ocaml/plplot_core.idl] Error 2make[2]: *** Deleting file `bindings/ocaml/plplot_core.idl'make[1]: *** [bindings/ocaml/CMakeFiles/target_lib_plplot_stubs.dir/all] Error 2make: *** [all] Error 2 building ocaml binding on OS X require first, a gnu cpp onboard, and second, a mean to detect it. Regards --Philippe STRAUSS |