[OpenJDK 2D-Dev] RFR: JDK-8071469 Cleanup include and exclude of sound native libraries after source code restructure

Phil Race philip.race at oracle.com
Thu Mar 15 19:13:12 UTC 2018


 > As far as I know the split was made to dynamically load 
ALSA/DirectSound stuff

Yes, I think it is something like that for Linux
ie if at runtime a dependent-but-not-essential .so was not
installed it was not fatal. I don't know to what extent this is no longer a
possible issue, or one that matters.

-phil.

On 03/15/2018 12:06 PM, Alex Menkov wrote:
>
>
> On 03/15/2018 11:44, Magnus Ihse Bursie wrote:
>> On 2018-03-15 18:23, Phil Race wrote:
>>> I wondered if that might be the case since it was a "BSD" port .. 
>>> using X11 ..
>>>
>>> Maybe we should be getting rid of them ?
>> I agree, we should delete them. I just shuffled them around in the 
>> hope that they would be useful for a potential future bsd port, but 
>> if/when that happens, we can dig them out from mercurial.
>>
>> A short explanation of how the files moved. The sound library is 
>> apparently composed of either a single library (solaris and macosx) 
>> or two libraries (linux and windows). Two building blocks, MIDI + 
>> ports and DirectAudio is used for all platforms, but they go into 
>> either the main library (libjsound) or the helper library.
>>
>> For Windows, MIDI+Ports go into libjsound, and DirectAudio go into 
>> libjsoundds. On Linux, MIDI+Ports and DirectAudio go into 
>> libjsoundalsa. On Macosx and Solaris, MIDI+Ports and DirectAudio go 
>> into the main libjsound.
>>
>> I have no idea why this split is necessary, but this is how the 
>> libraries de facto is compiled, and the code needs to match that. If 
>> it would be possible to move libjsoundds and libjsoundalsa into 
>> libjsound directly, things would be greatly simplified.
>
> As far as I know the split was made to dynamically load 
> ALSA/DirectSound stuff. If it's not available (or old unsupported 
> version is installed), libjsound stuff continues to work (in 
> pre-OpenJDK libjsound supported WaveIn/WaveOut on Windows and OSS on 
> Linux).
> For now Windows (DirectSound) libjsoundds stuff can be merged into 
> libjsound, but I'm not sure we can rely on ALSA is always available on 
> Linux (but most likely if ALSA is not available, libjsound does not 
> provide any functionality, so I suppose libjsoundalsa stuff can be 
> moved to libjsound as well)
>
> --alex
>
>>
>> /Magnus
>>
>>>
>>> -phil.
>>>
>>> On 03/15/2018 10:21 AM, Erik Joelsson wrote:
>>>> Digging a bit, those files came with the initial Macosx support. It 
>>>> doesn't look like they were ever used.
>>>>
>>>> /Erik
>>>>
>>>>
>>>> On 2018-03-15 09:53, Phil Race wrote:
>>>>> It is very hard to follow all the moved around files, but one thing
>>>>> that sticks out is there is a "bsd" directory created and I can't
>>>>> work out how the files in there are used.
>>>>> If they are for a BSD port of OpenJDK where is rest of the support 
>>>>> for that ?
>>>>>
>>>>> On 03/15/2018 07:20 AM, Erik Joelsson wrote:
>>>>>> Looks good to me. I tried cleaning this up before but failed to 
>>>>>> find a reasonable split, but this seems like a good split between 
>>>>>> common and library specific.
>>>>>>
>>>>>> /Erik
>>>>>>
>>>>>>
>>>>>> On 2018-03-14 18:12, Magnus Ihse Bursie wrote:
>>>>>>> I forgot to add the client mailing lists as recipients. Sorry. 
>>>>>>> (Not sure if "sounds" belong to "awt" or "2d".)
>>>>>
>>>>> In fact, there is a sound-specific list, which I've added.
>>>>>
>>>>> -phil.
>>>>>>>
>>>>>>> /Magnus
>>>>>>>
>>>>>>> On 2018-03-15 02:07, Magnus Ihse Bursie wrote:
>>>>>>>> From the bug description:
>>>>>>>>
>>>>>>>> Moving this to a separate bug from JDK-8055190. In 
>>>>>>>> SoundLibraries.gmk, the source code splitting is not complete. 
>>>>>>>> The directory libjsound is used to build not only libjsound but 
>>>>>>>> libjsoundalsa and libjsoundds, and thus needs a complex 
>>>>>>>> include/exclude system like before.
>>>>>>>>
>>>>>>>> I have tested this using COMPARE_BUILD. Windows and solaris are 
>>>>>>>> completely clean. On macosx, there's a binary diff (but nothing 
>>>>>>>> else) on libjsound.dylib. On linux, some offset seems to have 
>>>>>>>> changed, which caused a slight change in disass and fulldump 
>>>>>>>> for libjsound.so. I'm not quite sure what's causing it, but I'm 
>>>>>>>> convinced it's harmless.
>>>>>>>>
>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8071469
>>>>>>>> WebRev: 
>>>>>>>> http://cr.openjdk.java.net/~ihse/JDK-8071469-cleanup-sound-libs/webrev.01 
>>>>>>>>
>>>>>>>>
>>>>>>>> /Magnus
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>




More information about the build-dev mailing list