John Lightsey wrote: > I'm trying to adopt xmms-goom which has a release critical bug related to > !x86 architectures. I believe the version I've packaged fixes the problem, > but I don't have access to a !x86 machine running unstable to test it on. If > someone could download, build, and test this package I'd be very gratefull. > > http://www.nixnuts.net/xmms-goom.tar.gz > > All of the necessary files are included. If it gives you any errors during > the build process please send me a copy of the build log. One thing I see in the upstream source which will likely cause trouble is the following. File ./src/Makefile.am: CFLAGS = -O9 -g -DDATADIR=\"@XMMS_DATA_DIR@\" @XMMS_CFLAGS@ `sdl-config --cflags` And then later on in the file: zoom_filter_mmx.lo:zoom_filter_mmx.c gcc -O9 -c -funroll-all-loops -fno-schedule-insns zoom_filter_mmx.c -o z oom_filter_mmx.lo -DHAVE_MMX Those hard coded CFLAGS can't be disabled at configure time. On any architecture with optimizer sensitivities such as is often the case on less mature ports this can cause trouble. As help to convince upstream this is bad, refer them to the automake documentation. Variables reserved for the user =============================== Some `Makefile' variables are reserved by the GNU Coding Standards for the use of the "user" - the person building the package. For instance, `CFLAGS' is one such variable. Sometimes package developers are tempted to set user variables such as `CFLAGS' because it appears to make their job easier - they don't have to introduce a second variable into every target. However, the package itself should never set a user variable, particularly not to include switches which are required for proper compilation of the package. Since these variables are documented as being for the package builder, that person rightfully expects to be able to override any of these variables at build time. To get around this problem, automake introduces an automake-specific shadow variable for each user flag variable. (Shadow variables are not introduced for variables like `CC', where they would make no sense.) The shadow variable is named by prepending `AM_' to the user variable's name. For instance, the shadow variable for `YFLAGS' is `AM_YFLAGS'. Which would just cause them to want to put AM_CFLAGS = -O9 in their Makefile.am which is just as bad. Instead they should not set it at all. Comments from the list as to how to handle this problem? Bob
Attachment:
pgpKD7AUIrqg_.pgp
Description: PGP signature