# SoftBank Robotics documentation What's new in NAOqi 2.8?

# qiFramework 1.3.0

## Fixed issue

IDL files had inconsistent paths when:

- stored in sources,
- used in worktree builds,
- installed.

In order to support this situation, qilang-tools used symlinks/copies from the source to the QI_SDK_DIR. This copy/symlink trick is considered harmful because:

- it breaks clean builds when a qilang package imports another one: nothing guarantees that the dependee copy/link will be created before the dependent tries to parse it
- it breaks incremental CI builds, when dangling links are left in the build directory
- it adds complexity and internal state

The change:

- fixes the IDL install rule to remove the inconsistency. IDL files are now installed to:

  $PREFIX/share/qi/idl/mypackage/[mysubpackage]/myidl.idl.qi

- deprecates the symlink/copies:

  if the IDL files are organized in source under a share/qi/idl directory, then qi_gen_idl won’t use the symlink/copy trick. When parsing an IDL file, qicc will be able to locate a dependee IDL directly in the source tree, if qi_stage_dir() was used: this adds the source directory in qibuild’s qi/path.conf files, which qicc uses as a search path.

- if the IDL path (as given to qi_gen_idl) does not begin with ‘share/qi/idl/’, then a copy/symlink will be made, unless backward compatibility was disabled using -DQI_GEN_IDL_WITH_LEGACY_LAYOUT_SUPPORT=OFF

- update the template and the testqilang projects in order to promote the new layout.

Glossary Site map Index Support Contact Legal Notices