Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Compiling SDLmame (0.219) on OSX PPC #117024 03/14/20 01:30 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Well, maybe I am a bit stubborn here but I think to be VERY close to the goal...
What is driving me crazy are the errors in debugosx.mm so instead of trying to fix them (I have not enough knowledge) I would like to skip that part entirely, is it possible?
I mean, when a" Release" executable is produced, is the Debugger part really needed? Is there a clean way (commenting some lines in the scripts or the sources, for example) to exclude it from the build process?
I have also tried with the option NO_DEBUGGER=1 after "make" command but without success, the Debugger part is compiled anyway.

Many thanks in advance...

Last edited by MacBox360; 03/14/20 01:38 PM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117025 03/14/20 03:44 PM
Joined: Mar 2001
Posts: 16,593
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,593
What are the errors? As far as I'm aware nobody's removed ancient OS X compatibility yet, although I plan to because of the sheer number of warnings it's causing on Xcode 11.

Also, did you remember to do REGENIE=1 with NO_DEBUGGER=1?

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117027 03/14/20 04:42 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Compiling with REGENIE=1 and NO_DEBUGGER=1 produces the same effect, the debugger part is not skipped.
This is the error I encounter (GCC 7.5 and SDL 2.0.3)

Code
Objective-C compiling src/osd/modules/debugger/debugosx.mm...
In file included from ../../../../../src/emu/emu.h:104:0,
                 from ../../../../../src/osd/modules/debugger/debugosx.mm:20:
../../../../../src/emu/devcb.h: In lambda function:
../../../../../src/emu/devcb.h:416:53: error: 'cb' was not declared in this scope
    m_builder.build([&result] (auto &&f) { result = [cb = std::move(f)] (address_space &space, offs_t offset, typename T::input_mask_t mem_mask) { return cb(space, offset, mem_mask); }; });
                                                     ^~
../../../../../src/emu/devcb.h: In member function 'virtual devcb_read<Result, DefaultMask>::func_t devcb_read<Result, DefaultMask>::log_creator::create()':
../../../../../src/emu/devcb.h:434:8: error: 'devbase' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:434:8: note: suggested alternative: 'm_devbase'
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
        ^~~~~~~
        m_devbase
../../../../../src/emu/devcb.h:434:29: error: 'message' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
                             ^~~~~~~
../../../../../src/emu/devcb.h:434:29: note: suggested alternative: 'm_message'
      [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, std::make_unsigned_t<Result> mem_mask)
                             ^~~~~~~
                             m_message
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::transform_builder<Source, Func>::build(T&&)':
../../../../../src/emu/devcb.h:531:21: error: 'c' was not declared in this scope
    auto wrap([this, c = std::forward<T>(chain)] (auto &&f) mutable { this->build(std::move(c), std::move(f)); });
                     ^
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::transform_builder<Source, Func>::build(T&&, U&&)':
../../../../../src/emu/devcb.h:546:7: error: 'src' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
       ^~~
../../../../../src/emu/devcb.h:546:7: note: suggested alternative: 'm_src'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
       ^~~
       m_src
../../../../../src/emu/devcb.h:546:33: error: 'cb' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                 ^~
../../../../../src/emu/devcb.h:546:33: note: suggested alternative: 'm_cb'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                 ^~
                                 m_cb
../../../../../src/emu/devcb.h:546:61: error: 'exor' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                             ^~~~
../../../../../src/emu/devcb.h:546:61: note: suggested alternative: 'exit'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                             ^~~~
                                                             exit
../../../../../src/emu/devcb.h:546:82: error: 'mask' was not declared in this scope
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                                                  ^~~~
../../../../../src/emu/devcb.h:546:82: note: suggested alternative: 'mask_t'
      [src = std::forward<U>(f), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_mask_t &mem_mask)
                                                                                  ^~~~
                                                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::functoid_builder<Func>::build(T&&)':
../../../../../src/emu/devcb.h:601:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
../../../../../src/emu/devcb.h:601:7: note: suggested alternative: 'm_cb'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:601:35: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                   ^~~~
../../../../../src/emu/devcb.h:601:35: note: suggested alternative: 'exit'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                   ^~~~
                                   exit
../../../../../src/emu/devcb.h:601:56: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                        ^~~~
../../../../../src/emu/devcb.h:601:56: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                        ^~~~
                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::delegate_builder<Delegate>::build(T&&)':
../../../../../src/emu/devcb.h:667:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
       ^~
../../../../../src/emu/devcb.h:667:41: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                         ^~~~
../../../../../src/emu/devcb.h:667:41: note: suggested alternative: 'exit'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                         ^~~~
                                         exit
../../../../../src/emu/devcb.h:667:62: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:667:62: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                                              ^~~~
                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'void devcb_read<Result, DefaultMask>::ioport_builder::build(T&&)':
../../../../../src/emu/devcb.h:724:8: error: 'port' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:724:8: note: suggested alternative: 'qsort'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
        ^~~~
        qsort
../../../../../src/emu/devcb.h:724:24: error: 'exor' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                        ^~~~
../../../../../src/emu/devcb.h:724:24: note: suggested alternative: 'exit'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                        ^~~~
                        exit
../../../../../src/emu/devcb.h:724:45: error: 'mask' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:724:45: note: suggested alternative: 'mask_t'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_mask_t mem_mask)
                                             ^~~~
                                             mask_t
../../../../../src/emu/devcb.h: In member function 'virtual devcb_write<Input, DefaultMask>::func_t devcb_write<Input, DefaultMask>::creator_impl<T>::create()':
../../../../../src/emu/devcb.h:1018:12: error: 'cb' was not declared in this scope
    return [cb = m_builder.build()] (address_space &space, offs_t offset, Input data, std::make_unsigned_t<Input> mem_mask) { cb(space, offset, data, mem_mask); };
            ^~
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::transform_builder<Source, Func>::build()':
../../../../../src/emu/devcb.h:1119:7: error: 'cb' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^~
../../../../../src/emu/devcb.h:1119:7: note: suggested alternative: 'm_cb'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:1119:29: error: 'exor' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~~~
../../../../../src/emu/devcb.h:1119:29: note: suggested alternative: 'exit'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~~~
                             exit
../../../../../src/emu/devcb.h:1119:50: error: 'mask' was not declared in this scope
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                  ^~~~
../../../../../src/emu/devcb.h:1119:50: note: suggested alternative: 'mask_t'
      [cb = std::move(m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                  ^~~~
                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::transform_builder<Source, Func>::build(T&&)':
../../../../../src/emu/devcb.h:1140:7: error: 'f' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
       ^
../../../../../src/emu/devcb.h:1140:29: error: 'cb' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~
../../../../../src/emu/devcb.h:1140:29: note: suggested alternative: 'm_cb'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                             ^~
                             m_cb
../../../../../src/emu/devcb.h:1140:57: error: 'exor' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                         ^~~~
../../../../../src/emu/devcb.h:1140:57: note: suggested alternative: 'exit'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                         ^~~~
                                                         exit
../../../../../src/emu/devcb.h:1140:78: error: 'mask' was not declared in this scope
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                                              ^~~~
../../../../../src/emu/devcb.h:1140:78: note: suggested alternative: 'mask_t'
      [f = std::move(chain), cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t &offset, input_t data, std::make_unsigned_t<input_t> &mem_mask)
                                                                              ^~~~
                                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::first_transform_builder<Sink, Func>::build()':
../../../../../src/emu/devcb.h:1200:7: error: 'sink' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~~~
../../../../../src/emu/devcb.h:1200:7: note: suggested alternative: 'Sink'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~~~
       Sink
../../../../../src/emu/devcb.h:1200:30: error: 'cb' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~
../../../../../src/emu/devcb.h:1200:30: note: suggested alternative: 'm_cb'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~
                              m_cb
../../../../../src/emu/devcb.h:1200:58: error: 'in_exor' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                          ^~~~~~~
../../../../../src/emu/devcb.h:1200:58: note: suggested alternative: 'm_in_exor'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                          ^~~~~~~
                                                          m_in_exor
../../../../../src/emu/devcb.h:1200:79: error: 'in_mask' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                               ^~~~~~~
../../../../../src/emu/devcb.h:1200:79: note: suggested alternative: 'm_in_mask'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                               ^~~~~~~
                                                                               m_in_mask
../../../../../src/emu/devcb.h:1200:100: error: 'exor' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                    ^~~~
../../../../../src/emu/devcb.h:1200:100: note: suggested alternative: 'exit'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                    ^~~~
                                                                                                    exit
../../../../../src/emu/devcb.h:1200:121: error: 'mask' was not declared in this scope
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                         ^~~~
../../../../../src/emu/devcb.h:1200:121: note: suggested alternative: 'mask_t'
      [sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                         ^~~~
                                                                                                                         mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::first_transform_builder<Sink, Func>::build(T&&)':
../../../../../src/emu/devcb.h:1221:7: error: 'f' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^
../../../../../src/emu/devcb.h:1221:29: error: 'sink' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~
../../../../../src/emu/devcb.h:1221:29: note: suggested alternative: 'Sink'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~
                             Sink
../../../../../src/emu/devcb.h:1221:52: error: 'cb' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                    ^~
../../../../../src/emu/devcb.h:1221:52: note: suggested alternative: 'm_cb'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                    ^~
                                                    m_cb
../../../../../src/emu/devcb.h:1221:80: error: 'in_exor' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                ^~~~~~~
../../../../../src/emu/devcb.h:1221:80: note: suggested alternative: 'm_in_exor'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                ^~~~~~~
                                                                                m_in_exor
../../../../../src/emu/devcb.h:1221:101: error: 'in_mask' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                     ^~~~~~~
../../../../../src/emu/devcb.h:1221:101: note: suggested alternative: 'm_in_mask'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                     ^~~~~~~
                                                                                                     m_in_mask
../../../../../src/emu/devcb.h:1221:122: error: 'exor' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                          ^~~~
../../../../../src/emu/devcb.h:1221:122: note: suggested alternative: 'exit'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                          ^~~~
                                                                                                                          exit
../../../../../src/emu/devcb.h:1221:143: error: 'mask' was not declared in this scope
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                                               ^~~~
../../../../../src/emu/devcb.h:1221:143: note: suggested alternative: 'mask_t'
      [f = std::move(chain), sink = m_sink.build(), cb = std::move(this->m_cb), in_exor = m_in_exor, in_mask = m_in_mask, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                                                               ^~~~
                                                                                                                                               mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::functoid_builder<Func>::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1258:8: error: 'cb' was not declared in this scope
       [cb = std::move(this->m_cb)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
../../../../../src/emu/devcb.h:1258:8: note: suggested alternative: 'm_cb'
       [cb = std::move(this->m_cb)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
        m_cb
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::functoid_builder<Func>::build()':
../../../../../src/emu/devcb.h:1308:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
../../../../../src/emu/devcb.h:1308:7: note: suggested alternative: 'm_cb'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
       m_cb
../../../../../src/emu/devcb.h:1308:35: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                   ^~~~
../../../../../src/emu/devcb.h:1308:35: note: suggested alternative: 'exit'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                   ^~~~
                                   exit
../../../../../src/emu/devcb.h:1308:56: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                        ^~~~
../../../../../src/emu/devcb.h:1308:56: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_cb), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                        ^~~~
                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::delegate_builder<Delegate>::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1352:8: error: 'cb' was not declared in this scope
       [cb = std::move(this->m_delegate)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::delegate_builder<Delegate>::build()':
../../../../../src/emu/devcb.h:1418:7: error: 'cb' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
       ^~
../../../../../src/emu/devcb.h:1418:41: error: 'exor' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                         ^~~~
../../../../../src/emu/devcb.h:1418:41: note: suggested alternative: 'exit'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                         ^~~~
                                         exit
../../../../../src/emu/devcb.h:1418:62: error: 'mask' was not declared in this scope
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:1418:62: note: suggested alternative: 'mask_t'
      [cb = std::move(this->m_delegate), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
                                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::inputline_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1480:9: error: 'exec' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1480:9: note: suggested alternative: 'm_exec'
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         m_exec
../../../../../src/emu/devcb.h:1480:25: error: 'linenum' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
../../../../../src/emu/devcb.h:1480:25: note: suggested alternative: 'm_linenum'
       [&exec = *m_exec, linenum = m_linenum] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
                         m_linenum
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::inputline_builder::build()':
../../../../../src/emu/devcb.h:1571:8: error: 'exec' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1571:8: note: suggested alternative: 'm_exec'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        m_exec
../../../../../src/emu/devcb.h:1571:24: error: 'linenum' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
../../../../../src/emu/devcb.h:1571:24: note: suggested alternative: 'm_linenum'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
                        m_linenum
../../../../../src/emu/devcb.h:1571:45: error: 'exor' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:1571:45: note: suggested alternative: 'exit'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
                                             exit
../../../../../src/emu/devcb.h:1571:66: error: 'mask' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                  ^~~~
../../../../../src/emu/devcb.h:1571:66: note: suggested alternative: 'mask_t'
      [&exec = *m_exec, linenum = m_linenum, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                  ^~~~
                                                                  mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::latched_inputline_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1635:9: error: 'exec' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1635:9: note: suggested alternative: 'm_exec'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         m_exec
../../../../../src/emu/devcb.h:1635:25: error: 'linenum' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
../../../../../src/emu/devcb.h:1635:25: note: suggested alternative: 'm_linenum'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~~~~
                         m_linenum
../../../../../src/emu/devcb.h:1635:46: error: 'value' was not declared in this scope
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~~
../../../../../src/emu/devcb.h:1635:46: note: suggested alternative: 'm_value'
       [&exec = *m_exec, linenum = m_linenum, value = m_value] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~~
                                              m_value
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::latched_inputline_builder::build()':
../../../../../src/emu/devcb.h:1730:8: error: 'exec' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1730:8: note: suggested alternative: 'm_exec'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        m_exec
../../../../../src/emu/devcb.h:1730:24: error: 'linenum' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
../../../../../src/emu/devcb.h:1730:24: note: suggested alternative: 'm_linenum'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~~~~
                        m_linenum
../../../../../src/emu/devcb.h:1730:45: error: 'value' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~~
../../../../../src/emu/devcb.h:1730:45: note: suggested alternative: 'm_value'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~~
                                             m_value
../../../../../src/emu/devcb.h:1730:62: error: 'exor' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
../../../../../src/emu/devcb.h:1730:62: note: suggested alternative: 'exit'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                              ^~~~
                                                              exit
../../../../../src/emu/devcb.h:1730:83: error: 'mask' was not declared in this scope
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
../../../../../src/emu/devcb.h:1730:83: note: suggested alternative: 'mask_t'
      [&exec = *m_exec, linenum = m_linenum, value = m_value, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
                                                                                   mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::ioport_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1772:9: error: 'port' was not declared in this scope
       [&port = *ioport] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1772:9: note: suggested alternative: 'qsort'
       [&port = *ioport] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         qsort
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::ioport_builder::build()':
../../../../../src/emu/devcb.h:1830:8: error: 'port' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:1830:8: note: suggested alternative: 'qsort'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        qsort
../../../../../src/emu/devcb.h:1830:24: error: 'exor' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~
../../../../../src/emu/devcb.h:1830:24: note: suggested alternative: 'exit'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                        ^~~~
                        exit
../../../../../src/emu/devcb.h:1830:45: error: 'mask' was not declared in this scope
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
../../../../../src/emu/devcb.h:1830:45: note: suggested alternative: 'mask_t'
      [&port = *ioport, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                             ^~~~
                                             mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::membank_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1872:9: error: 'membank' was not declared in this scope
       [&membank = *bank] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
../../../../../src/emu/devcb.h:1872:9: note: suggested alternative: 'bank'
       [&membank = *bank] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
         bank
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::membank_builder::build()':
../../../../../src/emu/devcb.h:1930:8: error: 'membank' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:1930:8: note: suggested alternative: 'bank'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
        bank
../../../../../src/emu/devcb.h:1930:25: error: 'exor' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~
../../../../../src/emu/devcb.h:1930:25: note: suggested alternative: 'exit'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                         ^~~~
                         exit
../../../../../src/emu/devcb.h:1930:46: error: 'mask' was not declared in this scope
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~
../../../../../src/emu/devcb.h:1930:46: note: suggested alternative: 'mask_t'
      [&membank = *bank, exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                              ^~~~
                                              mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::output_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:1969:9: error: 'item' was not declared in this scope
       [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
../../../../../src/emu/devcb.h:1969:9: note: suggested alternative: 'tm'
       [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~
         tm
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::output_builder::build()':
../../../../../src/emu/devcb.h:2024:8: error: 'item' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
../../../../../src/emu/devcb.h:2024:8: note: suggested alternative: 'tm'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~
        tm
../../../../../src/emu/devcb.h:2024:83: error: 'exor' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
../../../../../src/emu/devcb.h:2024:83: note: suggested alternative: 'exit'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                   ^~~~
                                                                                   exit
../../../../../src/emu/devcb.h:2024:104: error: 'mask' was not declared in this scope
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                        ^~~~
../../../../../src/emu/devcb.h:2024:104: note: suggested alternative: 'mask_t'
      [&item = m_devbase.machine().output().find_or_create_item(m_tag.c_str(), 0), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                                        ^~~~
                                                                                                        mask_t
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::log_builder::wrapped_builder::build()':
../../../../../src/emu/devcb.h:2063:9: error: 'devbase' was not declared in this scope
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
../../../../../src/emu/devcb.h:2063:9: note: suggested alternative: 'm_devbase'
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
         ^~~~~~~
         m_devbase
../../../../../src/emu/devcb.h:2063:30: error: 'message' was not declared in this scope
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~~~~~~
../../../../../src/emu/devcb.h:2063:30: note: suggested alternative: 'm_message'
       [&devbase = m_devbase, message = std::move(m_message)] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                              ^~~~~~~
                              m_message
../../../../../src/emu/devcb.h: In member function 'auto devcb_write<Input, DefaultMask>::log_builder::build()':
../../../../../src/emu/devcb.h:2118:8: error: 'devbase' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
../../../../../src/emu/devcb.h:2118:8: note: suggested alternative: 'm_devbase'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
        ^~~~~~~
        m_devbase
../../../../../src/emu/devcb.h:2118:29: error: 'message' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~~~~
../../../../../src/emu/devcb.h:2118:29: note: suggested alternative: 'm_message'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                             ^~~~~~~
                             m_message
../../../../../src/emu/devcb.h:2118:61: error: 'exor' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                             ^~~~
../../../../../src/emu/devcb.h:2118:61: note: suggested alternative: 'exit'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                             ^~~~
                                                             exit
../../../../../src/emu/devcb.h:2118:82: error: 'mask' was not declared in this scope
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                  ^~~~
../../../../../src/emu/devcb.h:2118:82: note: suggested alternative: 'mask_t'
      [&devbase = m_devbase, message = std::move(m_message), exor = this->exor(), mask = this->mask()] (address_space &space, offs_t offset, input_t data, std::make_unsigned_t<input_t> mem_mask)
                                                                                  ^~~~
                                                                                  mask_t
make[2]: *** [../../../../osx_clang/obj/x32/Release/osd_sdl/src/osd/modules/debugger/debugosx.o] Error 1
make[1]: *** [osd_sdl] Error 2
make[1]: *** Waiting for unfinished jobs....

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117031 03/15/20 12:33 AM
Joined: Feb 2004
Posts: 2,179
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,179
GCC is getting confused by lambda syntax in Objective-C++ there. It thinks the square bracket introducing the lambda is the start of a method invocation. I don’t know what to do about that. You can hack out the debugger with some strategic #ifdef, but that’s not officially supported.

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117034 03/15/20 12:19 PM
Joined: Mar 2001
Posts: 16,593
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,593
A newer GCC would help (do MacPorts/Brew still support PPC?)

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117042 03/15/20 11:21 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
MacPorts has still support for PPC OSX but not everything is aligned with x86/x64 versions of their ports, the maximum GCC version for OSX/PPC is 7.5 and Clang is on hold at 3.4 , I think we hardly will see significat upates other than bugfixes. At present I have encouraged the LeopardPorts mantainer to push SDL 2.0.5 to be usable also on PPC builds, I don't know if this is feasible but 2.0.3 is perfectly working here.
About SDLmame, for me, it would be at least helpful to can exclude the debugger part from compile but I have no idea if simply commenting the lines in the script break something elsewhere, a suggestion here would be appriciated because when you compile on PPC machines, it often requires DAYS before to see a result. At present, to have some results in reasonable time, I have simply instructed the makefile to build the NeoGeo sources only, if it will produce something usable I will extend the build to all the other sources (and I will of course upload the binary to be downloaded from everyone).

Last edited by MacBox360; 03/15/20 11:22 PM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117050 03/17/20 11:46 PM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Well, here are the modifications I have done so far at 0.219 sources in my attempts to have an OSX PPC executable (still not build succefully)

Makefile mods (many libraries were already here from MacPorts)

Code
NOWERROR = 1
USE_SYSTEM_LIB_ASIO = 1
USE_SYSTEM_LIB_EXPAT = 1
USE_SYSTEM_LIB_ZLIB = 1
USE_SYSTEM_LIB_JPEG = 1
USE_SYSTEM_LIB_FLAC = 1
USE_SYSTEM_LIB_LUA = 1
USE_SYSTEM_LIB_SQLITE3 = 1
USE_SYSTEM_LIB_PORTMIDI = 1
USE_SYSTEM_LIB_PORTAUDIO = 1
USE_SYSTEM_LIB_UTF8PROC = 1
USE_SYSTEM_LIB_PUGIXML = 1
OVERRIDE_CC = gcc-mp-7
OVERRIDE_CXX = g++-mp-7
SOURCES = src/mame/drivers/neogeo.cpp


BX switches modifications:

Code
3rdparty/bx/include/bx/platform.h --->   #define BX_CRT_GLIBC  1

3rdparty/bx/include/bx/config.h --->   #	define BX_CONFIG_SUPPORTS_THREADING !(1 \

3rdparty/bx/3drparty/catch/catch.hpp ---> at line 71 replace TARGET_OS_OSX with TARGET_OS_MAC


BGFX switches modifications:

Code
3rdparty/bgfx/3rdparty/khronos/gl/glext.h --> delete (or comment) lines 469 and 470

3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp --> delete (or comment) lines 8903 and 8904

3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp --> at line 9484 replace TARGET_OS_OSX with TARGET_OS_MAC


SCRIPTS modifications:

Code
script/src/osd/sdl.lua ---> delete the following part:

if _OPTIONS["targetos"]=="macosx" then
		files {
			MAME_DIR .. "src/osd/modules/debugger/debugosx.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/breakpointsview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/consoleview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugcommandhistory.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugconsole.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugwindowhandler.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/deviceinfoviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/devicesviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/disassemblyview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/errorlogviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/memoryviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/pointsviewer.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/registersview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/registersview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.mm",
			MAME_DIR .. "src/osd/modules/debugger/osx/watchpointsview.h",
			MAME_DIR .. "src/osd/modules/debugger/osx/debugosx.h",
		}
	end


SOURCE modifications:

Code
In all the following drivers (and in them only) I had to multiplicate by 1000 the clocks and then modify the units from MHz to kHz

src/mame/drivers/akkaarrh.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/firetrk.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/flyball.cpp ---> static constexpr XTAL MASTER_CLOCK  = 12096_kHz_XTAL;

src/mame/drivers/quantum.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/quizshow.cpp ---> static constexpr XTAL MASTER_CLOCK  = 12096_kHz_XTAL;

src/mame/drivers/sbrkout.cpp ---> static constexpr XTAL MAIN_CLOCK    = 12096_kHz_XTAL;

src/mame/drivers/tempest.cpp ---> static constexpr XTAL MASTER_CLOCK = 12096_kHz_XTAL;

src/mame/drivers/fp200.cpp ---> static constexpr XTAL MAIN_CLOCK = 6144_kHz_XTAL;

src/mame/drivers/x1.cpp ---> constexpr XTAL VDP_CLOCK    = 42954'545_kHz_XTAL;

src/mame/drivers/osborne1.cpp ---> static constexpr XTAL MAIN_CLOCK = 15974_kHz_XTAL;

src/mame/drivers/zaxxon.cpp ---> static constexpr XTAL MASTER_CLOCK  = 48660_kHz_XTAL;

src/mame/includes/galaxian.h ----> static constexpr XTAL KONAMI_SOUND_CLOCK(14318_kHz_XTAL);


After that the compile went fine until this well know and infamous error:

Code
Compiling src/osd/modules/lib/osdlib_macosx.cpp...
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32:0,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
                 from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:25:
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:115:4: error: 'vector' does not name a type; did you mean '__vector'?
    vector unsigned int         v;
    ^~~~~~
    __vector
make[2]: *** [../../../../osx_clang/obj/x32/Release/ocore_sdl/src/osd/modules/lib/osdlib_macosx.o] Error 1
make[1]: *** [ocore_sdl] Error 2
make: *** [macosx_x86] Error 2

Compiling src/osd/modules/font/font_osx.cpp...
In file included from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32:0,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:125,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from /System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:20,
                 from ../../../../../src/osd/modules/font/font_osx.cpp:16:
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:115:4: error: 'vector' does not name a type; did you mean '__vector'?
    vector unsigned int         v;
    ^~~~~~
    __vector
make[2]: *** [../../../../osx_clang/obj/x32/Release/osd_sdl/src/osd/modules/font/font_osx.o] Error 1
make[1]: *** [osd_sdl] Error 2
make[1]: *** Waiting for unfinished jobs....


Are there some other mods I need to do to overcome this issue?

Last edited by MacBox360; 03/18/20 01:37 AM.
Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117051 03/18/20 01:52 AM
Joined: Feb 2004
Posts: 2,179
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,179
C++ and Altivec C extensions are incompatible because Altivec C extensions make "vector" a qualifier keyword. GCC supports using "__vector" instead to work around this which we use in MAME itself. It's a bit harder to deal with if the system headers are doing it.

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117052 03/18/20 02:28 AM
Joined: Jan 2007
Posts: 213
M
MacBox360 Offline OP
Senior Member
OP Offline
Senior Member
M
Joined: Jan 2007
Posts: 213
Thank you! I have just disabled the vector definition in MachineExceptions.h (I will re-enable it once the build finished) and the error is gone! :-) Now let's hope everything will go ahead to the end until further errors. Crossing my fingers...

Re: Compiling SDLmame (0.219) on OSX PPC [Re: MacBox360] #117053 03/18/20 04:08 AM
Joined: Feb 2004
Posts: 2,179
Vas Crabb Offline
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,179
Editing a system header file could cause all kinds of breakage. You're very much on your own with this. Removing the "vector" keyword there will change the structure layout, which will break ABI compatibility.

Page 1 of 2 1 2

Moderated by  R. Belmont 

Who's Online Now
0 registered members (), 62 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,818
Posts116,102
Members4,915
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3