pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/audio/openal-soft



Module Name:    pkgsrc
Committed By:   nia
Date:           Sun Apr 13 22:54:49 UTC 2025

Modified Files:
        pkgsrc/audio/openal-soft: buildlink3.mk

Log Message:
openal-soft: Do a slight dance to avoid including compiler.mk on NetBSD.

This is necessary because NetBSD builds are generally not done with
USE_NATIVE_GCC=yes, so packages may require a range of different
compiler versions.

Also trying to document the situation and explain things a bit better.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 pkgsrc/audio/openal-soft/buildlink3.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/audio/openal-soft/buildlink3.mk
diff -u pkgsrc/audio/openal-soft/buildlink3.mk:1.7 pkgsrc/audio/openal-soft/buildlink3.mk:1.8
--- pkgsrc/audio/openal-soft/buildlink3.mk:1.7  Fri Apr 11 22:27:48 2025
+++ pkgsrc/audio/openal-soft/buildlink3.mk      Sun Apr 13 22:54:49 2025
@@ -1,24 +1,50 @@
-# $NetBSD: buildlink3.mk,v 1.7 2025/04/11 22:27:48 gdt Exp $
+# $NetBSD: buildlink3.mk,v 1.8 2025/04/13 22:54:49 nia Exp $
 
 BUILDLINK_TREE+=       openal-soft
 
-.include "../../mk/compiler.mk"
+.include "../../mk/bsd.fast.prefs.mk"
 
-.if ${CC_VERSION:Mgcc-4.*}
+# Unfortunately for users of pkgsrc on stable OS versions, the latest
+# version of OpenAL requires quite recent C++ standards support.
+#
+# We want to avoid requiring a compiler newer than what the majority
+# of our packages will be built with, in order to avoid ABI issues and
+# conflicts with the C++ standard library.  We also want to avoid
+# requiring the user install a special compiler just to build OpenAL,
+# which is a fairly stable interface.
+#
+# In order to best cope with this situation, older versions of OpenAL
+# are selected on systems that ship older compilers by default.
+#
+# In order to avoid C++ standard library issues entirely, it is
+# possible to set OPENAL_USE_CXX=no in mk.conf.  This will bring
+# in the last version of OpenAL written in pure C.
+
+OPENAL_USE_CXX?=       yes
+
+# On NetBSD, avoid including compiler.mk, in case a mixture of
+# GCC versions are being used to build the pkgsrc tree.
+.if ${OPSYS} == "NetBSD"
+.  if ${OPSYS_VERSION} < 090000
 OPENAL_USE_CXX?=       no
+.  elif ${OPSYS_VERSION} < 109911
+.    include "../../audio/openal-soft-cxx14/buildlink3.mk"
+.  endif
 .else
-OPENAL_USE_CXX?=       yes
+.  include "../../mk/compiler.mk"
+.  if ${CC_VERSION:Mgcc-4.*}
+OPENAL_USE_CXX?=       no
+.  elif ${CC_VERSION:Mgcc-[56].*}
+.    include "../../audio/openal-soft-cxx14/buildlink3.mk"
+.  endif
 .endif
 
 .if ${OPENAL_USE_CXX:tl} == "no"
-# this defines OPENAL_SOFT_BUILDLINK3_MK so the next sections aren't used
 .  include "../../audio/openal-soft-c/buildlink3.mk"
 .endif
 
-.if ${CC_VERSION:Mgcc-[56].*}
-.  include "../../audio/openal-soft-cxx14/buildlink3.mk"
-.endif
-
+# If an OpenAL buildlink3 file has already been included,
+# the following section will be ignored.
 .if !defined(OPENAL_SOFT_BUILDLINK3_MK)
 OPENAL_SOFT_BUILDLINK3_MK:=
 



Home | Main Index | Thread Index | Old Index