mirror of https://github.com/swig/swig
56 lines
1.4 KiB
OpenEdge ABL
56 lines
1.4 KiB
OpenEdge ABL
%module preproc_include
|
|
|
|
%{
|
|
#include "preproc_include_a.h"
|
|
#include "preproc_include_b.h"
|
|
int multiply10(int a) { return a*10; }
|
|
int multiply20(int a) { return a*20; }
|
|
int multiply30(int a) { return a*30; }
|
|
int multiply40(int a) { return a*40; }
|
|
int multiply50(int a) { return a*50; }
|
|
%}
|
|
|
|
#define INCLUDE_B preproc_include_b.h
|
|
#define FILE_INCLUDE(FNAME) #FNAME
|
|
|
|
%include FILE_INCLUDE(preproc_include_a.h)
|
|
|
|
// Note that this test uses -includeall, so including preproc_include_b.h also includes preproc_include_c.h
|
|
%include INCLUDE_B
|
|
|
|
%include"preproc_include_d withspace.h"
|
|
|
|
#define INCLUDE_E "preproc_include_e withspace.h"
|
|
|
|
%include INCLUDE_E
|
|
|
|
// node-gyp tool doesn't handle spaces in the dependencies correctly (see #2930), so skip this part when using it.
|
|
#ifndef BUILDING_NODE_EXTENSION
|
|
%inline %{
|
|
#define INCLUDE_F /*comments*/ "preproc_include_f withspace.h"/*testing*/
|
|
#include INCLUDE_F
|
|
#include /*oooo*/"preproc_include_g.h"/*ahhh*/
|
|
%}
|
|
|
|
%{
|
|
int multiply60(int a) { return a*60; }
|
|
int multiply70(int a) { return a*70; }
|
|
%}
|
|
#endif // !BUILDING_NODE_EXTENSION
|
|
|
|
%define nested_include_1(HEADER)
|
|
%include <HEADER>
|
|
%enddef
|
|
|
|
%define nested_include_2(HEADER)
|
|
nested_include_1(HEADER);
|
|
%enddef
|
|
|
|
%define nested_include_3(HEADER)
|
|
nested_include_2(HEADER);
|
|
%enddef
|
|
|
|
nested_include_1(preproc_include_h1.i);
|
|
nested_include_2(preproc_include_h2.i);
|
|
nested_include_3(preproc_include_h3.i);
|