Заставить clang/llvm использовать crle-пути в Solaris?

Я пытаюсь настроить машину для сборки OpenIndiana, и я новичок в (не очень) тонких различиях в том, как (Open)(Solaris|Indiana) относится к процессу сборки. Хотя теперь я понимаю, что в Solaris по умолчанию, даже при работе на 64-битном ядре, создаются приложения как m32, если только -m64 явно указано; Я не могу правильно настроить пути поиска по умолчанию для clang, хоть gcc работает просто отлично и денди.

Я установил оба llvm а также gcc с помощью pkgничего не нужно было компилировать вручную.

Компиляция основного файла C с gcc отлично работает как по умолчанию (-m32) и 64-битный -m64 конфигурации, правильно используя пути поиска, как установлено в crle:

mqudsi@openindiana:~/random$ crle

Default configuration file (/var/ld/ld.config) not found
  Platform:     32-bit LSB 80386
  Default Library Path (ELF):   /lib:/usr/lib  (system default)
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)
mqudsi@openindiana:~/random$ crle -64

Default configuration file (/var/ld/64/ld.config) not found
  Platform:     64-bit LSB AMD64
  Default Library Path (ELF):   /lib/64:/usr/lib/64  (system default)
  Trusted Directories (ELF):    /lib/secure/64:/usr/lib/secure/64  (system default)

Тем не мение, clang кажется, не обращая внимания на конфигурацию системы, и требует от меня, чтобы вручную установить -L .... при компиляции. Глобальная настройка LD_LIBRARY_PATH терпит неудачу, потому что сам clang является 32-битным при попытке скомпилировать с ним 64-битный бинарный файл.

Как я могу заставить лязг уважать солярис crle конфигурация таким же образом, что делает GCC?

1 ответ

Решение

Что ж, учитывая, что clang немного знает о Solaris в целом, к сожалению, ответ прост: кто-то должен реализовать поддержку crle в clang.

Другие вопросы по тегам