From 29610c1d1cd0a657b4fb42ae36203fe6f1b7347b Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Sun, 31 Dec 2023 11:16:51 -0800 Subject: [PATCH] src/sage/**/meson.build.in: Add non-auto-generated bits from other meson.build files from PR Compile everything with meson (https://github.com/sagemath/sage/pull/36524 at 46bc6b4279c47c3f12c7da29f309b053a5cdb17c (2023-12-31) squashed on 10.3.beta4 --- src/sage/ext/meson.build.in | 42 +++++++++++++++++++ .../graph_decompositions/meson.build.in | 7 ++++ src/sage/graphs/meson.build.in | 10 +++++ src/sage/libs/coxeter3/meson.build.in | 1 + src/sage/libs/giac/meson.build.in | 5 +++ src/sage/libs/meson.build.in | 7 ++++ src/sage/libs/symmetrica/meson.build.in | 6 +++ src/sage/matrix/meson.build.in | 11 +++++ src/sage/meson.build.in | 9 ---- src/sage/modular/arithgroup/meson.build.in | 7 ++++ src/sage/rings/meson.build.in | 5 +++ .../rings/polynomial/pbori/meson.build.in | 7 ++++ .../hyperelliptic_curves/meson.build.in | 1 + src/sage/symbolic/meson.build.in | 2 + 14 files changed, 111 insertions(+), 9 deletions(-) create mode 100644 src/sage/ext/meson.build.in create mode 100644 src/sage/graphs/graph_decompositions/meson.build.in create mode 100644 src/sage/graphs/meson.build.in create mode 100644 src/sage/libs/coxeter3/meson.build.in create mode 100644 src/sage/libs/giac/meson.build.in create mode 100644 src/sage/libs/meson.build.in create mode 100644 src/sage/libs/symmetrica/meson.build.in create mode 100644 src/sage/matrix/meson.build.in create mode 100644 src/sage/modular/arithgroup/meson.build.in create mode 100644 src/sage/rings/meson.build.in create mode 100644 src/sage/rings/polynomial/pbori/meson.build.in create mode 100644 src/sage/schemes/hyperelliptic_curves/meson.build.in create mode 100644 src/sage/symbolic/meson.build.in diff --git a/src/sage/ext/meson.build.in b/src/sage/ext/meson.build.in new file mode 100644 index 00000000000..365b1632c75 --- /dev/null +++ b/src/sage/ext/meson.build.in @@ -0,0 +1,42 @@ +interpreters = custom_target( + 'sage.ext.interpreters', + output: 'all.py', + input: '../../sage_setup/autogen/interpreters/__init__.py', + command: [py, '-m', 'sage_setup.autogen.interpreters', meson.current_source_dir() / 'interpreters'], + # This is actually against the Meson philosophy, which does not like in-source builds. + # So normally you would do something like the following + # however, this we currently cannot pass the generated files as sources to install_sources + # properly fixing this is left for a follow-up + # command: [py, '-m', 'sage_setup.autogen.interpreters','@OUTDIR@'], + env: ['PYTHONPATH=' + meson.current_source_dir() / '..' / '..'], +) + +# Manually create header files, which otherwise is not found +wrapper_el_header = custom_target( + 'wrapper_el.h', + output : 'wrapper_el.h', + input : ['interpreters/wrapper_el.pyx', interpreters], + command : [cython.cmd_array(), '@INPUT0@', '-o', '@OUTPUT@', '-I', join_paths(meson.current_source_dir(), '../../')], +) +wrapper_cc_header = custom_target( + 'wrapper_cc.h', + output : 'wrapper_cc.h', + input : ['interpreters/wrapper_cc.pyx', interpreters], + command : [cython.cmd_array(), '@INPUT0@', '-o', '@OUTPUT@', '-I', join_paths(meson.current_source_dir(), '../../')], +) +wrapper_cdf_header = custom_target( + 'wrapper_cdf.h', + output : 'wrapper_cdf.h', + input : ['interpreters/wrapper_cdf.pyx', interpreters], + command : [cython.cmd_array(), '@INPUT0@', '-o', '@OUTPUT@', '-I', join_paths(meson.current_source_dir(), '../../')], +) +wrapper_rr_header = custom_target( + 'wrapper_rr.h', + output : 'wrapper_rr.h', + input : ['interpreters/wrapper_rr.pyx', interpreters], + command : [cython.cmd_array(), '@INPUT0@', '-o', '@OUTPUT@', '-I', join_paths(meson.current_source_dir(), '../../')], +) + +interpreters_dep = declare_dependency( + sources: [interpreters, wrapper_el_header, wrapper_cc_header, wrapper_cdf_header, wrapper_rr_header], +) diff --git a/src/sage/graphs/graph_decompositions/meson.build.in b/src/sage/graphs/graph_decompositions/meson.build.in new file mode 100644 index 00000000000..1c4f674af8e --- /dev/null +++ b/src/sage/graphs/graph_decompositions/meson.build.in @@ -0,0 +1,7 @@ +tdlib = cc.find_library('tdlib', required: false) +# Cannot be found via pkg-config +rw = declare_dependency( + dependencies: [ + cc.find_library('rw'), + ] +) diff --git a/src/sage/graphs/meson.build.in b/src/sage/graphs/meson.build.in new file mode 100644 index 00000000000..963add61ce1 --- /dev/null +++ b/src/sage/graphs/meson.build.in @@ -0,0 +1,10 @@ +bliss = cc.find_library('bliss', required: false) +mcqd = cc.find_library('mcqd', required: false) +cliquer = cc.find_library('cliquer') + +# Cannot be found via pkg-config +planarity = declare_dependency( + dependencies: [ + cc.find_library('planarity'), + ] +) diff --git a/src/sage/libs/coxeter3/meson.build.in b/src/sage/libs/coxeter3/meson.build.in new file mode 100644 index 00000000000..eebd9806621 --- /dev/null +++ b/src/sage/libs/coxeter3/meson.build.in @@ -0,0 +1 @@ +coxeter3 = cc.find_library('coxeter3', required: false) diff --git a/src/sage/libs/giac/meson.build.in b/src/sage/libs/giac/meson.build.in new file mode 100644 index 00000000000..94990555c4c --- /dev/null +++ b/src/sage/libs/giac/meson.build.in @@ -0,0 +1,5 @@ +giac = declare_dependency( + dependencies: [ + cc.find_library('giac', required: false), + ] +) diff --git a/src/sage/libs/meson.build.in b/src/sage/libs/meson.build.in new file mode 100644 index 00000000000..a465e2cdd32 --- /dev/null +++ b/src/sage/libs/meson.build.in @@ -0,0 +1,7 @@ +sirocco = declare_dependency( + dependencies: [ + cc.find_library('sirocco', required: false), + ] +) +# cannot be found via pkg-config +ecl = cc.find_library('ecl') diff --git a/src/sage/libs/symmetrica/meson.build.in b/src/sage/libs/symmetrica/meson.build.in new file mode 100644 index 00000000000..e208969ecfc --- /dev/null +++ b/src/sage/libs/symmetrica/meson.build.in @@ -0,0 +1,6 @@ +# Cannot be found by pkg-config +symmetrica = declare_dependency( + dependencies: [ + cc.find_library('symmetrica'), + ] +) diff --git a/src/sage/matrix/meson.build.in b/src/sage/matrix/meson.build.in new file mode 100644 index 00000000000..1551376f8d9 --- /dev/null +++ b/src/sage/matrix/meson.build.in @@ -0,0 +1,11 @@ +# Cannot be found via pkg-config +meataxe = declare_dependency( + dependencies: [ + cc.find_library('meataxe', required: false), + ] +) +iml = declare_dependency( + dependencies: [ + cc.find_library('iml'), + ] +) diff --git a/src/sage/meson.build.in b/src/sage/meson.build.in index cabc7cd07a4..33a711816ee 100644 --- a/src/sage/meson.build.in +++ b/src/sage/meson.build.in @@ -148,12 +148,3 @@ inc_ext = include_directories('sage/ext') inc_interpreters = include_directories('sage/ext/interpreters') inc_partn_ref2 = include_directories('sage/groups/perm_gps/partn_ref2') inc_src = include_directories('.') - -pthread = declare_dependency( - dependencies: [ - cc.find_library('pthread'), - ] -) - -inc_ginac = include_directories('symbolic/ginac') -inc_pynac = include_directories('symbolic') diff --git a/src/sage/modular/arithgroup/meson.build.in b/src/sage/modular/arithgroup/meson.build.in new file mode 100644 index 00000000000..8a76d5edcd0 --- /dev/null +++ b/src/sage/modular/arithgroup/meson.build.in @@ -0,0 +1,7 @@ +# Manually create header file, which otherwise is not found +farey_symbol_header = custom_target( + 'farey_symbol.h', + output : 'farey_symbol.h', + input : 'farey_symbol.pyx', + command : [cython.cmd_array(), '--cplus', '@INPUT@', '-o', '@OUTPUT@', '-I', join_paths(meson.current_source_dir(), '../../../')], +) diff --git a/src/sage/rings/meson.build.in b/src/sage/rings/meson.build.in new file mode 100644 index 00000000000..d455898552a --- /dev/null +++ b/src/sage/rings/meson.build.in @@ -0,0 +1,5 @@ +pthread = declare_dependency( + dependencies: [ + cc.find_library('pthread'), + ] +) diff --git a/src/sage/rings/polynomial/pbori/meson.build.in b/src/sage/rings/polynomial/pbori/meson.build.in new file mode 100644 index 00000000000..ed5a4b421ee --- /dev/null +++ b/src/sage/rings/polynomial/pbori/meson.build.in @@ -0,0 +1,7 @@ +brial = declare_dependency( + dependencies: [ + cc.find_library('brial', required: false), + ] +) +# Cannot be found via pkg-config +brial_groebner = cc.find_library('brial_groebner') diff --git a/src/sage/schemes/hyperelliptic_curves/meson.build.in b/src/sage/schemes/hyperelliptic_curves/meson.build.in new file mode 100644 index 00000000000..ca45bd10f62 --- /dev/null +++ b/src/sage/schemes/hyperelliptic_curves/meson.build.in @@ -0,0 +1 @@ +inc_hypellfrob = include_directories('hypellfrob') diff --git a/src/sage/symbolic/meson.build.in b/src/sage/symbolic/meson.build.in new file mode 100644 index 00000000000..af62952ba40 --- /dev/null +++ b/src/sage/symbolic/meson.build.in @@ -0,0 +1,2 @@ +inc_ginac = include_directories('ginac') +inc_pynac = include_directories('.')