17db96d56Sopenharmony_ci#!@EXENAME@ 27db96d56Sopenharmony_ci# -*- python -*- 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci# Keep this script in sync with python-config.sh.in 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ciimport getopt 77db96d56Sopenharmony_ciimport os 87db96d56Sopenharmony_ciimport sys 97db96d56Sopenharmony_ciimport sysconfig 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_civalid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', 127db96d56Sopenharmony_ci 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', 137db96d56Sopenharmony_ci 'embed'] 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_cidef exit_with_usage(code=1): 167db96d56Sopenharmony_ci print("Usage: {0} [{1}]".format( 177db96d56Sopenharmony_ci sys.argv[0], '|'.join('--'+opt for opt in valid_opts)), file=sys.stderr) 187db96d56Sopenharmony_ci sys.exit(code) 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_citry: 217db96d56Sopenharmony_ci opts, args = getopt.getopt(sys.argv[1:], '', valid_opts) 227db96d56Sopenharmony_ciexcept getopt.error: 237db96d56Sopenharmony_ci exit_with_usage() 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ciif not opts: 267db96d56Sopenharmony_ci exit_with_usage() 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_cigetvar = sysconfig.get_config_var 297db96d56Sopenharmony_cipyver = getvar('VERSION') 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ciopt_flags = [flag for (flag, val) in opts] 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ciif '--help' in opt_flags: 347db96d56Sopenharmony_ci exit_with_usage(code=0) 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_cifor opt in opt_flags: 377db96d56Sopenharmony_ci if opt == '--prefix': 387db96d56Sopenharmony_ci print(getvar('prefix')) 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci elif opt == '--exec-prefix': 417db96d56Sopenharmony_ci print(getvar('exec_prefix')) 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci elif opt in ('--includes', '--cflags'): 447db96d56Sopenharmony_ci flags = ['-I' + sysconfig.get_path('include'), 457db96d56Sopenharmony_ci '-I' + sysconfig.get_path('platinclude')] 467db96d56Sopenharmony_ci if opt == '--cflags': 477db96d56Sopenharmony_ci flags.extend(getvar('CFLAGS').split()) 487db96d56Sopenharmony_ci print(' '.join(flags)) 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci elif opt in ('--libs', '--ldflags'): 517db96d56Sopenharmony_ci libs = [] 527db96d56Sopenharmony_ci if '--embed' in opt_flags: 537db96d56Sopenharmony_ci libs.append('-lpython' + pyver + sys.abiflags) 547db96d56Sopenharmony_ci else: 557db96d56Sopenharmony_ci libpython = getvar('LIBPYTHON') 567db96d56Sopenharmony_ci if libpython: 577db96d56Sopenharmony_ci libs.append(libpython) 587db96d56Sopenharmony_ci libs.extend(getvar('LIBS').split() + getvar('SYSLIBS').split()) 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci # add the prefix/lib/pythonX.Y/config dir, but only if there is no 617db96d56Sopenharmony_ci # shared library in prefix/lib/. 627db96d56Sopenharmony_ci if opt == '--ldflags': 637db96d56Sopenharmony_ci if not getvar('Py_ENABLE_SHARED'): 647db96d56Sopenharmony_ci libs.insert(0, '-L' + getvar('LIBPL')) 657db96d56Sopenharmony_ci print(' '.join(libs)) 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci elif opt == '--extension-suffix': 687db96d56Sopenharmony_ci print(getvar('EXT_SUFFIX')) 697db96d56Sopenharmony_ci 707db96d56Sopenharmony_ci elif opt == '--abiflags': 717db96d56Sopenharmony_ci print(sys.abiflags) 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ci elif opt == '--configdir': 747db96d56Sopenharmony_ci print(getvar('LIBPL')) 75