arch-defines.mk 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # $OpenBSD: arch-defines.mk,v 1.39 2017/05/16 13:38:36 espie Exp $
  2. #
  3. # ex:ts=4 sw=4 filetype=make:
  4. #
  5. # derived from bsd.port.mk in 2011
  6. # This file is in the public domain.
  7. # It is actually a part of bsd.port.mk that won't be included manually.
  8. #
  9. # architecture constants
  10. ARCH ?!= uname -m
  11. ALL_ARCHS = aarch64 alpha amd64 arm hppa i386 landisk loongson luna88k \
  12. m88k macppc mips64 mips64el octeon sgi socppc sparc64
  13. # not all powerpc have apm(4), hence the use of macppc
  14. APM_ARCHS = amd64 i386 loongson macppc sparc64
  15. BE_ARCHS = hppa m88k mips64 powerpc sparc64
  16. LE_ARCHS = aarch64 alpha amd64 arm i386 mips64el sh
  17. LP64_ARCHS = aarch64 alpha amd64 sparc64 mips64 mips64el
  18. GCC4_ARCHS = alpha amd64 arm armv7 i386 hppa landisk loongson \
  19. macppc mips64 mips64el octeon powerpc sgi sh socppc sparc64
  20. GCC3_ARCHS = luna88k m88k
  21. # XXX easier for ports that depend on mono
  22. MONO_ARCHS = amd64 i386
  23. OCAML_NATIVE_ARCHS = i386 amd64
  24. OCAML_NATIVE_DYNLINK_ARCHS = i386 amd64
  25. GO_ARCHS = amd64 i386
  26. # arches where the base compiler is clang
  27. CLANG_ARCHS = aarch64
  28. # arches where ports devel/llvm builds - populates llvm ONLY_FOR_ARCHS
  29. # as well as available for PROPERTIES checks. XXX list currently inaccurate
  30. LLVM_ARCHS = aarch64 amd64 arm i386 powerpc mips64 mips64el sparc64
  31. # arches where there is a C++11 compiler, either clang in base or gcc4
  32. CXX11_ARCHS = aarch64 amd64 arm i386 hppa powerpc mips64 mips64el sparc64
  33. .for PROP in ALL APM BE LE LP64 CLANG GCC4 GCC3 MONO LLVM \
  34. CXX11 OCAML_NATIVE OCAML_NATIVE_DYNLINK GO
  35. . for A B in ${MACHINE_ARCH} ${ARCH}
  36. . if !empty(${PROP}_ARCHS:M$A) || !empty(${PROP}_ARCHS:M$B)
  37. PROPERTIES += ${PROP:L}
  38. . endif
  39. . endfor
  40. .endfor
  41. .if ${PROPERTIES:Mclang}
  42. LIBCXX = c++ c++abi pthread
  43. LIBECXX = c++ c++abi pthread
  44. .else
  45. LIBCXX = stdc++
  46. LIBECXX = estdc++>=17
  47. .endif