Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure, missing libraries and overwrites #4

Closed
mmitch opened this issue Jul 26, 2015 · 1 comment
Closed

configure, missing libraries and overwrites #4

mmitch opened this issue Jul 26, 2015 · 1 comment

Comments

@mmitch
Copy link
Owner

mmitch commented Jul 26, 2015

What do we want configure to do, when somebody says --enable-this and libthis.h is not available?

With the new dsound plugin, configure says it can't find the include but does honor --enable-dsound and enables it in the config. This later fails during the build:

$ ./configure --enable-dsound
[…]
checking for alsa/asoundlib.h:  ok
checking for dsound.h:  not found
checking for dsound.h in /usr/local/include:  not found
checking for pulse/simple.h:  ok
[…]
optional modules: +contrib +test -xmmsplugin
optional features: +i18n -sharedlibgbs -regparm +ssp -debug +stdout +devdsp +alsa +nas +pulse +midi +dsound
EXTRA_CFLAGS=-Wdeclaration-after-statement -fstack-protector --param=ssp-buffer-size=4 -Os -pipe -fomit-frame-pointer
EXTRA_LDFLAGS=-fstack-protector

$ make
DEP gbsinfo.c -o gbsinfo.d
DEP plugout_dsound.c -o plugout_dsound.d
plugout_dsound.c:12:22: fatal error: initguid.h: No such file or directory
 #include <initguid.h>
                      ^
compilation terminated.

We could debate whether failing the build is okay or the configure script should already fail, but at least this is consistent: Telling configure to add something that is not there will fail.

The pulse plugout (and propably alsa, too) behaves differently: When the headers are missing and --enable-pulse is given, configure silently decided to go with --disable-pulse – despite being told the opposite:

$ ./configure --enable-pulse
[…]
checking for dsound.h in /usr/local/include:  not found
checking for pulse/simple.h:  not found
checking for pulse/simple.h in /usr/local/include:  not found
checking for audio/audiolib.h:  ok
[…]
optional modules: +contrib +test -xmmsplugin
optional features: +i18n -sharedlibgbs -regparm +ssp -debug +stdout +devdsp +alsa +nas -pulse +midi
EXTRA_CFLAGS=-Wdeclaration-after-statement -fstack-protector --param=ssp-buffer-size=4 -Os -pipe -fomit-frame-pointer
EXTRA_LDFLAGS=-fstack-protector

I consider this a bug.

In the gbsplay Debian package, I have --enabled all plugouts and wanted the configure script to tell me "hey, you're missing a build dependency" during a package build in a clean environment – but instead configure disabled everything that should have been enabled and carried on - without most of the plugins.

@ranma
Copy link
Collaborator

ranma commented Jul 26, 2015

Yeah, I agree --enable-foo should fail at configure time if we detect that the build-dependencies for foo are missing.

mmitch added a commit that referenced this issue Aug 16, 2015
--enable-foo will now fail when foo is not available, see issue #4 on github
@mmitch mmitch closed this as completed Aug 23, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants