xref: /petsc/configure (revision a619e86cce09c297248143d11e5e2671758d7c38)
13f0ec617SSatish Balay#!/bin/sh
23f0ec617SSatish Balay
33f0ec617SSatish Balay"true" '''\'
43f0ec617SSatish Balayfor pyimpl in python3 python python2; do
585290d95SSatish Balay  which $pyimpl > /dev/null 2>&1
685290d95SSatish Balay  if [ $? -eq 0 ]; then
785290d95SSatish Balay    $pyimpl -c "import distutils.sysconfig" > /dev/null 2>&1
885290d95SSatish Balay    if [ $? -eq 0 ]; then
9*a619e86cSBarry Smith      exec $pyimpl "$0" "$@"
1085290d95SSatish Balay    else
1185290d95SSatish Balay      echo "$pyimpl is missing distutils.sysconfig, Skipping..."
1285290d95SSatish Balay    fi
1385290d95SSatish Balay  fi
143f0ec617SSatish Balaydone
1585290d95SSatish Balayecho "Error! Could not locate Python (with distutils.sysconfig)! Please install and have python3, python, or python2 (with distutils.sysconfig) in PATH."
163f0ec617SSatish Balayecho "Or use: /path/to/valid/python configure $@"
173f0ec617SSatish Balayexit 127
183f0ec617SSatish Balay'''
19a8bae526SJed Brown
20a3e07f7dSJed Brownimport sys, os
217fe2cf7aSSatish Balay
227fe2cf7aSSatish Balayif sys.version_info < (2,6) or (sys.version_info >= (3,0) and sys.version_info < (3,4)):
237fe2cf7aSSatish Balay  print('************************************************************************')
247fe2cf7aSSatish Balay  print('*      Python version 2.6+ or 3.4+ is required to run ./configure      *')
257fe2cf7aSSatish Balay  print('*         Try: "python2.7 ./configure" or "python3 ./configure"        *')
267fe2cf7aSSatish Balay  print('************************************************************************')
277fe2cf7aSSatish Balay  sys.exit(4)
287fe2cf7aSSatish Balay
2985290d95SSatish Balaytry:
3085290d95SSatish Balay  import distutils.sysconfig
3185290d95SSatish Balayexcept:
3285290d95SSatish Balay  print('************************************************************************')
3385290d95SSatish Balay  print('* '+sys.executable+' is missing "distutils.sysconfig" module! Its required to build PETSc **')
3485290d95SSatish Balay  print('* Try installing (for ex: on Ubuntu) "python3-distutils"  or equivalent package that is compatible with '+sys.executable+' ***')
3585290d95SSatish Balay  print('************************************************************************')
3685290d95SSatish Balay  sys.exit(4)
3785290d95SSatish Balay
38813ae6e9SJed Brownsys.path.insert(0, os.path.abspath('config'))
39813ae6e9SJed Brownimport configure
40813ae6e9SJed Brownconfigure.petsc_configure([])
41