summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Popela <tpopela@redhat.com>2018-08-31 09:57:55 +0200
committerTomas Popela <tpopela@redhat.com>2018-08-31 09:59:59 +0200
commit3a75671c77a7e3e75cb0a4163335630e2e3fdd3e (patch)
tree37c79c81a35c64207ee4eb2604f2c878e0b371e5
parent373dbc81ecfd4c7f5587fe89dd290641a066c122 (diff)
downloadlibsoup-3a75671c77a7e3e75cb0a4163335630e2e3fdd3e.tar.gz
meson: Adapt to the PHP changes in the httpd.conf.in
As there are more possible names of the PHP module (with or without minor version) use a glob when looking for it.
-rwxr-xr-xget_apache_module_dirs.py27
-rw-r--r--meson.build4
2 files changed, 22 insertions, 9 deletions
diff --git a/get_apache_module_dirs.py b/get_apache_module_dirs.py
index daef98b3..8333fd36 100755
--- a/get_apache_module_dirs.py
+++ b/get_apache_module_dirs.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
-# Copyright 2017 Tomas Popela <tpopela@redhat.com>
+# Copyright 2017, 2018 Tomas Popela <tpopela@redhat.com>
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -25,6 +25,18 @@ import re
import subprocess
import sys
import os
+import glob
+
+def check_php_module(modules_path):
+ php_modules = glob.glob(os.path.join(modules_path, 'libphp7*.so'));
+ if len(php_modules):
+ # The last one in the sorted output will be the desired php module.
+ return sorted(php_modules)[-1];
+
+
+def check_module(modules_path, module):
+ module_path = os.path.join(modules_path, module)
+ return os.path.isfile(module_path)
def main():
@@ -55,25 +67,26 @@ def main():
apache_module_dir = ''
apache_ssl_module_dir = ''
- apache_php_module_dir = ''
+ apache_php_module_file = ''
for lib_dir in ['lib', 'lib64']:
for httpd_dir in ['apache', 'apache2', 'http', 'http2', 'httpd']:
for mpm_suffix in ['', '-' + mpm]:
for modules_dir in ['', 'modules']:
modules_path = os.path.join(apache_prefix, lib_dir, httpd_dir + mpm_suffix, modules_dir)
- if os.path.isfile(os.path.join(modules_path, 'mod_auth_digest.so')):
+ if check_module(modules_path, 'mod_auth_digest.so'):
apache_module_dir = modules_path
- if os.path.isfile(os.path.join(modules_path, 'mod_ssl.so')):
+ if check_module(modules_path, 'mod_ssl.so'):
apache_ssl_module_dir = modules_path
- if os.path.isfile(os.path.join(modules_path, 'libphp7.so')):
- apache_php_module_dir = modules_path
+ php_module = check_php_module(modules_path)
+ if (php_module):
+ apache_php_module_file = php_module
# These two are mandatory for having properly configured Apache
if apache_module_dir == '' or apache_ssl_module_dir == '':
sys.exit(1)
- print(apache_module_dir + ":" + apache_ssl_module_dir + ":" + apache_php_module_dir, end='')
+ print(apache_module_dir + ":" + apache_ssl_module_dir + ":" + apache_php_module_file, end='')
if __name__ == "__main__":
main()
diff --git a/meson.build b/meson.build
index cbbde16e..52aebcda 100644
--- a/meson.build
+++ b/meson.build
@@ -132,7 +132,7 @@ if have_apache
message('Apache module directory: ' + apache_module_dirs[0])
cdata.set('APACHE_MODULE_DIR', apache_module_dirs[0])
cdata.set('APACHE_SSL_MODULE_DIR', apache_module_dirs[1])
- cdata.set('APACHE_PHP_MODULE_DIR', apache_module_dirs[2])
+ cdata.set('APACHE_PHP_MODULE_FILE', apache_module_dirs[2])
apache_mod_unixd = run_command('test', '-f', join_paths(apache_module_dirs[0], 'mod_unixd.so'))
cdata.set('IF_HAVE_MOD_UNIXD', apache_mod_unixd.returncode() == 0 ? '' : '#')
cdata.set('HAVE_APACHE', have_apache)
@@ -143,7 +143,7 @@ have_php = false
have_php_xmlrpc = false
if have_apache
php = find_program('php', required : false)
- apache_php_module = run_command('test', '-d', cdata.get('APACHE_PHP_MODULE_DIR'))
+ apache_php_module = run_command('test', '-f', cdata.get('APACHE_PHP_MODULE_FILE'))
if apache_php_module.returncode() == 0
have_php = true
php_xmlrpc = run_command(php, '-d', 'extension=xmlrpc', '-r', 'exit(function_exists("xmlrpc_server_create")?0:1);')