def build_incdir_object(self, incdir_strings, is_system=False):
    if (not isinstance(is_system, bool)):
        raise InvalidArguments('Is_system must be boolean.')
    src_root = self.environment.get_source_dir()
    build_root = self.environment.get_build_dir()
    absbase_src = os.path.join(src_root, self.subdir)
    absbase_build = os.path.join(build_root, self.subdir)
    for a in incdir_strings:
        if a.startswith(src_root):
            raise InvalidArguments("Tried to form an absolute path to a source dir. You should not do that but use relative paths instead.\n\nTo get include path to any directory relative to the current dir do\n\nincdir = include_directories(dirname)\n\nAfter this incdir will contain both the current source dir as well as the\ncorresponding build dir. It can then be used in any subdirectory and\nMeson will take care of all the busywork to make paths work.\n\nDirname can even be '.' to mark the current directory. Though you should\nremember that the current source and build directories are always\nput in the include directories by default so you only need to do\ninclude_directories('.') if you intend to use the result in a\ndifferent subdirectory.\n")
        absdir_src = os.path.join(absbase_src, a)
        absdir_build = os.path.join(absbase_build, a)
        if ((not os.path.isdir(absdir_src)) and (not os.path.isdir(absdir_build))):
            raise InvalidArguments(('Include dir %s does not exist.' % a))
    i = IncludeDirsHolder(build.IncludeDirs(self.subdir, incdir_strings, is_system))
    return i
def build_incdir_object(self, incdir_strings, is_system=False):
    if (not isinstance(is_system, bool)):
        raise InvalidArguments('Is_system must be boolean.')
    src_root = self.environment.get_source_dir()
    build_root = self.environment.get_build_dir()
    absbase_src = os.path.join(src_root, self.subdir)
    absbase_build = os.path.join(build_root, self.subdir)
    for a in incdir_strings:
        if a.startswith(src_root):
            raise InvalidArguments("Tried to form an absolute path to a source dir. You should not do that but use relative paths instead.\n\nTo get include path to any directory relative to the current dir do\n\nincdir = include_directories(dirname)\n\nAfter this incdir will contain both the current source dir as well as the\ncorresponding build dir. It can then be used in any subdirectory and\nMeson will take care of all the busywork to make paths work.\n\nDirname can even be '.' to mark the current directory. Though you should\nremember that the current source and build directories are always\nput in the include directories by default so you only need to do\ninclude_directories('.') if you intend to use the result in a\ndifferent subdirectory.\n")
        absdir_src = os.path.join(absbase_src, a)
        absdir_build = os.path.join(absbase_build, a)
        if ((not os.path.isdir(absdir_src)) and (not os.path.isdir(absdir_build))):
            raise InvalidArguments(('Include dir %s does not exist.' % a))
    i = IncludeDirsHolder(build.IncludeDirs(self.subdir, incdir_strings, is_system))
    return i