mapbox / mapbox/cpp

Docs on enabling LTO (-flto) with clang++

Abierto
#22 4 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Sin datos de lenguaje
Estrellas
110
Forks
17
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Getting Link Time optimization working takes certain combinations of modern tools and build settings. It would be great to have some general docs on this so that LTO is demystified and more commonly used.

Doc should cover:

Linux details
  • upgraded binutils gold (can be installed via mason)
  • at least clang++ 3.9.1 via mason
  • llvm-ar and llvm-ranlib on path (and set in environment AR=/path/to/llvm-ar RANLIB=/path/to/llvm-ranlib)
  • -flto in the CXXFLAGS
OS X details
  • Apple built in compiler or clang++ via mason
  • -flto in the CXXFLAGS and LDFLAGS
Troubleshooting:

This error indicates that the linker does not understand the LTO format. This will happen on linux if you've not installed binutils from mason.

file.o: file not recognized: File format not recognized
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)

Refs https://github.com/mapbox/spatial-algorithms/pull/10

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la lista de comprobación del issue y el pull request de spatial-algorithms referenciado. Verifica los requisitos de la toolchain de Linux y OS X, los flags, las variables de entorno y las indicaciones sobre errores del linker; la documentación estará completa cuando cubra cada detalle de configuración y resolución de problemas indicado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
build-system, documentation
Tipo de issue
Documentación
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.