LMS-Community / slimserver-vendor

Third-party software used with Lyrion Music Server
https://lyrion.org
42 stars 68 forks source link

Finish xlocale removal, fix CPP declarations, other tidy-ups #59

Closed fsbruva closed 6 years ago

fsbruva commented 6 years ago

This is a proposed set of 8 commits, to address reported issues, and revert recent changes that break the build for old Perls.

  1. Fix ICU build on FreeBSD 11.1 The FreeBSD automake doesn't notice/care that the automake.ac file was changed by the previous patch. Fixes #57 .

  2. Remove erroneous CC/CXX/CPP declaration The previous addition of the explicit CPP declaration caused problems on MacOS, so this commit addresses that. Fixes #53 .

  3. Detect CC/CXX defined in environment Add code to use the $CC and $CXX variables in the environment or commandline.

  4. Skip tests to enable Data-Dump build with old Perl The Data::Dump module tests fail in FreeBSD jails and Perl 5.10 and below.

  5. Add trailing slash to enable build. The 'find' operation to detect the zlib headers fails on old FreeBSD without trailing slash.

  6. Skip DBI tests for really old Perl The re-enabling of tests for DBI in b3e127b introduced a regression, where the build failed with Perl 5.8.

  7. Disable asm for certain gcc, clean FreeBSD arch detect There are known issues with compiling ffmpeg with gcc 4.2, especially with asm optimizations on amd64 FreeBSD platforms. Disable all asm, and make FreeBSD arch tests more robust.

  8. This PR also includes a minor fix to comments describing the CC detection scheme for FreeBSD.

This set of commits builds successfully on:

mherger commented 6 years ago

Is FreeBSD 7.x with Perl 5.8 still relevant? Is there added complexity for this ancient platform which complicates things?

fsbruva commented 6 years ago

No, FreeBSD 7.2 is not relevant. However, it's quickest way I found to install Perl 5.8 for testing. The added complexities from using this version of FreeBSD are:

  1. find can't tolerate a missing trailing '/'
  2. It ships with gcc 4.2.1 as the stock compiler, which has always had problems with ffmpeg's asm optimizations (regardless of platform). This version of gcc was stock all the way through FreeBSD 9.x.

The added complexities from using Perl 5.8 are:

  1. Can't run the tests for DBI (my bugfix corrects a regression - these tests were always disabled before)
  2. Can't run tests for Data-Dump in a jail (like a GNU/Linux chroot)

There is no pride in authorship. Please let me know how you'd like to proceed.

fsbruva commented 6 years ago

@mherger - Are you still reviewing the changes in this PR? Would you prefer I rebase and drop the commits that correspond to 4, 5 and 6 in the PR summary?

mherger commented 6 years ago

I do review the changes. But I obviously failed in the past. And I currently don't have the bandwidth to extensively test this. Therefore I hoped one of the reporters would have chimed in.

mherger commented 6 years ago

That certainly fixed my build issues on macOS. Thanks!

fsbruva commented 6 years ago

@mherger Believe me - I completely understand. I set out to fix those first two reported issues at the beginning of the summer. blink(); blink(); Now it's September. Glad the macOS build worked.