forked from Lainports/freebsd-ports
Since clang 16 (and gcc 11) the default C++ standard is now gnu++17.
Because multimedia/smpeg's configure scripts and Makefiles do not
explicitly set the C++ standard, this leads to several errors:
In file included from MPEGaudio.cpp:24:
../MPEGaudio.h:129:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
^~~~~~~~~
../MPEGaudio.h:135:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
register unsigned short a;
^~~~~~~~~
MPEGaudio.cpp:317:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
register int r=(_buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
^~~~~~~~~
MPEGaudio.cpp:326:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
register unsigned short a;
^~~~~~~~~
MPEGaudio.cpp:339:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
register unsigned short a;
^~~~~~~~~
Because smpeg uses a rather strange configure script, it does not
process CXXFLAGS correctly, so set CXX to include -std=gnu++98.
Also remove the REAL_CC patch which is no longer necessary.
PR: 271353
Approved by: portmgr (build fix blanket)
MFH: 2023Q2
11 lines
349 B
Text
11 lines
349 B
Text
--- configure.orig 2001-04-24 19:25:46 UTC
|
|
+++ configure
|
|
@@ -1055,7 +1054,7 @@ cat > conftest.$ac_ext << EOF
|
|
#line 1056 "configure"
|
|
#include "confdefs.h"
|
|
|
|
-main(){return(0);}
|
|
+int main(){return(0);}
|
|
EOF
|
|
if { (eval echo configure:1061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
|
ac_cv_prog_cc_works=yes
|