Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: swig/swig
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: swig-fortran/swig
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
Loading
Showing with 19,302 additions and 1,229 deletions.
  1. +8 −302 .github/workflows/ci.yml
  2. +8 −0 .gitignore
  3. +2 −0 COPYRIGHT
  4. +112 −20 Doc/Manual/Contents.html
  5. +53 −53 Doc/Manual/Extending.html
  6. +2,454 −0 Doc/Manual/Fortran.html
  7. +30 −30 Doc/Manual/Go.html
  8. +22 −22 Doc/Manual/Guile.html
  9. +110 −110 Doc/Manual/Java.html
  10. +29 −86 Doc/Manual/Javascript.html
  11. +44 −44 Doc/Manual/Lua.html
  12. +4 −4 Doc/Manual/Mzscheme.html
  13. +33 −33 Doc/Manual/Ocaml.html
  14. +26 −26 Doc/Manual/Octave.html
  15. +84 −54 Doc/Manual/Perl5.html
  16. +89 −57 Doc/Manual/Php.html
  17. +174 −113 Doc/Manual/Python.html
  18. +9 −9 Doc/Manual/R.html
  19. +100 −100 Doc/Manual/Ruby.html
  20. +48 −68 Doc/Manual/Scilab.html
  21. +1 −0 Doc/Manual/Sections.html
  22. +46 −46 Doc/Manual/Tcl.html
  23. +1 −0 Doc/Manual/chapters
  24. BIN Doc/Manual/fortran-data.png
  25. +1 −1 Doc/Manual/maketoc.py
  26. +2,066 −0 Doc/Manual/src/Fortran.md
  27. +11 −0 Doc/Manual/src/README.md
  28. +113 −0 Doc/Manual/src/pandoc2swigman.py
  29. +13 −0 Doc/Manual/src/regenerate.sh
  30. +32 −0 Doc/Manual/src/style.css
  31. +50 −0 Examples/Makefile.in
  32. +21 −0 Examples/fortran/bare/Makefile
  33. +88 −0 Examples/fortran/bare/example.cxx
  34. +82 −0 Examples/fortran/bare/example.h
  35. +34 −0 Examples/fortran/bare/example.i
  36. +66 −0 Examples/fortran/bare/runme.f90
  37. +21 −0 Examples/fortran/bindc/Makefile
  38. +77 −0 Examples/fortran/bindc/example.cxx
  39. +32 −0 Examples/fortran/bindc/example.h
  40. +19 −0 Examples/fortran/bindc/example.i
  41. +80 −0 Examples/fortran/bindc/runme.f90
  42. +15 −0 Examples/fortran/check.list
  43. +21 −0 Examples/fortran/class/Makefile
  44. +50 −0 Examples/fortran/class/example.cxx
  45. +48 −0 Examples/fortran/class/example.h
  46. +24 −0 Examples/fortran/class/example.i
  47. +90 −0 Examples/fortran/class/runme.f90
  48. +28 −0 Examples/fortran/except/Makefile
  49. +21 −0 Examples/fortran/except/downstream.i
  50. +41 −0 Examples/fortran/except/example.i
  51. +40 −0 Examples/fortran/except/runme.f90
  52. +21 −0 Examples/fortran/funcptr/Makefile
  53. +19 −0 Examples/fortran/funcptr/example.c
  54. +11 −0 Examples/fortran/funcptr/example.h
  55. +22 −0 Examples/fortran/funcptr/example.i
  56. +44 −0 Examples/fortran/funcptr/runme.f90
  57. +21 −0 Examples/fortran/inheritance/Makefile
  58. +64 −0 Examples/fortran/inheritance/example.cxx
  59. +50 −0 Examples/fortran/inheritance/example.h
  60. +9 −0 Examples/fortran/inheritance/example.i
  61. +67 −0 Examples/fortran/inheritance/runme.F90
  62. +21 −0 Examples/fortran/simple/Makefile
  63. +17 −0 Examples/fortran/simple/example.c
  64. +8 −0 Examples/fortran/simple/example.i
  65. +26 −0 Examples/fortran/simple/runme.f90
  66. +21 −0 Examples/fortran/spdemo/Makefile
  67. +74 −0 Examples/fortran/spdemo/example.cxx
  68. +40 −0 Examples/fortran/spdemo/example.h
  69. +14 −0 Examples/fortran/spdemo/example.i
  70. +83 −0 Examples/fortran/spdemo/runme.f90
  71. +21 −0 Examples/fortran/static_members/Makefile
  72. +5 −0 Examples/fortran/static_members/example.cxx
  73. +13 −0 Examples/fortran/static_members/example.h
  74. +9 −0 Examples/fortran/static_members/example.i
  75. +31 −0 Examples/fortran/static_members/runme.F90
  76. +21 −0 Examples/fortran/std_string/Makefile
  77. +26 −0 Examples/fortran/std_string/example.cxx
  78. +10 −0 Examples/fortran/std_string/example.h
  79. +14 −0 Examples/fortran/std_string/example.i
  80. +48 −0 Examples/fortran/std_string/runme.f90
  81. +21 −0 Examples/fortran/templated/Makefile
  82. +25 −0 Examples/fortran/templated/example.cxx
  83. +13 −0 Examples/fortran/templated/example.h
  84. +16 −0 Examples/fortran/templated/example.i
  85. +19 −0 Examples/fortran/templated/runme.f90
  86. +21 −0 Examples/fortran/thinvec/Makefile
  87. +56 −0 Examples/fortran/thinvec/example.cxx
  88. +57 −0 Examples/fortran/thinvec/example.h
  89. +70 −0 Examples/fortran/thinvec/example.i
  90. +54 −0 Examples/fortran/thinvec/runme.f90
  91. +1 −0 Examples/test-suite/abstract_signature.i
  92. +4 −2 Examples/test-suite/abstract_virtual.i
  93. +4 −4 Examples/test-suite/argcargvtest.i
  94. +10 −0 Examples/test-suite/arrays.i
  95. +3 −0 Examples/test-suite/constant_directive.i
  96. +1 −0 Examples/test-suite/contract.i
  97. +5 −0 Examples/test-suite/cpp11_move_typemaps.i
  98. +14 −16 Examples/test-suite/default_constructor.i
  99. +1 −1 Examples/test-suite/director_smartptr.i
  100. +11 −2 Examples/test-suite/dynamic_cast.i
  101. +1 −0 Examples/test-suite/evil_diamond.i
  102. +1 −0 Examples/test-suite/evil_diamond_ns.i
  103. +1 −0 Examples/test-suite/evil_diamond_prop.i
  104. +2 −0 Examples/test-suite/extend_variable.i
  105. +167 −0 Examples/test-suite/fortran/Makefile.in
  106. +16 −0 Examples/test-suite/fortran/abstract_access_runme.F90
  107. +34 −0 Examples/test-suite/fortran/array_member_runme.F90
  108. +44 −0 Examples/test-suite/fortran/arrays_global_twodim_runme.F90
  109. +27 −0 Examples/test-suite/fortran/arrays_runme.F90
  110. +35 −0 Examples/test-suite/fortran/ccomplextest_runme.F90
  111. +31 −0 Examples/test-suite/fortran/char_binary_runme.F90
  112. +28 −0 Examples/test-suite/fortran/complextest_runme.F90
  113. +35 −0 Examples/test-suite/fortran/constructor_copy_runme.F90
  114. +29 −0 Examples/test-suite/fortran/contract_c_runme.F90
  115. +58 −0 Examples/test-suite/fortran/cpp11_move_typemaps_runme.F90
  116. +27 −0 Examples/test-suite/fortran/cpp11_std_unique_ptr_runme.F90
  117. +58 −0 Examples/test-suite/fortran/cpp_basic_runme.F90
  118. +28 −0 Examples/test-suite/fortran/default_args_runme.F90
  119. +16 −0 Examples/test-suite/fortran/default_constructor_runme.F90
  120. +118 −0 Examples/test-suite/fortran/director_simple_runme.F90
  121. +32 −0 Examples/test-suite/fortran/dynamic_cast_runme.F90
  122. +23 −0 Examples/test-suite/fortran/enum_forward_runme.F90
  123. +21 −0 Examples/test-suite/fortran/enum_thorough_runme.F90
  124. +30 −0 Examples/test-suite/fortran/enums_runme.F90
  125. +22 −0 Examples/test-suite/fortran/equality_runme.F90
  126. +50 −0 Examples/test-suite/fortran/extend_template_method_runme.F90
  127. +27 −0 Examples/test-suite/fortran/extend_variable_runme.F90
  128. +2 −0 Examples/test-suite/fortran/fassert.h
  129. +89 −0 Examples/test-suite/fortran/fortran_array_typemap_runme.F90
  130. +133 −0 Examples/test-suite/fortran/fortran_bindc_runme.F90
  131. +75 −0 Examples/test-suite/fortran/fortran_callback_c_runme.F90
  132. +79 −0 Examples/test-suite/fortran/fortran_callback_runme.F90
  133. +58 −0 Examples/test-suite/fortran/fortran_global_const_runme.F90
  134. +78 −0 Examples/test-suite/fortran/fortran_naming_runme.F90
  135. +18 −0 Examples/test-suite/fortran/fortran_onlywrapped_runme.F90
  136. +37 −0 Examples/test-suite/fortran/fortran_overloads_runme.F90
  137. +151 −0 Examples/test-suite/fortran/fortran_ownership_runme.F90
  138. +60 −0 Examples/test-suite/fortran/fortran_std_span_runme.F90
  139. +61 −0 Examples/test-suite/fortran/fortran_subroutine_runme.F90
  140. +41 −0 Examples/test-suite/fortran/friends_runme.F90
  141. +40 −0 Examples/test-suite/fortran/funcptr_runme.F90
  142. +99 −0 Examples/test-suite/fortran/global_namespace_runme.F90
  143. +16 −0 Examples/test-suite/fortran/ignore_parameter_runme.F90
  144. +33 −0 Examples/test-suite/fortran/imports_runme.F90
  145. +29 −0 Examples/test-suite/fortran/inctest_runme.F90
  146. +68 −0 Examples/test-suite/fortran/li_boost_shared_ptr_runme.F90
  147. +73 −0 Examples/test-suite/fortran/li_std_map_runme.F90
  148. +83 −0 Examples/test-suite/fortran/li_std_set_runme.F90
  149. +25 −0 Examples/test-suite/fortran/li_std_string_runme.F90
  150. +136 −0 Examples/test-suite/fortran/li_std_vector_runme.F90
  151. +52 −0 Examples/test-suite/fortran/member_pointer_const_runme.F90
  152. +35 −0 Examples/test-suite/fortran/member_pointer_runme.F90
  153. +26 −0 Examples/test-suite/fortran/multi_import_runme.F90
  154. +47 −0 Examples/test-suite/fortran/operator_overload_runme.F90
  155. +26 −0 Examples/test-suite/fortran/ret_by_value_runme.F90
  156. +18 −0 Examples/test-suite/fortran/smart_pointer_simple_runme.F90
  157. +32 −0 Examples/test-suite/fortran/string_constants_runme.F90
  158. +38 −0 Examples/test-suite/fortran/template_array_numeric_runme.F90
  159. +35 −0 Examples/test-suite/fortran/template_basic_runme.F90
  160. +14 −0 Examples/test-suite/fortran/typedef_sizet_runme.F90
  161. +32 −0 Examples/test-suite/fortran/unions_runme.F90
  162. +103 −0 Examples/test-suite/fortran_array_typemap.i
  163. +236 −0 Examples/test-suite/fortran_bindc.i
  164. +3 −0 Examples/test-suite/fortran_bindc_c.i
  165. +110 −0 Examples/test-suite/fortran_callback.i
  166. +10 −0 Examples/test-suite/fortran_callback_c.i
  167. +67 −0 Examples/test-suite/fortran_global_const.i
  168. +248 −0 Examples/test-suite/fortran_naming.i
  169. +67 −0 Examples/test-suite/fortran_onlywrapped.i
  170. +81 −0 Examples/test-suite/fortran_overloads.i
  171. +93 −0 Examples/test-suite/fortran_ownership.i
  172. +63 −0 Examples/test-suite/fortran_std_span.i
  173. +52 −0 Examples/test-suite/fortran_subroutine.i
  174. +2 −2 Examples/test-suite/import_fragments_a.i
  175. +3 −0 Examples/test-suite/import_fragments_b.i
  176. +1 −1 Examples/test-suite/import_nomodule.i
  177. +4 −1 Examples/test-suite/li_boost_shared_ptr.i
  178. +1 −1 Examples/test-suite/li_boost_shared_ptr_attribute.i
  179. +1 −1 Examples/test-suite/li_boost_shared_ptr_bits.i
  180. +1 −1 Examples/test-suite/li_boost_shared_ptr_director.i
  181. +1 −1 Examples/test-suite/li_boost_shared_ptr_template.i
  182. +1 −1 Examples/test-suite/li_std_set.i
  183. +1 −1 Examples/test-suite/li_std_wstring.i
  184. +1 −1 Examples/test-suite/li_typemaps_apply.i
  185. +1 −0 Examples/test-suite/minherit2.i
  186. +2 −0 Examples/test-suite/multiple_inheritance.i
  187. +2 −1 Examples/test-suite/multiple_inheritance_abstract.i
  188. +1 −0 Examples/test-suite/multiple_inheritance_interfaces.i
  189. +2 −1 Examples/test-suite/multiple_inheritance_nspace.i
  190. +2 −1 Examples/test-suite/multiple_inheritance_shared_ptr.i
  191. +1 −1 Examples/test-suite/php/rename_camel_runme.php
  192. +1 −0 Examples/test-suite/preproc_predefined.h
  193. +1 −0 Examples/test-suite/pure_virtual.i
  194. +1 −1 Examples/test-suite/rename_camel.i
  195. +20 −1 Examples/test-suite/samename.i
  196. +2 −0 Examples/test-suite/smart_pointer_member.i
  197. +3 −0 Examples/test-suite/string_constants.i
  198. +6 −0 Examples/test-suite/template_array_numeric.i
  199. +1 −0 Examples/test-suite/template_inherit_abstract.i
  200. +6 −1 Examples/test-suite/typedef_sizet.i
  201. +6 −0 Examples/test-suite/typemap_directorout.i
  202. +8 −1 Examples/test-suite/typemap_namespace.i
  203. +2 −2 Examples/test-suite/typemap_subst.i
  204. +1 −1 Examples/test-suite/typemap_various.i
  205. +3 −0 Examples/test-suite/using2.i
  206. +2 −1 Examples/test-suite/using_namespace.i
  207. +9 −0 Examples/test-suite/wallkw.i
  208. +1 −0 Lib/allkw.swg
  209. +11 −0 Lib/cdata.i
  210. +54 −0 Lib/fortran/bindc.swg
  211. +183 −0 Lib/fortran/boost_shared_ptr.i
  212. +28 −0 Lib/fortran/ccomplex.i
  213. +458 −0 Lib/fortran/classes.swg
  214. +61 −0 Lib/fortran/complex.i
  215. +43 −0 Lib/fortran/director.swg
  216. +27 −0 Lib/fortran/enums.swg
  217. +184 −0 Lib/fortran/exception.i
  218. +27 −0 Lib/fortran/extern_exception.i
  219. +105 −0 Lib/fortran/fortran.swg
  220. +104 −0 Lib/fortran/fortranarray.swg
  221. +22 −0 Lib/fortran/fortranfragments.swg
  222. +356 −0 Lib/fortran/fortrankw.swg
  223. +42 −0 Lib/fortran/fortranruntime.swg
  224. +127 −0 Lib/fortran/fortranstrings.swg
  225. +419 −0 Lib/fortran/fundamental.swg
  226. +27 −0 Lib/fortran/funptrs.swg
  227. +47 −0 Lib/fortran/memfunptr.swg
  228. +12 −0 Lib/fortran/std_array.i
  229. +6 −0 Lib/fortran/std_auto_ptr.i
  230. +26 −0 Lib/fortran/std_common.i
  231. +27 −0 Lib/fortran/std_complex.i
  232. +15 −0 Lib/fortran/std_deque.i
  233. +58 −0 Lib/fortran/std_except.i
  234. +61 −0 Lib/fortran/std_map.i
  235. +23 −0 Lib/fortran/std_multiset.i
  236. +22 −0 Lib/fortran/std_pair.i
  237. +61 −0 Lib/fortran/std_set.i
  238. +13 −0 Lib/fortran/std_shared_ptr.i
  239. +58 −0 Lib/fortran/std_span.i
  240. +87 −0 Lib/fortran/std_string.i
  241. +39 −0 Lib/fortran/std_unique_ptr.i
  242. +140 −0 Lib/fortran/std_vector.i
  243. +27 −0 Lib/fortran/stdint.i
  244. +15 −0 Lib/fortran/stl.i
  245. +23 −0 Lib/fortran/swigmove.i
  246. +83 −0 Lib/fortran/typemaps.i
  247. +9 −1 Makefile.in
  248. +14 −0 Source/Include/swigwarn.h
  249. +1 −0 Source/Makefile.am
  250. +4,101 −0 Source/Modules/fortran.cxx
  251. +2 −0 Source/Modules/swigmain.cxx
  252. +1 −0 Source/Swig/swigwrap.h
  253. +5 −2 Source/Swig/wrapfunc.c
  254. +13 −0 Tools/CI-linux-environment.sh
  255. +7 −0 Tools/CI-linux-install.sh
  256. +18 −0 Tools/testflags.py
  257. +69 −0 configure.ac
310 changes: 8 additions & 302 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -32,309 +32,13 @@ jobs:
strategy:
matrix:
include:
- SWIGLANG: ""
CPPFLAGS: "-DDOH_POISON"
- SWIGLANG: ""
GCC: 7
- SWIGLANG: ""
GCC: 8
- SWIGLANG: ""
GCC: 9
- SWIGLANG: ""
GCC: 10
- SWIGLANG: ""
GCC: 11
- SWIGLANG: ""
GCC: 12
os: ubuntu-22.04
- SWIGLANG: ""
GCC: 13
os: ubuntu-22.04
- SWIGLANG: ""
compiler: clang
os: ubuntu-22.04
- SWIGLANG: csharp
- SWIGLANG: d
VER: 'ldc'
CPPSTD: c++14
- SWIGLANG: d
VER: 'gdmd'
CPPSTD: c++11
- SWIGLANG: d
VER: '2.103.1'
CPPSTD: c++17
- SWIGLANG: go
VER: '1.6'
CSTD: gnu11
- SWIGLANG: go
VER: '1.8'
- SWIGLANG: go
VER: '1.12'
CSTD: gnu11
- SWIGLANG: go
VER: '1.17'
- SWIGLANG: guile
- SWIGLANG: guile
VER: '2.2'
- SWIGLANG: guile
VER: '3.0'
- SWIGLANG: java
- SWIGLANG: javascript
ENGINE: jsc
VER: '4.0'
- SWIGLANG: javascript
ENGINE: napi
VER: '18'
CPPSTD: c++11
#- SWIGLANG: javascript
# ENGINE: node
# VER: '6'
# CPPSTD: c++11
# os: ubuntu-18.04
#- SWIGLANG: javascript
# ENGINE: node
# VER: '8'
# CPPSTD: c++11
# os: ubuntu-18.04
#- SWIGLANG: javascript
# ENGINE: node
# VER: '10'
# CPPSTD: c++11
# os: ubuntu-18.04
- SWIGLANG: javascript
ENGINE: node
VER: '12'
CPPSTD: c++11
- SWIGLANG: lua
- SWIGLANG: lua
VER: '5.3'
- SWIGLANG: octave
CPPSTD: c++11
- SWIGLANG: perl5
- SWIGLANG: php
VER: '8.0'
- SWIGLANG: php
VER: '8.1'
- SWIGLANG: php
VER: '8.2'
- SWIGLANG: python
PY2: 2
#- SWIGLANG: python
# VER: '3.3'
# os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
#- SWIGLANG: python
# VER: '3.4'
# os: ubuntu-18.04 # Python < 3.5 not available for 20.04.
- SWIGLANG: python
VER: '3.5'
- SWIGLANG: python
VER: '3.6'
- SWIGLANG: python
VER: '3.7'
- SWIGLANG: python
VER: '3.8'
- SWIGLANG: python
VER: '3.9'
- SWIGLANG: python
VER: '3.10'
- SWIGLANG: python
VER: '3.11'
- SWIGLANG: python
VER: '3.12'
CSTD: gnu99
- SWIGLANG: python
PY2: 2
SWIG_FEATURES: -builtin
- SWIGLANG: python
PY2: 2
SWIG_FEATURES: -builtin -O
- SWIGLANG: python
SWIG_FEATURES: -builtin
- SWIGLANG: python
SWIG_FEATURES: -builtin -O
- SWIGLANG: r
# rvm fails to install Ruby 1.9 on ubuntu-20.04
#- SWIGLANG: ruby
# VER: '1.9'
# os: ubuntu-18.04
- SWIGLANG: ruby
VER: '2.0'
- SWIGLANG: ruby
VER: '2.1'
- SWIGLANG: ruby
VER: '2.2'
- SWIGLANG: ruby
VER: '2.3'
- SWIGLANG: ruby
VER: '2.4'
- SWIGLANG: ruby
VER: '2.5'
- SWIGLANG: ruby
VER: '2.6'
- SWIGLANG: ruby
VER: '2.7'
- SWIGLANG: ruby
VER: '3.0'
CPPSTD: c++11
- SWIGLANG: ruby
VER: '3.1'
CPPSTD: c++11
- SWIGLANG: ruby
CPPSTD: c++11
VER: '3.2'
- SWIGLANG: scilab
VER: '5.5.2'
- SWIGLANG: scilab
VER: '6.0.2'
- SWIGLANG: scilab
os: ubuntu-22.04 # scilab 6.1.1
- SWIGLANG: scilab
VER: '2023.0.0'
- SWIGLANG: tcl
# c++11 testing
- SWIGLANG: csharp
CPPSTD: c++11
- SWIGLANG: go
VER: '1.17'
CPPSTD: c++11
CSTD: gnu11
- SWIGLANG: guile
CPPSTD: c++11
- SWIGLANG: java
CPPSTD: c++11
- SWIGLANG: javascript
ENGINE: jsc
VER: '4.1'
os: ubuntu-22.04
- SWIGLANG: fortran
- SWIGLANG: fortran
CPPSTD: c++11
- SWIGLANG: javascript
ENGINE: node
VER: '14'
CPPSTD: c++11
- SWIGLANG: lua
CPPSTD: c++11
- SWIGLANG: perl5
CPPSTD: c++11
- SWIGLANG: php
CPPSTD: c++11
CSTD: gnu11
- SWIGLANG: python
CPPSTD: c++11
- SWIGLANG: r
CPPSTD: c++11
- SWIGLANG: ruby
CPPSTD: c++11
- SWIGLANG: scilab
CPPSTD: c++11
- SWIGLANG: tcl
CPPSTD: c++11
# c++14 testing
- SWIGLANG: csharp
CPPSTD: c++14
- SWIGLANG: go
VER: '1.17'
CPPSTD: c++14
CSTD: gnu11
- SWIGLANG: guile
CPPSTD: c++14
- SWIGLANG: java
CPPSTD: c++14
- SWIGLANG: javascript
ENGINE: node
VER: '16'
CPPSTD: c++14
- SWIGLANG: lua
CPPSTD: c++14
- SWIGLANG: octave
CPPSTD: c++14
- SWIGLANG: perl5
CPPSTD: c++14
- SWIGLANG: php
CPPSTD: c++14
CSTD: gnu11
- SWIGLANG: python
CPPSTD: c++14
- SWIGLANG: r
CPPSTD: c++14
- SWIGLANG: ruby
CPPSTD: c++14
- SWIGLANG: scilab
CPPSTD: c++14
- SWIGLANG: tcl
CPPSTD: c++14
# c++17 testing (using gcc13)
- SWIGLANG: csharp
CPPSTD: c++17
GCC: 13
- SWIGLANG: go
VER: '1.17'
CPPSTD: c++17
GCC: 13
CSTD: gnu17
- SWIGLANG: guile
- SWIGLANG: fortran
CPPSTD: c++17
FCSTD: f2003
GCC: 13
- SWIGLANG: java
CPPSTD: c++17
GCC: 13
- SWIGLANG: javascript
ENGINE: node
VER: '18'
CPPSTD: c++17
GCC: 13
- SWIGLANG: lua
CPPSTD: c++17
GCC: 13
- SWIGLANG: octave
CPPSTD: c++17
GCC: 13
- SWIGLANG: perl5
CPPSTD: c++17
GCC: 13
- SWIGLANG: php
CPPSTD: c++17
CSTD: gnu17
GCC: 13
- SWIGLANG: python
CPPSTD: c++17
GCC: 13
- SWIGLANG: r
CPPSTD: c++17
GCC: 13
- SWIGLANG: ruby
CPPSTD: c++17
GCC: 13
- SWIGLANG: scilab
CPPSTD: c++17
GCC: 13
- SWIGLANG: tcl
CPPSTD: c++17
GCC: 13
# c++20 testing (using gcc13)
- SWIGLANG: python
CPPSTD: c++20
GCC: 13
os: ubuntu-22.04
- SWIGLANG: javascript
ENGINE: napi
VER: '20'
CPPSTD: c++20
GCC: 13
os: ubuntu-22.04
- SWIGLANG: javascript
ENGINE: node
VER: '20'
CPPSTD: c++20
GCC: 13
os: ubuntu-22.04
# Experimental languages (these are allowed to fail)
- SWIGLANG: mzscheme
continue-on-error: true
#- SWIGLANG: ocaml
# CPPSTD: c++17
# GCC: 13
# continue-on-error: true
# os: ubuntu-18.04 # ocaml-4.08 in ubuntu-20.04 not yet working
# Run all of them, as opposed to aborting when one fails
fail-fast: false

@@ -348,6 +52,7 @@ jobs:
CSTD: ${{ matrix.CSTD }}
CPPSTD: ${{ matrix.CPPSTD }}
CPPFLAGS: ${{ matrix.CPPFLAGS }}
FCSTD: ${{ matrix.FCSTD }}

steps:
- name: Checkout
@@ -468,10 +173,11 @@ jobs:
# Stricter compile flags for examples. Various headers and SWIG generated code prevents full use of -pedantic.
cflags=$($GITHUB_WORKSPACE/Tools/testflags.py --language $SWIGLANG --cflags --std=$CSTD --compiler=$CC)
cxxflags=$($GITHUB_WORKSPACE/Tools/testflags.py --language $SWIGLANG --cxxflags --std=$CPPSTD --compiler=$CC)
if test -n "$FC"; then fcflags=$($GITHUB_WORKSPACE/Tools/testflags.py --language $SWIGLANG --fcflags --std=$FCSTD --compiler=$FC); fi
make check-$SWIGLANG-version
make check-$SWIGLANG-enabled
make $SWIGJOBS check-$SWIGLANG-examples CFLAGS="$cflags" CXXFLAGS="$cxxflags"
make $SWIGJOBS check-$SWIGLANG-test-suite CFLAGS="$cflags" CXXFLAGS="$cxxflags"
make $SWIGJOBS check-$SWIGLANG-examples CFLAGS="$cflags" CXXFLAGS="$cxxflags" FCFLAGS="$fcflags"
make $SWIGJOBS check-$SWIGLANG-test-suite CFLAGS="$cflags" CXXFLAGS="$cxxflags" FCFLAGS="$fcflags"
fi
- name: Install
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -131,6 +131,14 @@ Examples/d/**/example.d
Examples/d/**/example_im.d
Examples/d/**/runme

# Fortran
*.mod
Examples/test-suite/fortran/*.f90
!Examples/test-suite/fortran/*runme.F90
Examples/fortran/*/*.f90
!Examples/fortran/*/*runme.f90
!Examples/fortran/*/*runme.F90

# Go
*.[5689]
*_gc.c
2 changes: 2 additions & 0 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ Copyright (c) 1995-1998 The University of Utah and the Regents of the University
Portions also copyrighted by:
Network Applied Communication Laboratory, Inc
Information-technology Promotion Agency, Japan
UT-Battelle, LLC

Active SWIG Developers:
William Fulton (wsf@fultondesigns.co.uk) (SWIG core, Java, C#, Windows, Cygwin)
@@ -17,6 +18,7 @@ Active SWIG Developers:
Momtchil Momtchev (momtchil@momtchev.com) (Javascript Node-API)
Simon Marchetto (simon.marchetto@scilab-enterprises.com) (Scilab)
Zackery Spytz (zspytz@gmail.com) (OCaml, SWIG core)
Seth Johnson (johnsonsr@ornl.gov) (Fortran)

Past SWIG developers and major contributors include:
Dave Beazley (dave-swig@dabeaz.com) (SWIG core, Python, Tcl, Perl)
Loading