Re: Modularising sound configuration

Hannu Savolainen (hannu@voxware.pp.fi)
Mon, 18 Sep 1995 22:23:01 +0300 (EET DST)


On Mon, 18 Sep 1995, Bernhard Kaindl wrote:

>
> I have to report that the modularized sound driver would not `insmod' when
> configured for using PAS16 when YM3812/OPL-3 is enabled.
>
> If PAS16 with YM3812 is configured, the functions in sound_timer.c are
> not excluded. This results in `gus_write8' as an undefined symbol in
> sound_timer.o.
> Since the Makefile linked it with "ld -r -o sound.o $(OBJS)", `insmod'
> complained with "gus_write8: wrong version", since it was undefined.
>
> Solitions: Define EXCLUDE_YM3812 by explicit answering "n" to to the
> assicoated `FM syntesizer'-question from `make config'(since this is one of
> the few which defaults to "y"), but this disables your FM syntesizer.

The right way to fix this problem is to remove some extra options from
a #if line in sound_timer.c. The current version is:

#if !defined(EXCLUDE_SEQUENCER) && (!defined(EXCLUDE_GUS) || (!defined(EXCLUDE_PAS) && !defined(EXCLUDE_YM3812)))

it should be just:

#if !defined(EXCLUDE_SEQUENCER) && !defined(EXCLUDE_GUS)

>
> - or -
>
> Apply this patch which also trimms the module to it's required size:
I don't think this kind of change is required. Unused source files
produce an empty object file so producing an intermediate library doesn't
conserve any space. Building the library just takes some extra time.

Hannu
-----------------------------
Hannu Savolainen <hannu@voxware.pp.fi>
http://personal.eunet.fi/pp/voxware/hannu.html (my home page)
http://personal.eunet.fi/pp/voxware (VoxWare's home page)