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