You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
perl-Inline-Python/perl-Inline-Python-makefile...

63 lines
2.2 KiB

2 years ago
From 9edd5893d574e3b6778723714787fd5f3dd09524 Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Tue, 18 Oct 2022 19:07:29 +0200
Subject: [PATCH] Fix Makefile logic
- shared_lib_priority() checks that the shared library exist in LIBPL.
No need to do the same check again when shared_lib_priority() is true.
- check_static_library() should check that the static library exists.
- Add LIBPL, but not LIBDIR, to RPATH.
---
Makefile.PL | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index 7d1a1b4..407451c 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -310,12 +310,6 @@ sub special_non_windows_check_shared_static_libs {
if (shared_lib_priority($ref)) {
$ref->{libpython} = $ref->{ldlib};
- my $shared_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython});
- if (!-f $shared_lib) {
- # Special case for pyenv. The shared library exists in $LIBDIR instead of in
- # $LIBPL
- $ref->{libpath} = get_config_var($ref, "LIBDIR");
- }
$ref->{rpath} = $ref->{libpath};
}
else {
@@ -340,9 +334,14 @@ sub special_non_windows_check_shared_static_libs {
. "WARNING: This is known to not work on linux.\n";
}
}
- $ref->{libpath} = get_config_var($ref, "LIBDIR");
$ref->{libpython} = $ref->{ldlib};
- $ref->{rpath} = $ref->{libpath};
+ my $shared_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython});
+ if (!-f $shared_lib) {
+ $ref->{libpath} = get_config_var($ref, "LIBDIR");
+ }
+ else {
+ $ref->{rpath} = $ref->{libpath};
+ }
}
}
}
@@ -363,6 +362,9 @@ sub shared_lib_priority {
sub check_static_library_ok {
my ($ref) = @_;
+ my $static_lib = File::Spec->catfile($ref->{libpath}, $ref->{libpython});
+ return 0 if (!-f $static_lib);
+
# We should check if the static library was compiled with -fPIC, or else
# we cannot create a shared Python.so from it.
# TODO: It seem like it is possible to build python with --enable-shared
--
2.37.3