diff --git a/meson.build b/meson.build
index 2ea063465cf6656fd1c3747256d2c8687b39d279..ee925f7ad816a13459f292a654c3e03388f484fe 100644
--- a/meson.build
+++ b/meson.build
@@ -845,6 +845,7 @@ binary_c_subdir_deps = []
 
 src_subdirs = run_command('meson/source_directories.sh').stdout().strip().split('\n')
 src_root_sourcefiles = run_command('meson/source_files.sh','./src').stdout().strip().split('\n')
+API_sourcefiles = run_command('meson/source_files.sh','./src/API').stdout().strip().split('\n')
 
 # build the objects from each subdir into their own static library
 foreach src_subdir : src_subdirs
@@ -946,10 +947,13 @@ binary_c_shared_library = shared_library(
     dependencies : [
         dependencies
     ],
+    sources : [
+        precompiled_headers,
+        API_sourcefiles,
+    ],
     c_args : [
         cflags,
-        quoted_cflags_list,
-        '--whole-archive',
+        quoted_cflags_list,        
     ],
     link_whole: [
         binary_c_objects,
@@ -958,6 +962,9 @@ binary_c_shared_library = shared_library(
         libs,
         '-fvisibility=hidden',
     ],
+    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 8ab88f4a63fbef8e632de1b79e78be641e690bdb..653cae9b32678f2a04dfb1c0f230966947227afe 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 d97512a073e1b819a9eb0623429e7b422181cf37..43a8750095d52a9921cc23a7f06204638252271f 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 df1bc65c0c9a62f134ee14ea6ea2da1010c1626e..f434eae612464aa6044b997be034b671aa9da3ac 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 6ab31ec710e5d7bbc18073c4a126f5bb46c41e10..8181e433597073891dda09b404fea55367804d5f 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 33120f67a5a522ed7fa9b15257903a6a4a080ce1..e63d1c09eb03158955a6b51cfcb8b09bd0df9754 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 7742f5a712760a6b1d07b3ad4f95e7057bdea14b..3738c69be2ebd08e7382cecade2d31543ae737a9 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/RobInterpolation-0.04.tar.gz b/src/perl/modules_targz/RobInterpolation-0.04.tar.gz
index e98b271ec12d5d28bc23a265865e442404152bd4..df86a129c2c5be46e191ac5d73b5329a6350590f 100644
Binary files a/src/perl/modules_targz/RobInterpolation-0.04.tar.gz and b/src/perl/modules_targz/RobInterpolation-0.04.tar.gz differ
diff --git a/src/perl/modules_targz/binary_grid-v2.1.5.tar.gz b/src/perl/modules_targz/binary_grid-v2.1.5.tar.gz
index 3f8d4124409c26adf758fe37137247024776afdf..acd52943ee7443ea0245a25cae8941d620987906 100644
Binary files a/src/perl/modules_targz/binary_grid-v2.1.5.tar.gz and b/src/perl/modules_targz/binary_grid-v2.1.5.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 c0475fd5f21c858a21c66a35090440bd0daba0e0..b368dfa2792efd3335139a86de45f4ab5f03d105 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 38aad9fcded7a3502b0f27c65d9f455600b41b45..24987b667b07ad818baff382caf49e91ee287e3c 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.05.tar.gz b/src/perl/modules_targz/distribution_functions-0.05.tar.gz
index 96224c2b2d04f11111b6026e2eb0ef100ad16f0d..02c7f9c47f5206943fb48507d5137cd9ae216a64 100644
Binary files a/src/perl/modules_targz/distribution_functions-0.05.tar.gz and b/src/perl/modules_targz/distribution_functions-0.05.tar.gz differ
diff --git a/src/perl/modules_targz/rob_misc-0.16.tar.gz b/src/perl/modules_targz/rob_misc-0.16.tar.gz
index 06ff4f9e478d128fd6a1132afc3e5b5213f114bd..b104e6b80aa4634f68129ad3e0fa83f5738d9cdc 100644
Binary files a/src/perl/modules_targz/rob_misc-0.16.tar.gz and b/src/perl/modules_targz/rob_misc-0.16.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 54844ee687541eef93abf4de1c7799926e6cf601..6483092366d4a4afcdcb7fa06a959cc180a6a66c 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 579c2cf133528e4152bcba937e267d4f54018aec..7f82d7f8b52d5b8e71c79c43f621fe34b877b784 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