Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:3847] Re: csound5

Date2003-12-30 01:22
From"Michael Gogins"
Subject[CSOUND-DEV:3847] Re: csound5
Because winmm is part of the operating system?

============================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
CsoundVST, an extended version of Csound for programming music and sound
Available at http://sourceforge.net/projects/csound/
============================================


----- Original Message ----- 
From: "John D. Ramsdell" 
To: "Csound Developers Discussion List" 
Sent: Monday, December 29, 2003 7:07 AM
Subject: [CSOUND-DEV:3835] Re: csound5


> "gogins@pipeline.com"  writes:
> 
> > John Fitch, and other Csound developers, please let me know if you
> > agree, ...
> 
> Michael,
> 
> One more comment.  Please be sure to take time to read configure.ac,
> csound/Makefile.am, and csound/csound-config.in in the csound module,
> and ask me about anything in them you find non-obvious.  The file
> configure.ac contains many changes over configure.in in the csound5
> module, and the reason for some of them may seem mysterious.  For
> example, can you guess why the presence of -lwinmm is not tested for
> by using AC_SEARCH_LIBS and AC_CHECK_LIB?
> 
> John
> 

Date2003-12-30 14:00
Fromramsdell@mitre.org (John D. Ramsdell)
Subject[CSOUND-DEV:3850] Re: csound5
"Michael Gogins"  writes:

> Because winmm is part of the operating system?

No.  It turns out that when AC_CHECK_LIB checks for the existence of
the function midiInGetNumDevs in the winmm library, it tries to
compile code of the form:

#ifdef __cplusplus
extern "C"
#endif /* __cplusplus */
char *midiInGetNumDevs();

The linking fails on Cygwin and MinGW because winmm is implemented in
C++, and it's names have been mangled.  Selecting AC_LANG(C++) does
not fix the problem, as the same code is generated.  As near as I can
tell, client C code must #include , as this is where the
name mangling is undone.

To the extent possible, I hope very much you will not have to solve
problems I've already faced, so please feel free to ask questions
about the GNU build system in the csound module.

There is one issue I did not resolve well.  In Cygwin, I've turned off
windowing support even when FLTK is available, because the compile and
link flags imported from fltk-config assume every application linked
with them has no console, which is not true in the csound module.
Perhaps the applications in the csound5 module can be modified so that
all applications linked with FLTK need no console.  In this case, the
GNU build system for the csound5 module will be straightforward.

John