Made gtkdochelper take arguments by switches rather than location.

pull/288/head
Jussi Pakkanen 9 years ago
parent 572ce0f451
commit 3b2d33ef84
  1. 37
      gtkdochelper.py
  2. 12
      modules/gnome.py

@ -16,6 +16,17 @@
import sys, os import sys, os
import subprocess import subprocess
import shutil import shutil
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--sourcedir', dest='sourcedir')
parser.add_argument('--builddir', dest='builddir')
parser.add_argument('--subdir', dest='subdir')
parser.add_argument('--headerdir', dest='headerdir')
parser.add_argument('--mainfile', dest='mainfile')
parser.add_argument('--modulename', dest='modulename')
def build_gtkdoc(source_root, build_root, doc_subdir, src_subdir, main_file, module): def build_gtkdoc(source_root, build_root, doc_subdir, src_subdir, main_file, module):
abs_src = os.path.join(source_root, src_subdir) abs_src = os.path.join(source_root, src_subdir)
@ -35,7 +46,7 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdir, main_file, mod
modeflag, modeflag,
'--source-dir=' + abs_src] '--source-dir=' + abs_src]
main_abs = os.path.join(source_root, doc_subdir, main_file) main_abs = os.path.join(source_root, doc_subdir, main_file)
if len(main_sgml) > 0: if len(main_file) > 0:
# Yes, this is the flag even if the file is in xml. # Yes, this is the flag even if the file is in xml.
mkdb_cmd.append('--main-sgml-file=' + main_abs) mkdb_cmd.append('--main-sgml-file=' + main_abs)
subprocess.check_call(mkdb_cmd, cwd=abs_out) subprocess.check_call(mkdb_cmd, cwd=abs_out)
@ -65,21 +76,21 @@ def install_gtkdoc(build_root, doc_subdir, install_prefix, datadir, module):
shutil.copytree(source, final_destination) shutil.copytree(source, final_destination)
if __name__ == '__main__': if __name__ == '__main__':
# source_root = '/home/jpakkane/workspace/meson/test cases/frameworks/10 gtk-doc' options = parser.parse_args(sys.argv[1:])
# build_root = '/home/jpakkane/workspace/meson/work area' build_gtkdoc(options.sourcedir,
# doc_subdir = 'doc' options.builddir,
# src_subdir = 'include' options.subdir,
# module = 'foobar' options.headerdir,
if len(sys.argv) != 7: options.mainfile,
print(sys.argv) options.modulename)
print("Bad arguments.")
sys.exit(1)
(source_root, build_root, doc_subdir, src_subdir, main_sgml, module) = sys.argv[1:]
build_gtkdoc(source_root, build_root, doc_subdir, src_subdir, main_sgml, module)
if 'MESON_INSTALL_PREFIX' in os.environ: if 'MESON_INSTALL_PREFIX' in os.environ:
if 'DESTDIR' in os.environ: if 'DESTDIR' in os.environ:
installdir = os.environ['DESTDIR'] + os.environ['MESON_INSTALL_PREFIX'] installdir = os.environ['DESTDIR'] + os.environ['MESON_INSTALL_PREFIX']
else: else:
installdir = os.environ['MESON_INSTALL_PREFIX'] installdir = os.environ['MESON_INSTALL_PREFIX']
install_gtkdoc(build_root, doc_subdir, installdir, 'share/gtk-doc/html', module) install_gtkdoc(options.builddir,
options.subdir,
installdir,
'share/gtk-doc/html',
options.modulename)

@ -227,12 +227,12 @@ class GnomeModule:
header_dir = os.path.join(state.environment.get_source_dir(), src_dir.get_curdir(), incdirs[0]) header_dir = os.path.join(state.environment.get_source_dir(), src_dir.get_curdir(), incdirs[0])
else: else:
header_dir = os.path.normpath(os.path.join(state.subdir, src_dir)) header_dir = os.path.normpath(os.path.join(state.subdir, src_dir))
args = [state.environment.get_source_dir(), args = ['--sourcedir=' + state.environment.get_source_dir(),
state.environment.get_build_dir(), '--builddir=' + state.environment.get_build_dir(),
state.subdir, '--subdir=' + state.subdir,
header_dir, '--headerdir=' + header_dir,
main_file, '--mainfile=' + main_file,
modulename] '--modulename=' + modulename]
res = [build.RunTarget(targetname, command, args, state.subdir)] res = [build.RunTarget(targetname, command, args, state.subdir)]
if kwargs.get('install', True): if kwargs.get('install', True):
res.append(build.InstallScript([command] + args)) res.append(build.InstallScript([command] + args))

Loading…
Cancel
Save