diff --git a/binary_c-config b/binary_c-config index 4cbe9a974b7ea3578483533a1e1f02c2acca00b4..047201f8221c1e7de38dcc8f8673d52f4a81d1e8 100755 --- a/binary_c-config +++ b/binary_c-config @@ -106,7 +106,7 @@ while (( $# )); do case $key in --flags|-flags|flags|--cflags|-cflags|cflags) # return build flags - $VER 2>/dev/null | $GREP 'CFLAGS is \"' | $SED -e s/CFLAGS\ is\ // -e 's/^"[[:space:]]*//' -e 's/"[[:space:]]*$//' + $VER 2>/dev/null | $GREP 'CFLAGS is \"' | $SED -e s/CFLAGS\ is\ // -e 's/^"[[:space:]]*//' -e 's/"[[:space:]]*$//' #-e 's#$# -L/home/izzard/progs/stars/binary_c/src -I/home/izzard/progs/stars/binary_c/src#' shift ;; --define_macros|-define_macros|define_macros) @@ -136,7 +136,7 @@ while (( $# )); do ;; --libs|-libs|libs) # show libraries - $VER 2>/dev/null | $GREP 'LIBS is \"' | $SED -e s/LIBS\ is\ // -e 's/-L[^[:space:]]*//g' -e 's/^"[[:space:]]*//' -e 's/"[[:space:]]*$//' -e 's/[[:space:]]\+/ /g' + $VER 2>/dev/null | $GREP 'LIBS is \"' | $SED -e s/LIBS\ is\ // -e 's/-L[^[:space:]]*//g' -e 's/^"[[:space:]]*//' -e 's/"[[:space:]]*$//' -e 's/[[:space:]]\+/ /g' shift ;; --libs_list|-libs_list|libs_list) diff --git a/meson.build b/meson.build index 6f255f2559515c14d3f294511402de37faae0ca0..5ddbb9173f000c3a44ccd77309f0a4e509ba4e04 100644 --- a/meson.build +++ b/meson.build @@ -64,6 +64,7 @@ message('Meson process ID ' + pid) # paths in it (using the make_compile_commands_json.sh # script) # + run_command('/bin/bash', 'meson/background.sh', 'meson/wait_for_exit.sh', @@ -363,6 +364,7 @@ _other_cflags = [ '-Wno-variadic-macros', # let these errors pass '-fstack-protector-all', # stack smashing checks (slows runtime) '-rdynamic', + '-fsignaling-nans', # probably required ] # clang-specific if compiler.get_id() == 'clang' @@ -446,25 +448,33 @@ if get_option('accurate') == true ] else optional_flags += [ - '-fno-associative-math', + + ############################################################ # these are what -ffast-math does without -funsafe-math-optimizations + # + # Note: we disable some of them + '-fno-associative-math', '-fno-math-errno', - '-ffinite-math-only', + #'-ffinite-math-only', # not good '-fno-rounding-math', - '-fno-signaling-nans', + #'-fno-signaling-nans', # should be off : nan-signalling is required '-fcx-limited-range', '-fexcess-precision=fast', # never allow unsafe math optimizations '-fno-unsafe-math-optimizations', + ############################################################ ] endif +# note: +# -fno-finite-math-only and -fsignaling-nans cause +# library-naming problems with gcc 10.3 + optional_flags += [ '-fno-finite-math-only', - '-fsignaling-nans', - '-fomit-frame-pointer', - '-fvisibility=hidden', '-fasynchronous-unwind-tables', + '-fomit-frame-pointer', # not good for debugging? + '-fvisibility=hidden', '-rdynamic', '-export-dynamic', ] @@ -1405,21 +1415,6 @@ cflags += [ '-DMESON_PROJECT_VERSION=' + meson.project_version(), ] -############################################################ - -############################################################ -# command to make the compile_commands.json -# -if unix - compile_commands_json = [ - '../meson/compile_commands.json' - ] -else - compile_commands_json = [ - 'echo','"Cannot generate compile_commands.json on this operating system"' - ] -endif - ############################################################ # make gtags database gtags = find_program('gtags',required:false) @@ -1454,12 +1449,20 @@ if unix '&&', '../meson/list_shared_symbols.sh',libname, ] + + # and show the version number after the build + # using binary_c-config (tests that this works) + binary_c_legacy_install_cmd += [ + '&&', + 'echo','-n','built binary_c ', + '&&', + '../binary_c-config','version', + ] else binary_c_legacy_install_cmd = [ 'echo','"Legacy install not supported on this operating system"' ] endif -binary_c_legacy_install_cmd += compile_commands_json ############################################################ # @@ -1467,7 +1470,6 @@ binary_c_legacy_install_cmd += compile_commands_json # hence touch (and rebuild) it when the shared library is # rebuild # - if os == 'linux' and \ run_command('sh','-c','meson/check_binary_grid2.sh').returncode() == 0 binary_grid2_file = run_command( @@ -1644,7 +1646,14 @@ binary_c_shared_library = shared_library( ], link_args : [ libs, - '-fvisibility=hidden', + #'-fvisibility=hidden', + # this fails '-Wl,-soname,libbinary_c', + #'-Wl,-soname,libbinary_c', + + # this fails too + #'-Wl,-soname,libbinary_c.so', + + #'-Wl,-export-dynamic', ], link_with: [ binary_c_objects diff --git a/src/perl/modules_targz/Binning-0.03.tar.gz b/src/perl/modules_targz/Binning-0.03.tar.gz index f1651bce2b184e47aa933a329a424c6a99d35a09..e91706941e37da728c9838ae956ef4dd0245a924 100644 Binary files a/src/perl/modules_targz/Binning-0.03.tar.gz and b/src/perl/modules_targz/Binning-0.03.tar.gz differ diff --git a/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz b/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz index b5f0b0af9efcfe48fd04bfb28aa9c434fba4dc4f..68a8d2ddde6e55fba514e62f475ef337a6b78372 100644 Binary files a/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz and b/src/perl/modules_targz/Data-Serializer-RobJSON-0.05.tar.gz differ diff --git a/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz b/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz index 2f4b339b77e6462a9eaa14129f510be98268b740..771a95e61e5ef274710ee6f0aa2d8ef60f75391b 100644 Binary files a/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz and b/src/perl/modules_targz/Hash-RobMerge-0.14.tar.gz differ diff --git a/src/perl/modules_targz/Histogram-0.01.tar.gz b/src/perl/modules_targz/Histogram-0.01.tar.gz index 316bce9d5ac2ab00cc663fdb103faf1efe2acd8b..0d628fcf7f8c5767ea8c7b7090d43a4028a24773 100644 Binary files a/src/perl/modules_targz/Histogram-0.01.tar.gz and b/src/perl/modules_targz/Histogram-0.01.tar.gz differ diff --git a/src/perl/modules_targz/IMF-0.05.tar.gz b/src/perl/modules_targz/IMF-0.05.tar.gz index 0c2d72ad48f75fbc6a60102421b119c4bcdb5eee..d5b99f0833cfd9666a5f50fb4c08fe3c66632909 100644 Binary files a/src/perl/modules_targz/IMF-0.05.tar.gz and b/src/perl/modules_targz/IMF-0.05.tar.gz differ diff --git a/src/perl/modules_targz/Maths_Double-0.01.tar.gz b/src/perl/modules_targz/Maths_Double-0.01.tar.gz index 95851d56a29a43d614c3e35b9911da8227e8fe9c..15b02ce0400deaf649c2077531bffb43bbbf02a7 100644 Binary files a/src/perl/modules_targz/Maths_Double-0.01.tar.gz and b/src/perl/modules_targz/Maths_Double-0.01.tar.gz differ diff --git a/src/perl/modules_targz/binary_grid-v2.1.7.tar.gz b/src/perl/modules_targz/binary_grid-v2.1.7.tar.gz index 314dedf2edc1b1b74550e89de899e30e434a475b..99f559af75498e271185bbe383bed49733a0bd85 100644 Binary files a/src/perl/modules_targz/binary_grid-v2.1.7.tar.gz and b/src/perl/modules_targz/binary_grid-v2.1.7.tar.gz differ diff --git a/src/perl/modules_targz/binary_stars-0.05.tar.gz b/src/perl/modules_targz/binary_stars-0.05.tar.gz index cdc1cb96a526001be784ba3a235f43368a2e81f3..2d6e56f3c1273aeadf86b75f6fbb88603f151efb 100644 Binary files a/src/perl/modules_targz/binary_stars-0.05.tar.gz and b/src/perl/modules_targz/binary_stars-0.05.tar.gz differ diff --git a/src/perl/modules_targz/cosmology-0.01.tar.gz b/src/perl/modules_targz/cosmology-0.01.tar.gz index b9b69634e9802bc8ac7fe11f564cf0840aab3fea..a6a10f151f12338202cd7388e5862575d4f0597e 100644 Binary files a/src/perl/modules_targz/cosmology-0.01.tar.gz and b/src/perl/modules_targz/cosmology-0.01.tar.gz differ diff --git a/src/perl/modules_targz/distribution_functions-0.06.tar.gz b/src/perl/modules_targz/distribution_functions-0.06.tar.gz index bc4746f381822d4367836deefe60396553db63db..ea220ab9710142f97aee89824ecb3a0375f143cc 100644 Binary files a/src/perl/modules_targz/distribution_functions-0.06.tar.gz and b/src/perl/modules_targz/distribution_functions-0.06.tar.gz differ diff --git a/src/perl/modules_targz/rinterpolate-1.5.tar.gz b/src/perl/modules_targz/rinterpolate-1.5.tar.gz index cf390ac5c303c6aea018761cd7e13a6f2e62c13e..7244fa2fc84e5e1b6b0285e1d54e734203477c05 100644 Binary files a/src/perl/modules_targz/rinterpolate-1.5.tar.gz and b/src/perl/modules_targz/rinterpolate-1.5.tar.gz differ diff --git a/src/perl/modules_targz/rob_misc-0.17.tar.gz b/src/perl/modules_targz/rob_misc-0.17.tar.gz index 7fa8831b5ac2123662d9ef446c9f57d8e47d5bf4..d84844d8746cd33b655111dfe0c4592c87722897 100644 Binary files a/src/perl/modules_targz/rob_misc-0.17.tar.gz and b/src/perl/modules_targz/rob_misc-0.17.tar.gz differ diff --git a/src/perl/modules_targz/robqueue-0.05.tar.gz b/src/perl/modules_targz/robqueue-0.05.tar.gz index 0a68162d73e1bf5a0ad5ab31c74b9fcf76526cdc..66b173f758b6fd55a0bd3b54bb9b7c59f4522988 100644 Binary files a/src/perl/modules_targz/robqueue-0.05.tar.gz and b/src/perl/modules_targz/robqueue-0.05.tar.gz differ diff --git a/src/perl/modules_targz/spacing_functions-0.02.tar.gz b/src/perl/modules_targz/spacing_functions-0.02.tar.gz index 1727f72db8c69137788f20c205a169732b5b9a1b..8d984a19f902c0b39d72d33404de738a9b734a88 100644 Binary files a/src/perl/modules_targz/spacing_functions-0.02.tar.gz and b/src/perl/modules_targz/spacing_functions-0.02.tar.gz differ